diff --git a/applications/Basecamp.desktop b/applications/Basecamp.desktop deleted file mode 100644 index 707437a..0000000 --- a/applications/Basecamp.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Basecamp -Comment=Basecamp Project Management -Exec=chromium --new-window --ozone-platform=wayland --app="https://launchpad.37signals.com" --name=Basecamp --class=Basecamp -Terminal=false -Type=Application -Icon=Basecamp -Categories=GTK; -MimeType=text/html;text/xml;application/xhtml_xml; -StartupNotify=true diff --git a/applications/HEY.desktop b/applications/HEY.desktop deleted file mode 100644 index 1f41451..0000000 --- a/applications/HEY.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=HEY -Comment=HEY Email + Calendar -Exec=chromium --new-window --ozone-platform=wayland --app="https://app.hey.com" --name=HEY --class=HEY -Terminal=false -Type=Application -Icon=HEY -Categories=GTK; -MimeType=text/html;text/xml;application/xhtml_xml; -StartupNotify=true diff --git a/applications/chromium.desktop b/applications/chromium.desktop new file mode 100644 index 0000000..5327cb5 --- /dev/null +++ b/applications/chromium.desktop @@ -0,0 +1,221 @@ +[Desktop Entry] +Version=1.0 +Name=Chromium +# Only KDE 4 seems to use GenericName, so we reuse the KDE strings. +# From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413. +GenericName=Web Browser +GenericName[ar]=متصفح الشبكة +GenericName[bg]=Уеб браузър +GenericName[ca]=Navegador web +GenericName[cs]=WWW prohlížeč +GenericName[da]=Browser +GenericName[de]=Web-Browser +GenericName[el]=Περιηγητής ιστού +GenericName[en_GB]=Web Browser +GenericName[es]=Navegador web +GenericName[et]=Veebibrauser +GenericName[fi]=WWW-selain +GenericName[fr]=Navigateur Web +GenericName[gu]=વેબ બ્રાઉઝર +GenericName[he]=דפדפן אינטרנט +GenericName[hi]=वेब ब्राउज़र +GenericName[hu]=Webböngésző +GenericName[it]=Browser Web +GenericName[ja]=ウェブブラウザ +GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ +GenericName[ko]=웹 브라우저 +GenericName[lt]=Žiniatinklio naršyklė +GenericName[lv]=Tīmekļa pārlūks +GenericName[ml]=വെബ് ബ്രൌസര്‍ +GenericName[mr]=वेब ब्राऊजर +GenericName[nb]=Nettleser +GenericName[nl]=Webbrowser +GenericName[pl]=Przeglądarka WWW +GenericName[pt]=Navegador Web +GenericName[pt_BR]=Navegador da Internet +GenericName[ro]=Navigator de Internet +GenericName[ru]=Веб-браузер +GenericName[sl]=Spletni brskalnik +GenericName[sv]=Webbläsare +GenericName[ta]=இணைய உலாவி +GenericName[th]=เว็บเบราว์เซอร์ +GenericName[tr]=Web Tarayıcı +GenericName[uk]=Навігатор Тенет +GenericName[zh_CN]=网页浏览器 +GenericName[zh_HK]=網頁瀏覽器 +GenericName[zh_TW]=網頁瀏覽器 +# Not translated in KDE, from Epiphany 2.26.1-0ubuntu1. +GenericName[bn]=ওয়েব ব্রাউজার +GenericName[fil]=Web Browser +GenericName[hr]=Web preglednik +GenericName[id]=Browser Web +GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର +GenericName[sk]=WWW prehliadač +GenericName[sr]=Интернет прегледник +GenericName[te]=మహాతల అన్వేషి +GenericName[vi]=Bộ duyệt Web +# Gnome and KDE 3 uses Comment. +Comment=Access the Internet +Comment[ar]=الدخول إلى الإنترنت +Comment[bg]=Достъп до интернет +Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন +Comment[ca]=Accedeix a Internet +Comment[cs]=Přístup k internetu +Comment[da]=Få adgang til internettet +Comment[de]=Internetzugriff +Comment[el]=Πρόσβαση στο Διαδίκτυο +Comment[en_GB]=Access the Internet +Comment[es]=Accede a Internet. +Comment[et]=Pääs Internetti +Comment[fi]=Käytä internetiä +Comment[fil]=I-access ang Internet +Comment[fr]=Accéder à Internet +Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો +Comment[he]=גישה אל האינטרנט +Comment[hi]=इंटरनेट तक पहुंच स्थापित करें +Comment[hr]=Pristup Internetu +Comment[hu]=Internetelérés +Comment[id]=Akses Internet +Comment[it]=Accesso a Internet +Comment[ja]=インターネットにアクセス +Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ +Comment[ko]=인터넷 연결 +Comment[lt]=Interneto prieiga +Comment[lv]=Piekļūt internetam +Comment[ml]=ഇന്റര്‍‌നെറ്റ് ആക്‌സസ് ചെയ്യുക +Comment[mr]=इंटरनेटमध्ये प्रवेश करा +Comment[nb]=Gå til Internett +Comment[nl]=Verbinding maken met internet +Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ +Comment[pl]=Skorzystaj z internetu +Comment[pt]=Aceder à Internet +Comment[pt_BR]=Acessar a internet +Comment[ro]=Accesaţi Internetul +Comment[ru]=Доступ в Интернет +Comment[sk]=Prístup do siete Internet +Comment[sl]=Dostop do interneta +Comment[sr]=Приступите Интернету +Comment[sv]=Gå ut på Internet +Comment[ta]=இணையத்தை அணுகுதல் +Comment[te]=ఇంటర్నెట్‌ను ఆక్సెస్ చెయ్యండి +Comment[th]=เข้าถึงอินเทอร์เน็ต +Comment[tr]=İnternet'e erişin +Comment[uk]=Доступ до Інтернету +Comment[vi]=Truy cập Internet +Comment[zh_CN]=访问互联网 +Comment[zh_HK]=連線到網際網路 +Comment[zh_TW]=連線到網際網路 +Exec=/usr/bin/chromium --ozone-platform=wayland %U +StartupNotify=true +Terminal=false +Icon=chromium +Type=Application +Categories=Network;WebBrowser; +MimeType=application/pdf;application/rdf+xml;application/rss+xml;application/xhtml+xml;application/xhtml_xml;application/xml;image/gif;image/jpeg;image/png;image/webp;text/html;text/xml;x-scheme-handler/http;x-scheme-handler/https; +Actions=new-window;new-private-window; + +[Desktop Action new-window] +Name=New Window +Name[am]=አዲስ መስኮት +Name[ar]=نافذة جديدة +Name[bg]=Нов прозорец +Name[bn]=নতুন উইন্ডো +Name[ca]=Finestra nova +Name[cs]=Nové okno +Name[da]=Nyt vindue +Name[de]=Neues Fenster +Name[el]=Νέο Παράθυρο +Name[en_GB]=New Window +Name[es]=Nueva ventana +Name[et]=Uus aken +Name[fa]=پنجره جدید +Name[fi]=Uusi ikkuna +Name[fil]=New Window +Name[fr]=Nouvelle fenêtre +Name[gu]=નવી વિંડો +Name[hi]=नई विंडो +Name[hr]=Novi prozor +Name[hu]=Új ablak +Name[id]=Jendela Baru +Name[it]=Nuova finestra +Name[iw]=חלון חדש +Name[ja]=新規ウインドウ +Name[kn]=ಹೊಸ ವಿಂಡೊ +Name[ko]=새 창 +Name[lt]=Naujas langas +Name[lv]=Jauns logs +Name[ml]=പുതിയ വിന്‍ഡോ +Name[mr]=नवीन विंडो +Name[nl]=Nieuw venster +Name[no]=Nytt vindu +Name[pl]=Nowe okno +Name[pt]=Nova janela +Name[pt_BR]=Nova janela +Name[ro]=Fereastră nouă +Name[ru]=Новое окно +Name[sk]=Nové okno +Name[sl]=Novo okno +Name[sr]=Нови прозор +Name[sv]=Nytt fönster +Name[sw]=Dirisha Jipya +Name[ta]=புதிய சாளரம் +Name[te]=క్రొత్త విండో +Name[th]=หน้าต่างใหม่ +Name[tr]=Yeni Pencere +Name[uk]=Нове вікно +Name[vi]=Cửa sổ Mới +Name[zh_CN]=新建窗口 +Name[zh_TW]=開新視窗 +Exec=/usr/bin/chromium --ozone-platform=wayland --new-window + +[Desktop Action new-private-window] +Name=New Incognito Window +Name[ar]=نافذة جديدة للتصفح المتخفي +Name[bg]=Нов прозорец „инкогнито“ +Name[bn]=নতুন ছদ্মবেশী উইন্ডো +Name[ca]=Finestra d'incògnit nova +Name[cs]=Nové anonymní okno +Name[da]=Nyt inkognitovindue +Name[de]=Neues Inkognito-Fenster +Name[el]=Νέο παράθυρο για ανώνυμη περιήγηση +Name[en_GB]=New Incognito window +Name[es]=Nueva ventana de incógnito +Name[et]=Uus inkognito aken +Name[fa]=پنجره جدید حالت ناشناس +Name[fi]=Uusi incognito-ikkuna +Name[fil]=Bagong Incognito window +Name[fr]=Nouvelle fenêtre de navigation privée +Name[gu]=નવી છુપી વિંડો +Name[hi]=नई गुप्त विंडो +Name[hr]=Novi anoniman prozor +Name[hu]=Új Inkognitóablak +Name[id]=Jendela Penyamaran baru +Name[it]=Nuova finestra di navigazione in incognito +Name[iw]=חלון חדש לגלישה בסתר +Name[ja]=新しいシークレット ウィンドウ +Name[kn]=ಹೊಸ ಅಜ್ಞಾತ ವಿಂಡೋ +Name[ko]=새 시크릿 창 +Name[lt]=Naujas inkognito langas +Name[lv]=Jauns inkognito režīma logs +Name[ml]=പുതിയ വേഷ പ്രച്ഛന്ന വിന്‍ഡോ +Name[mr]=नवीन गुप्त विंडो +Name[nl]=Nieuw incognitovenster +Name[no]=Nytt inkognitovindu +Name[pl]=Nowe okno incognito +Name[pt]=Nova janela de navegação anónima +Name[pt_BR]=Nova janela anônima +Name[ro]=Fereastră nouă incognito +Name[ru]=Новое окно в режиме инкогнито +Name[sk]=Nové okno inkognito +Name[sl]=Novo okno brez beleženja zgodovine +Name[sr]=Нови прозор за прегледање без архивирања +Name[sv]=Nytt inkognitofönster +Name[ta]=புதிய மறைநிலைச் சாளரம் +Name[te]=క్రొత్త అజ్ఞాత విండో +Name[th]=หน้าต่างใหม่ที่ไม่ระบุตัวตน +Name[tr]=Yeni Gizli pencere +Name[uk]=Нове вікно в режимі анонімного перегляду +Name[vi]=Cửa sổ ẩn danh mới +Name[zh_CN]=新建隐身窗口 +Name[zh_TW]=新增無痕式視窗 +Exec=/usr/bin/chromium --ozone-platform=wayland --new-window --incognito diff --git a/applications/avahi-discover.desktop b/applications/hidden/avahi-discover.desktop similarity index 100% rename from applications/avahi-discover.desktop rename to applications/hidden/avahi-discover.desktop diff --git a/applications/bssh.desktop b/applications/hidden/bssh.desktop similarity index 100% rename from applications/bssh.desktop rename to applications/hidden/bssh.desktop diff --git a/applications/bvnc.desktop b/applications/hidden/bvnc.desktop similarity index 100% rename from applications/bvnc.desktop rename to applications/hidden/bvnc.desktop diff --git a/applications/cmake-gui.desktop b/applications/hidden/cmake-gui.desktop similarity index 100% rename from applications/cmake-gui.desktop rename to applications/hidden/cmake-gui.desktop diff --git a/applications/dropbox.desktop b/applications/hidden/cups.desktop similarity index 100% rename from applications/dropbox.desktop rename to applications/hidden/cups.desktop diff --git a/applications/electron34.desktop b/applications/hidden/electron34.desktop similarity index 100% rename from applications/electron34.desktop rename to applications/hidden/electron34.desktop diff --git a/applications/fcitx5-configtool.desktop b/applications/hidden/fcitx5-configtool.desktop similarity index 100% rename from applications/fcitx5-configtool.desktop rename to applications/hidden/fcitx5-configtool.desktop diff --git a/applications/kbd-layout-viewer5.desktop b/applications/hidden/kbd-layout-viewer5.desktop similarity index 100% rename from applications/kbd-layout-viewer5.desktop rename to applications/hidden/kbd-layout-viewer5.desktop diff --git a/applications/kcm_fcitx5.desktop b/applications/hidden/kcm_fcitx5.desktop similarity index 100% rename from applications/kcm_fcitx5.desktop rename to applications/hidden/kcm_fcitx5.desktop diff --git a/applications/kcm_kaccounts.desktop b/applications/hidden/kcm_kaccounts.desktop similarity index 100% rename from applications/kcm_kaccounts.desktop rename to applications/hidden/kcm_kaccounts.desktop diff --git a/applications/kvantummanager.desktop b/applications/hidden/kvantummanager.desktop similarity index 100% rename from applications/kvantummanager.desktop rename to applications/hidden/kvantummanager.desktop diff --git a/applications/org.fcitx.Fcitx5.desktop b/applications/hidden/org.fcitx.Fcitx5.desktop similarity index 100% rename from applications/org.fcitx.Fcitx5.desktop rename to applications/hidden/org.fcitx.Fcitx5.desktop diff --git a/applications/org.fcitx.fcitx5-config-qt.desktop b/applications/hidden/org.fcitx.fcitx5-config-qt.desktop similarity index 100% rename from applications/org.fcitx.fcitx5-config-qt.desktop rename to applications/hidden/org.fcitx.fcitx5-config-qt.desktop diff --git a/applications/org.fcitx.fcitx5-migrator.desktop b/applications/hidden/org.fcitx.fcitx5-migrator.desktop similarity index 100% rename from applications/org.fcitx.fcitx5-migrator.desktop rename to applications/hidden/org.fcitx.fcitx5-migrator.desktop diff --git a/applications/org.fcitx.fcitx5-qt5-gui-wrapper.desktop b/applications/hidden/org.fcitx.fcitx5-qt5-gui-wrapper.desktop similarity index 100% rename from applications/org.fcitx.fcitx5-qt5-gui-wrapper.desktop rename to applications/hidden/org.fcitx.fcitx5-qt5-gui-wrapper.desktop diff --git a/applications/org.fcitx.fcitx5-qt6-gui-wrapper.desktop b/applications/hidden/org.fcitx.fcitx5-qt6-gui-wrapper.desktop similarity index 100% rename from applications/org.fcitx.fcitx5-qt6-gui-wrapper.desktop rename to applications/hidden/org.fcitx.fcitx5-qt6-gui-wrapper.desktop diff --git a/applications/qv4l2.desktop b/applications/hidden/qv4l2.desktop similarity index 100% rename from applications/qv4l2.desktop rename to applications/hidden/qv4l2.desktop diff --git a/applications/qvidcap.desktop b/applications/hidden/qvidcap.desktop similarity index 100% rename from applications/qvidcap.desktop rename to applications/hidden/qvidcap.desktop diff --git a/applications/xgps.desktop b/applications/hidden/xgps.desktop similarity index 100% rename from applications/xgps.desktop rename to applications/hidden/xgps.desktop diff --git a/applications/xgpsspeed.desktop b/applications/hidden/xgpsspeed.desktop similarity index 100% rename from applications/xgpsspeed.desktop rename to applications/hidden/xgpsspeed.desktop diff --git a/applications/icons/Basecamp.png b/applications/icons/Basecamp.png deleted file mode 100644 index 3edec48..0000000 Binary files a/applications/icons/Basecamp.png and /dev/null differ diff --git a/applications/icons/HEY.png b/applications/icons/HEY.png deleted file mode 100644 index 3ac92d9..0000000 Binary files a/applications/icons/HEY.png and /dev/null differ diff --git a/applications/Zoom.desktop b/applications/xtras/Zoom.desktop similarity index 100% rename from applications/Zoom.desktop rename to applications/xtras/Zoom.desktop diff --git a/applications/xtras/dropbox.desktop b/applications/xtras/dropbox.desktop new file mode 100644 index 0000000..e1e3e17 --- /dev/null +++ b/applications/xtras/dropbox.desktop @@ -0,0 +1,2 @@ +[Desktop Entry] +Hidden=true diff --git a/bin/omarchy-battery-monitor b/bin/omarchy-battery-monitor new file mode 100755 index 0000000..6ac71cb --- /dev/null +++ b/bin/omarchy-battery-monitor @@ -0,0 +1,30 @@ +#!/bin/bash + +# Designed to be run by systemd timer every 30 seconds and alerts if battery is low + +BATTERY_THRESHOLD=10 +NOTIFICATION_FLAG="/run/user/$UID/omarchy_battery_notified" + +get_battery_percentage() { + upower -i $(upower -e | grep 'BAT') | grep -E "percentage" | grep -o '[0-9]\+%' | sed 's/%//' +} + +get_battery_state() { + upower -i $(upower -e | grep 'BAT') | grep -E "state" | awk '{print $2}' +} + +send_notification() { + notify-send -u critical "Battery Low" "Time to recharge! (battery is at ${1}%)" -i battery-caution +} + +BATTERY_LEVEL=$(get_battery_percentage) +BATTERY_STATE=$(get_battery_state) + +if [[ "$BATTERY_STATE" == "discharging" && "$BATTERY_LEVEL" -le "$BATTERY_THRESHOLD" ]]; then + if [[ ! -f "$NOTIFICATION_FLAG" ]]; then + send_notification "$BATTERY_LEVEL" + touch "$NOTIFICATION_FLAG" + fi +else + rm -f "$NOTIFICATION_FLAG" +fi diff --git a/bin/omarchy-config-link b/bin/omarchy-config-link index 9b24526..c2dc8f0 100755 --- a/bin/omarchy-config-link +++ b/bin/omarchy-config-link @@ -3,5 +3,6 @@ # Link all the key config files to omarchy's internal versions for quicker testing ln -nsf ~/.local/share/omarchy/config/hypr/hyprland.conf ~/.config/hypr/ ln -nsf ~/.local/share/omarchy/config/hypr/hypridle.conf ~/.config/hypr/ +ln -nsf ~/.local/share/omarchy/config/hypr/hyprlock.conf ~/.config/hypr/ ln -nsf ~/.local/share/omarchy/config/waybar/config ~/.config/waybar/ ln -nsf ~/.local/share/omarchy/config/wofi/config ~/.config/wofi/ diff --git a/bin/omarchy-sync-applications b/bin/omarchy-sync-applications index 65fb779..6f8c6b1 100755 --- a/bin/omarchy-sync-applications +++ b/bin/omarchy-sync-applications @@ -8,4 +8,10 @@ gtk-update-icon-cache ~/.local/share/icons/hicolor &>/dev/null # Copy .desktop declarations mkdir -p ~/.local/share/applications cp ~/.local/share/omarchy/applications/*.desktop ~/.local/share/applications/ +cp ~/.local/share/omarchy/applications/hidden/*.desktop ~/.local/share/applications/ + +if [ -z "$OMARCHY_BARE" ]; then + cp ~/.local/share/omarchy/applications/xtras/*.desktop ~/.local/share/applications/ +fi + update-desktop-database ~/.local/share/applications diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf index fe07406..37223da 100644 --- a/config/hypr/hyprland.conf +++ b/config/hypr/hyprland.conf @@ -3,31 +3,33 @@ # Change your personal monitor setup in here to keep the main config portable source = ~/.config/hypr/monitors.conf -# Default applications -$terminal = alacritty -$fileManager = nautilus --new-window -$browser = chromium --new-window --ozone-platform=wayland -$music = spotify -$passwordManager = 1password -$messenger = signal-desktop -$webapp = $browser --app - # Use defaults Omarchy defaults source = ~/.local/share/omarchy/default/hypr/autostart.conf -source = ~/.local/share/omarchy/default/hypr/bindings.conf +source = ~/.local/share/omarchy/default/hypr/bindings/media.conf +source = ~/.local/share/omarchy/default/hypr/bindings/tiling.conf +source = ~/.local/share/omarchy/default/hypr/bindings/utilities.conf source = ~/.local/share/omarchy/default/hypr/envs.conf source = ~/.local/share/omarchy/default/hypr/looknfeel.conf source = ~/.local/share/omarchy/default/hypr/input.conf source = ~/.local/share/omarchy/default/hypr/windows.conf source = ~/.config/omarchy/current/theme/hyprland.conf -# Extra autostart processes (uncomment to run Dropbox) -# exec-once = dropbox-cli start +# Application bindings +$terminal = alacritty +$browser = chromium --new-window --ozone-platform=wayland +$webapp = $browser --app -# Extra env variables -# env = MY_GLOBAL_ENV,setting +bind = SUPER, return, exec, $terminal +bind = SUPER, F, exec, nautilus --new-window +bind = SUPER, B, exec, $browser +bind = SUPER, M, exec, spotify +bind = SUPER, N, exec, $terminal -e nvim +bind = SUPER, T, exec, $terminal -e btop +bind = SUPER, D, exec, $terminal -e lazydocker +bind = SUPER, G, exec, signal-desktop +bind = SUPER, O, exec, obsidian -disable-gpu +bind = SUPER, slash, exec, 1password -# Extra bindings (overwrite existing binding with: unbind = SUPER, O) bind = SUPER, A, exec, $webapp="https://chatgpt.com" bind = SUPER SHIFT, A, exec, $webapp="https://grok.com" bind = SUPER, C, exec, $webapp="https://app.hey.com/calendar/weeks/" @@ -38,6 +40,12 @@ bind = SUPER ALT, G, exec, $webapp="https://messages.google.com/web/conversation bind = SUPER, X, exec, $webapp="https://x.com/" bind = SUPER SHIFT, X, exec, $webapp="https://x.com/compose/post" +# Extra autostart processes +# exec-once = dropbox-cli start + +# Extra env variables +# env = MY_GLOBAL_ENV,setting + # Control your input devices # See https://wiki.hypr.land/Configuring/Variables/#input input { diff --git a/config/hypr/hyprlock.conf b/config/hypr/hyprlock.conf index e84e35b..d24ae2e 100644 --- a/config/hypr/hyprlock.conf +++ b/config/hypr/hyprlock.conf @@ -2,6 +2,8 @@ # Hyprlock — minimal blur with ringed input # ──────────────────────────────────────────────────────────── +source = ~/.config/omarchy/current/theme/hyprlock.conf + general { disable_loading_bar = true no_fade_in = false @@ -9,7 +11,7 @@ general { background { monitor = - color = rgba(26,27,38,1.0) # #1a1b26 solid color + color = $color } animations { @@ -23,17 +25,17 @@ input-field { halign = center valign = center - inner_color = rgba(26,27,38,0.8) # #1a1b26 with opacity - outer_color = rgba(205,214,244,1.0) # #cdd6f4 + inner_color = $inner_color + outer_color = $outer_color outline_thickness = 4 font_family = CaskaydiaMono Nerd Font font_size = 32 - font_color = rgba(205,214,244,1.0) + font_color = $font_color - placeholder_color = rgba(205,214,244,0.6) + placeholder_color = $placeholder_color placeholder_text =   Enter Password 󰈷  - check_color = rgba(68, 157, 171, 1.0) + check_color = $check_color fail_text = Wrong rounding = 0 diff --git a/config/hypr/monitors.conf b/config/hypr/monitors.conf index d48ae12..8325e21 100644 --- a/config/hypr/monitors.conf +++ b/config/hypr/monitors.conf @@ -1,7 +1,7 @@ # See https://wiki.hyprland.org/Configuring/Monitors/ # Change to 1 if on a 1x display (then change last "auto" to 1 in monitor=) -# Change to 1.75 for fractional scaling +# Change to something like 1.75 for fractional scaling (can work well with 1.66667 monitor scaling) env = GDK_SCALE,2 # Use single default monitor (see all monitors with: hyprctl monitors) diff --git a/config/systemd/user/omarchy-battery-monitor.service b/config/systemd/user/omarchy-battery-monitor.service new file mode 100644 index 0000000..3c47283 --- /dev/null +++ b/config/systemd/user/omarchy-battery-monitor.service @@ -0,0 +1,8 @@ +[Unit] +Description=Omarchy Battery Monitor Check +After=graphical-session.target + +[Service] +Type=oneshot +ExecStart=%h/.local/share/omarchy/bin/omarchy-battery-monitor +Environment=DISPLAY=:0 \ No newline at end of file diff --git a/config/systemd/user/omarchy-battery-monitor.timer b/config/systemd/user/omarchy-battery-monitor.timer new file mode 100644 index 0000000..dc43763 --- /dev/null +++ b/config/systemd/user/omarchy-battery-monitor.timer @@ -0,0 +1,11 @@ +[Unit] +Description=Omarchy Battery Monitor Timer +Requires=omarchy-battery-monitor.service + +[Timer] +OnBootSec=1min +OnUnitActiveSec=30sec +AccuracySec=10sec + +[Install] +WantedBy=timers.target \ No newline at end of file diff --git a/config/waybar/config b/config/waybar/config index f2585b2..86cb205 100644 --- a/config/waybar/config +++ b/config/waybar/config @@ -76,7 +76,7 @@ "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹" ] }, - "format-full": "Charged ", + "format-full": "󰂅", "tooltip-format-discharging": "{power:>1.0f}W↓ {capacity}%", "tooltip-format-charging": "{power:>1.0f}W↑ {capacity}%", "interval": 5, diff --git a/config/waybar/style.css b/config/waybar/style.css index 672536a..5762928 100644 --- a/config/waybar/style.css +++ b/config/waybar/style.css @@ -2,7 +2,7 @@ border: none; border-radius: 0; min-height: 0; - font-family: CaskaydiaMono Nerd Font; + font-family: CaskaydiaMono Nerd Font Propo; font-size: 12px; } diff --git a/default/bash/inputrc b/default/bash/inputrc index 6e4bb8a..11146d6 100644 --- a/default/bash/inputrc +++ b/default/bash/inputrc @@ -28,14 +28,12 @@ set completion-query-items 200 # Show extra file information when completing, like `ls -F` does set visible-stats on -$if Bash - # Be more intelligent when autocompleting by also looking at the text after - # the cursor. For example, when the current line is "cd ~/src/mozil", and - # the cursor is on the "z", pressing Tab will not autocomplete it to "cd - # ~/src/mozillail", but to "cd ~/src/mozilla". (This is supported by the - # Readline used by Bash 4.) - set skip-completed-text on +# Be more intelligent when autocompleting by also looking at the text after +# the cursor. For example, when the current line is "cd ~/src/mozil", and +# the cursor is on the "z", pressing Tab will not autocomplete it to "cd +# ~/src/mozillail", but to "cd ~/src/mozilla". (This is supported by the +# Readline used by Bash 4.) +set skip-completed-text on - # Coloring for Bash 4 tab completions. - set colored-stats on -$endif +# Coloring for Bash 4 tab completions. +set colored-stats on diff --git a/default/bash/rc b/default/bash/rc index 6c9e1d2..e8ba051 100644 --- a/default/bash/rc +++ b/default/bash/rc @@ -4,3 +4,4 @@ source ~/.local/share/omarchy/default/bash/functions source ~/.local/share/omarchy/default/bash/prompt source ~/.local/share/omarchy/default/bash/init source ~/.local/share/omarchy/default/bash/envs +bind -f ~/.local/share/omarchy/default/bash/inputrc diff --git a/default/hypr/autostart.conf b/default/hypr/autostart.conf index 4bc01c3..4643b8d 100644 --- a/default/hypr/autostart.conf +++ b/default/hypr/autostart.conf @@ -1,4 +1,4 @@ exec-once = hypridle & mako & waybar & fcitx5 exec-once = swaybg -i ~/.config/omarchy/current/background -m fill exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 -exec-once = wl-clip-persist --clipboard regular +exec-once = wl-clip-persist --clipboard regular --all-mime-type-regex '^(?!x-kde-passwordManagerHint).+' diff --git a/default/hypr/bindings.conf b/default/hypr/bindings.conf index 6f22bc0..15bfb20 100644 --- a/default/hypr/bindings.conf +++ b/default/hypr/bindings.conf @@ -1,4 +1,5 @@ -# Start default apps +# Deprecated bindings file. New installations include everything directly. + bind = SUPER, return, exec, $terminal bind = SUPER, F, exec, $fileManager bind = SUPER, B, exec, $browser @@ -10,104 +11,6 @@ bind = SUPER, G, exec, $messenger bind = SUPER, O, exec, obsidian -disable-gpu bind = SUPER, slash, exec, $passwordManager -bind = SUPER, space, exec, pkill wofi || wofi --show drun --sort-order=alphabetical --style="$HOME/.local/share/omarchy/default/wofi/search.css" - -bind = SUPER SHIFT, SPACE, exec, pkill -SIGUSR1 waybar -bind = SUPER CTRL, SPACE, exec, ~/.local/share/omarchy/bin/swaybg-next -bind = SUPER SHIFT CTRL, SPACE, exec, ~/.local/share/omarchy/bin/omarchy-theme-next -bind = SUPER, K, exec, ~/.local/share/omarchy/bin/omarchy-show-keybindings - -# Notifications -bind = SUPER, comma, exec, makoctl dismiss -bind = SUPER SHIFT, comma, exec, makoctl dismiss --all -bind = SUPER CTRL, comma, exec, makoctl mode -t do-not-disturb && makoctl mode | grep -q 'do-not-disturb' && notify-send "Silenced notifications" || notify-send "Enabled notifications" - -bind = SUPER, W, killactive, - -# Power menu controls lock, suspend, relaunch, restart, shutdown -bind = SUPER, ESCAPE, exec, ~/.local/share/omarchy/bin/omarchy-power-menu - -# Toggle idling -bind = SUPER CTRL, I, exec, ~/.local/share/omarchy/bin/omarchy-toggle-idle - -# Control tiling -bind = SUPER, J, togglesplit, # dwindle -bind = SUPER, P, pseudo, # dwindle -bind = SUPER, V, togglefloating, - -# Move focus with mainMod + arrow keys -bind = SUPER, left, movefocus, l -bind = SUPER, right, movefocus, r -bind = SUPER, up, movefocus, u -bind = SUPER, down, movefocus, d - -# Switch workspaces with mainMod + [0-9] -bind = SUPER, code:10, workspace, 1 -bind = SUPER, code:11, workspace, 2 -bind = SUPER, code:12, workspace, 3 -bind = SUPER, code:13, workspace, 4 -bind = SUPER, code:14, workspace, 5 -bind = SUPER, code:15, workspace, 6 -bind = SUPER, code:16, workspace, 7 -bind = SUPER, code:17, workspace, 8 -bind = SUPER, code:18, workspace, 9 -bind = SUPER, code:19, workspace, 10 - -# Move active window to a workspace with mainMod + SHIFT + [0-9] -bind = SUPER SHIFT, code:10, movetoworkspace, 1 -bind = SUPER SHIFT, code:11, movetoworkspace, 2 -bind = SUPER SHIFT, code:12, movetoworkspace, 3 -bind = SUPER SHIFT, code:13, movetoworkspace, 4 -bind = SUPER SHIFT, code:14, movetoworkspace, 5 -bind = SUPER SHIFT, code:15, movetoworkspace, 6 -bind = SUPER SHIFT, code:16, movetoworkspace, 7 -bind = SUPER SHIFT, code:17, movetoworkspace, 8 -bind = SUPER SHIFT, code:18, movetoworkspace, 9 -bind = SUPER SHIFT, code:19, movetoworkspace, 10 - -# Swap active window with the one next to it with mainMod + SHIFT + arrow keys -bind = SUPER SHIFT, left, swapwindow, l -bind = SUPER SHIFT, right, swapwindow, r -bind = SUPER SHIFT, up, swapwindow, u -bind = SUPER SHIFT, down, swapwindow, d - -# Resize active window -bind = SUPER, minus, resizeactive, -100 0 -bind = SUPER, equal, resizeactive, 100 0 -bind = SUPER SHIFT, minus, resizeactive, 0 -100 -bind = SUPER SHIFT, equal, resizeactive, 0 100 - -# Scroll through existing workspaces with mainMod + scroll -bind = SUPER, mouse_down, workspace, e+1 -bind = SUPER, mouse_up, workspace, e-1 - -# Move/resize windows with mainMod + LMB/RMB and dragging -bindm = SUPER, mouse:272, movewindow -bindm = SUPER, mouse:273, resizewindow - -# Laptop multimedia keys for volume and LCD brightness -bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ -bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- -bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle -bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle -bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+ -bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%- - -# Control Apple Display brightness -bind = CTRL, F1, exec, ~/.local/share/omarchy/bin/apple-display-brightness -5000 -bind = CTRL, F2, exec, ~/.local/share/omarchy/bin/apple-display-brightness +5000 -bind = SHIFT CTRL, F2, exec, ~/.local/share/omarchy/bin/apple-display-brightness +60000 - -# Requires playerctl -bindl = , XF86AudioNext, exec, playerctl next -bindl = , XF86AudioPause, exec, playerctl play-pause -bindl = , XF86AudioPlay, exec, playerctl play-pause -bindl = , XF86AudioPrev, exec, playerctl previous - -# Screenshots -bind = , PRINT, exec, hyprshot -m region -bind = SHIFT, PRINT, exec, hyprshot -m window -bind = CTRL, PRINT, exec, hyprshot -m output - -# Color picker -bind = SUPER, PRINT, exec, hyprpicker -a +source = ~/.local/share/omarchy/default/hypr/bindings/media.conf +source = ~/.local/share/omarchy/default/hypr/bindings/tiling.conf +source = ~/.local/share/omarchy/default/hypr/bindings/utilities.conf diff --git a/default/hypr/bindings/media.conf b/default/hypr/bindings/media.conf new file mode 100644 index 0000000..a70d8d6 --- /dev/null +++ b/default/hypr/bindings/media.conf @@ -0,0 +1,13 @@ +# Laptop multimedia keys for volume and LCD brightness +bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ +bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- +bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle +bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+ +bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%- + +# Requires playerctl +bindl = , XF86AudioNext, exec, playerctl next +bindl = , XF86AudioPause, exec, playerctl play-pause +bindl = , XF86AudioPlay, exec, playerctl play-pause +bindl = , XF86AudioPrev, exec, playerctl previous diff --git a/default/hypr/bindings/tiling.conf b/default/hypr/bindings/tiling.conf new file mode 100644 index 0000000..6dcc37a --- /dev/null +++ b/default/hypr/bindings/tiling.conf @@ -0,0 +1,58 @@ +# Close window +bind = SUPER, W, killactive, + +# Control tiling +bind = SUPER, J, togglesplit, # dwindle +bind = SUPER, P, pseudo, # dwindle +bind = SUPER, V, togglefloating, + +# Move focus with mainMod + arrow keys +bind = SUPER, left, movefocus, l +bind = SUPER, right, movefocus, r +bind = SUPER, up, movefocus, u +bind = SUPER, down, movefocus, d + +# Switch workspaces with mainMod + [0-9] +bind = SUPER, code:10, workspace, 1 +bind = SUPER, code:11, workspace, 2 +bind = SUPER, code:12, workspace, 3 +bind = SUPER, code:13, workspace, 4 +bind = SUPER, code:14, workspace, 5 +bind = SUPER, code:15, workspace, 6 +bind = SUPER, code:16, workspace, 7 +bind = SUPER, code:17, workspace, 8 +bind = SUPER, code:18, workspace, 9 +bind = SUPER, code:19, workspace, 10 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = SUPER SHIFT, code:10, movetoworkspace, 1 +bind = SUPER SHIFT, code:11, movetoworkspace, 2 +bind = SUPER SHIFT, code:12, movetoworkspace, 3 +bind = SUPER SHIFT, code:13, movetoworkspace, 4 +bind = SUPER SHIFT, code:14, movetoworkspace, 5 +bind = SUPER SHIFT, code:15, movetoworkspace, 6 +bind = SUPER SHIFT, code:16, movetoworkspace, 7 +bind = SUPER SHIFT, code:17, movetoworkspace, 8 +bind = SUPER SHIFT, code:18, movetoworkspace, 9 +bind = SUPER SHIFT, code:19, movetoworkspace, 10 + +# Swap active window with the one next to it with mainMod + SHIFT + arrow keys +bind = SUPER SHIFT, left, swapwindow, l +bind = SUPER SHIFT, right, swapwindow, r +bind = SUPER SHIFT, up, swapwindow, u +bind = SUPER SHIFT, down, swapwindow, d + +# Resize active window +bind = SUPER, minus, resizeactive, -100 0 +bind = SUPER, equal, resizeactive, 100 0 +bind = SUPER SHIFT, minus, resizeactive, 0 -100 +bind = SUPER SHIFT, equal, resizeactive, 0 100 + +# Scroll through existing workspaces with mainMod + scroll +bind = SUPER, mouse_down, workspace, e+1 +bind = SUPER, mouse_up, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = SUPER, mouse:272, movewindow +bindm = SUPER, mouse:273, resizewindow + diff --git a/default/hypr/bindings/utilities.conf b/default/hypr/bindings/utilities.conf new file mode 100644 index 0000000..0e6b1b7 --- /dev/null +++ b/default/hypr/bindings/utilities.conf @@ -0,0 +1,32 @@ +# Launching +bind = SUPER, space, exec, pkill wofi || wofi --show drun --sort-order=alphabetical --style="$HOME/.local/share/omarchy/default/wofi/search.css" +bind = SUPER, K, exec, ~/.local/share/omarchy/bin/omarchy-show-keybindings + +# Aesthetics +bind = SUPER SHIFT, SPACE, exec, pkill -SIGUSR1 waybar +bind = SUPER CTRL, SPACE, exec, ~/.local/share/omarchy/bin/swaybg-next +bind = SUPER SHIFT CTRL, SPACE, exec, ~/.local/share/omarchy/bin/omarchy-theme-next + +# Notifications +bind = SUPER, comma, exec, makoctl dismiss +bind = SUPER SHIFT, comma, exec, makoctl dismiss --all +bind = SUPER CTRL, comma, exec, makoctl mode -t do-not-disturb && makoctl mode | grep -q 'do-not-disturb' && notify-send "Silenced notifications" || notify-send "Enabled notifications" + +# Power menu controls lock, suspend, relaunch, restart, shutdown +bind = SUPER, ESCAPE, exec, ~/.local/share/omarchy/bin/omarchy-power-menu + +# Toggle idling +bind = SUPER CTRL, I, exec, ~/.local/share/omarchy/bin/omarchy-toggle-idle + +# Control Apple Display brightness +bind = CTRL, F1, exec, ~/.local/share/omarchy/bin/apple-display-brightness -5000 +bind = CTRL, F2, exec, ~/.local/share/omarchy/bin/apple-display-brightness +5000 +bind = SHIFT CTRL, F2, exec, ~/.local/share/omarchy/bin/apple-display-brightness +60000 + +# Screenshots +bind = , PRINT, exec, hyprshot -m region +bind = SHIFT, PRINT, exec, hyprshot -m window +bind = CTRL, PRINT, exec, hyprshot -m output + +# Color picker +bind = SUPER, PRINT, exec, hyprpicker -a diff --git a/default/hypr/envs.conf b/default/hypr/envs.conf index d978293..34343d8 100644 --- a/default/hypr/envs.conf +++ b/default/hypr/envs.conf @@ -15,9 +15,6 @@ xwayland { force_zero_scaling = true } -# Make Chromium use XCompose and all Wayland -env = CHROMIUM_FLAGS,"--enable-features=UseOzonePlatform --ozone-platform=wayland --gtk-version=4" - # Make .desktop files available for wofi env = XDG_DATA_DIRS,/usr/share:/usr/local/share:~/.local/share diff --git a/install/asdcontrol.sh b/install/asdcontrol.sh index ae840bd..3b8548e 100644 --- a/install/asdcontrol.sh +++ b/install/asdcontrol.sh @@ -1,5 +1,5 @@ # Install asdcontrol for controlling brightness on Apple Displays -if ! command -v asdcontrol &>/dev/null; then +if [ -z "$OMARCHY_BARE" ] && ! command -v asdcontrol &>/dev/null; then git clone https://github.com/nikosdion/asdcontrol.git /tmp/asdcontrol cd /tmp/asdcontrol make diff --git a/install/desktop.sh b/install/desktop.sh index 91ad2da..22bd40a 100644 --- a/install/desktop.sh +++ b/install/desktop.sh @@ -1,9 +1,6 @@ yay -S --noconfirm --needed \ brightnessctl playerctl pamixer pavucontrol wireplumber \ - fcitx5 fcitx5-gtk fcitx5-qt fcitx5-configtool \ - wl-clip-persist \ - nautilus sushi ffmpegthumbnailer gnome-calculator \ - 1password-beta 1password-cli gnome-keyring \ - chromium mpv \ - evince imv \ - localsend-bin + fcitx5 fcitx5-gtk fcitx5-qt fcitx5-configtool wl-clip-persist \ + nautilus sushi ffmpegthumbnailer \ + mpv evince imv \ + chromium diff --git a/install/fix-fkeys.sh b/install/fix-fkeys.sh index 64f187c..40b5d93 100644 --- a/install/fix-fkeys.sh +++ b/install/fix-fkeys.sh @@ -1,4 +1,6 @@ if [[ ! -f /etc/modprobe.d/hid_apple.conf ]]; then echo "options hid_apple fnmode=2" | sudo tee /etc/modprobe.d/hid_apple.conf - sudo mkinitcpio -P + + # Rely on install/plymouth.sh to do the rebuild + # sudo mkinitcpio -P fi diff --git a/install/fonts.sh b/install/fonts.sh index 6a08e3b..1b04eb5 100644 --- a/install/fonts.sh +++ b/install/fonts.sh @@ -1,4 +1,8 @@ -yay -Sy --noconfirm --needed ttf-font-awesome noto-fonts noto-fonts-emoji noto-fonts-cjk noto-fonts-extra +if [ -z "$OMARCHY_BARE" ]; then + yay -Sy --noconfirm --needed ttf-font-awesome noto-fonts noto-fonts-emoji noto-fonts-cjk noto-fonts-extra +else + yay -Sy --noconfirm --needed ttf-font-awesome noto-fonts noto-fonts-emoji +fi mkdir -p ~/.local/share/fonts @@ -10,6 +14,10 @@ if ! fc-list | grep -qi "CaskaydiaMono Nerd Font"; then cp CascadiaFont/CaskaydiaMonoNerdFont-Bold.ttf ~/.local/share/fonts cp CascadiaFont/CaskaydiaMonoNerdFont-Italic.ttf ~/.local/share/fonts cp CascadiaFont/CaskaydiaMonoNerdFont-BoldItalic.ttf ~/.local/share/fonts + cp CascadiaFont/CaskaydiaMonoNerdFontPropo-Regular.ttf ~/.local/share/fonts + cp CascadiaFont/CaskaydiaMonoNerdFontPropo-Bold.ttf ~/.local/share/fonts + cp CascadiaFont/CaskaydiaMonoNerdFontPropo-Italic.ttf ~/.local/share/fonts + cp CascadiaFont/CaskaydiaMonoNerdFontPropo-BoldItalic.ttf ~/.local/share/fonts rm -rf CascadiaMono.zip CascadiaFont fc-cache cd - diff --git a/install/power.sh b/install/power.sh index c7f458f..0ae0c0c 100644 --- a/install/power.sh +++ b/install/power.sh @@ -5,6 +5,9 @@ yay -S --noconfirm power-profiles-daemon if ls /sys/class/power_supply/BAT* &>/dev/null; then # This computer runs on a battery powerprofilesctl set balanced || true + + # Enable battery monitoring timer for low battery notifications + systemctl --user enable --now omarchy-battery-monitor.timer || true else # This computer runs on power outlet powerprofilesctl set performance || true diff --git a/install/theme.sh b/install/theme.sh index 15e2033..989ad5c 100644 --- a/install/theme.sh +++ b/install/theme.sh @@ -18,7 +18,6 @@ ln -snf ~/.config/omarchy/backgrounds/tokyo-night ~/.config/omarchy/current/back ln -snf ~/.config/omarchy/current/backgrounds/1-Pawel-Czerwinski-Abstract-Purple-Blue.jpg ~/.config/omarchy/current/background # Set specific app links for current theme -ln -snf ~/.config/omarchy/current/theme/hyprlock.conf ~/.config/hypr/hyprlock.conf ln -snf ~/.config/omarchy/current/theme/wofi.css ~/.config/wofi/style.css ln -snf ~/.config/omarchy/current/theme/neovim.lua ~/.config/nvim/lua/plugins/theme.lua mkdir -p ~/.config/btop/themes diff --git a/install/webapps.sh b/install/webapps.sh index befdaec..21e1d13 100644 --- a/install/webapps.sh +++ b/install/webapps.sh @@ -1,9 +1,13 @@ -source ~/.local/share/omarchy/default/bash/functions -web2app "WhatsApp" https://web.whatsapp.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/whatsapp.png -web2app "Google Photos" https://photos.google.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/google-photos.png -web2app "Google Contacts" https://contacts.google.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/google-contacts.png -web2app "Google Messages" https://messages.google.com/web/conversations https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/google-messages.png -web2app "ChatGPT" https://chatgpt.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/chatgpt.png -web2app "YouTube" https://youtube.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/youtube.png -web2app "GitHub" https://github.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/github-light.png -web2app "X" https://x.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/x-light.png +if [ -z "$OMARCHY_BARE" ]; then + source ~/.local/share/omarchy/default/bash/functions + web2app "HEY" https://app.hey.com https://www.hey.com/assets/images/general/hey.png + web2app "Basecamp" https://launchpad.37signals.com https://basecamp.com/assets/images/general/basecamp.png + web2app "WhatsApp" https://web.whatsapp.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/whatsapp.png + web2app "Google Photos" https://photos.google.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/google-photos.png + web2app "Google Contacts" https://contacts.google.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/google-contacts.png + web2app "Google Messages" https://messages.google.com/web/conversations https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/google-messages.png + web2app "ChatGPT" https://chatgpt.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/chatgpt.png + web2app "YouTube" https://youtube.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/youtube.png + web2app "GitHub" https://github.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/github-light.png + web2app "X" https://x.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/x-light.png +fi diff --git a/install/xtras.sh b/install/xtras.sh index ba83bc1..c4272e8 100644 --- a/install/xtras.sh +++ b/install/xtras.sh @@ -1,7 +1,11 @@ -yay -S --noconfirm --needed \ - signal-desktop spotify dropbox-cli zoom \ - obsidian-bin typora libreoffice obs-studio kdenlive \ - pinta xournalpp +if [ -z "$OMARCHY_BARE" ]; then + yay -S --noconfirm --needed \ + gnome-calculator \ + signal-desktop spotify dropbox-cli zoom \ + obsidian-bin typora libreoffice obs-studio kdenlive \ + 1password-beta 1password-cli gnome-keyring \ + pinta xournalpp localsend-bin +fi # Copy over Omarchy applications source ~/.local/share/omarchy/bin/omarchy-sync-applications || true diff --git a/migrations/1752081300.sh b/migrations/1752081300.sh deleted file mode 100644 index 855297d..0000000 --- a/migrations/1752081300.sh +++ /dev/null @@ -1,9 +0,0 @@ -echo "Switching system authentication prompt to dark mode" -if [[ ! -f ~/.config/systemd/user/hyprpolkitagent.service.d/override.conf ]]; then - source ~/.local/share/omarchy/install/hyprpolkitagent.sh - - # Reload user systemd and restart service - systemctl --user daemon-reexec - systemctl --user daemon-reload - systemctl --user restart hyprpolkitagent -fi diff --git a/migrations/1752153188.sh b/migrations/1752153188.sh new file mode 100644 index 0000000..fca5ebf --- /dev/null +++ b/migrations/1752153188.sh @@ -0,0 +1,5 @@ +echo "Migrate to the modular implementation of hyprlock" +if [ -L ~/.config/hypr/hyprlock.conf ]; then + rm ~/.config/hypr/hyprlock.conf + cp ~/.local/share/omarchy/config/hypr/hyprlock.conf ~/.config/hypr/hyprlock.conf +fi diff --git a/migrations/1752168292.sh b/migrations/1752168292.sh new file mode 100755 index 0000000..188d50f --- /dev/null +++ b/migrations/1752168292.sh @@ -0,0 +1,14 @@ +echo "Enable battery low notifications for laptops" + +if ls /sys/class/power_supply/BAT* &>/dev/null; then + mkdir -p ~/.config/systemd/user + + cp ~/.local/share/omarchy/config/systemd/user/omarchy-battery-monitor.* ~/.config/systemd/user/ + + systemctl --user daemon-reload + systemctl --user enable --now omarchy-battery-monitor.timer || true + + echo "Battery monitoring enabled - you'll receive notifications at 10% battery" +else + echo "No battery detected - skipping battery monitor setup" +fi diff --git a/migrations/1752187060.sh b/migrations/1752187060.sh new file mode 100644 index 0000000..3839167 --- /dev/null +++ b/migrations/1752187060.sh @@ -0,0 +1,14 @@ +echo "Add missing Propo version of Caskaydia Mono Nerd Font for Waybar use" + +if ! fc-list | grep -qi "CaskaydiaMono Nerd Font Propo"; then + cd /tmp + wget https://github.com/ryanoasis/nerd-fonts/releases/latest/download/CascadiaMono.zip + unzip CascadiaMono.zip -d CascadiaFont + cp CascadiaFont/CaskaydiaMonoNerdFontPropo-Regular.ttf ~/.local/share/fonts + cp CascadiaFont/CaskaydiaMonoNerdFontPropo-Bold.ttf ~/.local/share/fonts + cp CascadiaFont/CaskaydiaMonoNerdFontPropo-Italic.ttf ~/.local/share/fonts + cp CascadiaFont/CaskaydiaMonoNerdFontPropo-BoldItalic.ttf ~/.local/share/fonts + rm -rf CascadiaMono.zip CascadiaFont + fc-cache + cd - +fi diff --git a/migrations/1752188554.sh b/migrations/1752188554.sh new file mode 100644 index 0000000..ffec2a2 --- /dev/null +++ b/migrations/1752188554.sh @@ -0,0 +1,7 @@ +echo "Update chromium.desktop to ensure we are always using wayland" +if [[ ! -f ~/.local/share/applications/chromium.desktop ]]; then + cp ~/.local/share/omarchy/applications/chromium.desktop ~/.local/share/applications/ + xdg-settings set default-web-browser chromium.desktop + xdg-mime default chromium.desktop x-scheme-handler/http + xdg-mime default chromium.desktop x-scheme-handler/https +fi diff --git a/themes/catppuccin/hyprlock.conf b/themes/catppuccin/hyprlock.conf index f4f0997..600af77 100644 --- a/themes/catppuccin/hyprlock.conf +++ b/themes/catppuccin/hyprlock.conf @@ -2,45 +2,11 @@ # Hyprlock — Catppuccin theme # ──────────────────────────────────────────────────────────── -general { - disable_loading_bar = true - no_fade_in = false -} +$color = rgba(24,24,36,1.0) # #181824 solid color -background { - monitor = - color = rgba(24,24,36,1.0) # #181824 solid color -} +$inner_color = rgba(24,24,36,0.8) # #181824 with opacity +$outer_color = rgba(205,214,244,1.0) # #cdd6f4 -animations { - enabled = false -} - -input-field { - monitor = - size = 600, 100 - position = 0, 0 - halign = center - valign = center - - inner_color = rgba(24,24,36,0.8) # #181824 with opacity - outer_color = rgba(205,214,244,1.0) # #cdd6f4 - outline_thickness = 4 - - font_family = CaskaydiaMono Nerd Font - font_size = 32 - font_color = rgba(205,214,244,1.0) - - placeholder_color = rgba(205,214,244,0.6) - placeholder_text =   Enter Password 󰈷  - check_color = rgba(68, 157, 171, 1.0) - fail_text = Wrong - - rounding = 0 - shadow_passes = 0 - fade_on_empty = false -} - -auth { - fingerprint:enabled = true -} +$font_color = rgba(205,214,244,1.0) +$placeholder_color = rgba(205,214,244,0.6) +$check_color = rgba(68, 157, 171, 1.0) diff --git a/themes/everforest/hyprlock.conf b/themes/everforest/hyprlock.conf index b374cfb..7752c38 100644 --- a/themes/everforest/hyprlock.conf +++ b/themes/everforest/hyprlock.conf @@ -2,45 +2,12 @@ # Hyprlock — Everforest theme # ──────────────────────────────────────────────────────────── -general { - disable_loading_bar = true - no_fade_in = false -} +$color = rgba(45,53,59,1.0) # #2d353b solid color -background { - monitor = - color = rgba(45,53,59,1.0) # #2d353b solid color -} +$inner_color = rgba(45,53,59,0.8) # #2d353b with opacity +$outer_color = rgba(211,198,170,1.0) # #d3c6aa -animations { - enabled = false -} +$font_color = rgba(211,198,170,1.0) -input-field { - monitor = - size = 600, 100 - position = 0, 0 - halign = center - valign = center - - inner_color = rgba(45,53,59,0.8) # #2d353b with opacity - outer_color = rgba(211,198,170,1.0) # #d3c6aa - outline_thickness = 4 - - font_family = CaskaydiaMono Nerd Font - font_size = 32 - font_color = rgba(211,198,170,1.0) - - placeholder_color = rgba(211,198,170,0.6) - placeholder_text =   Enter Password 󰈷  - check_color = rgba(131, 192, 146, 1.0) - fail_text = Wrong - - rounding = 0 - shadow_passes = 0 - fade_on_empty = false -} - -auth { - fingerprint:enabled = true -} +$placeholder_color = rgba(211,198,170,0.6) +$check_color = rgba(131, 192, 146, 1.0) diff --git a/themes/gruvbox/hyprlock.conf b/themes/gruvbox/hyprlock.conf index 8a657eb..4001a99 100644 --- a/themes/gruvbox/hyprlock.conf +++ b/themes/gruvbox/hyprlock.conf @@ -2,45 +2,12 @@ # Hyprlock — Gruvbox theme # ──────────────────────────────────────────────────────────── -general { - disable_loading_bar = true - no_fade_in = false -} +$color = rgba(40,40,40,1.0) # #282828 solid color -background { - monitor = - color = rgba(40,40,40,1.0) # #282828 solid color -} +$inner_color = rgba(40,40,40,0.8) # #282828 with opacity +$outer_color = rgba(212,190,152,1.0) # #d4be98 -animations { - enabled = false -} +$font_color = rgba(212,190,152,1.0) -input-field { - monitor = - size = 600, 100 - position = 0, 0 - halign = center - valign = center - - inner_color = rgba(40,40,40,0.8) # #282828 with opacity - outer_color = rgba(212,190,152,1.0) # #d4be98 - outline_thickness = 4 - - font_family = CaskaydiaMono Nerd Font - font_size = 32 - font_color = rgba(212,190,152,1.0) - - placeholder_color = rgba(212,190,152,0.6) - placeholder_text =   Enter Password 󰈷  - check_color = rgba(214, 153, 92, 1.0) - fail_text = Wrong - - rounding = 0 - shadow_passes = 0 - fade_on_empty = false -} - -auth { - fingerprint:enabled = true -} +$placeholder_color = rgba(212,190,152,0.6) +$check_color = rgba(214, 153, 92, 1.0) diff --git a/themes/kanagawa/hyprlock.conf b/themes/kanagawa/hyprlock.conf index 713ad7a..7979661 100644 --- a/themes/kanagawa/hyprlock.conf +++ b/themes/kanagawa/hyprlock.conf @@ -2,45 +2,12 @@ # Hyprlock — Kanagawa theme # ──────────────────────────────────────────────────────────── -general { - disable_loading_bar = true - no_fade_in = false -} +$color = rgba(31,31,40,1.0) # #1f1f28 solid color -background { - monitor = - color = rgba(31,31,40,1.0) # #1f1f28 solid color -} +$inner_color = rgba(31,31,40,0.8) # #1f1f28 with opacity +$outer_color = rgba(220,215,186,1.0) # #dcd7ba -animations { - enabled = false -} +$font_color = rgba(220,215,186,1.0) -input-field { - monitor = - size = 600, 100 - position = 0, 0 - halign = center - valign = center - - inner_color = rgba(31,31,40,0.8) # #1f1f28 with opacity - outer_color = rgba(220,215,186,1.0) # #dcd7ba - outline_thickness = 4 - - font_family = CaskaydiaMono Nerd Font - font_size = 32 - font_color = rgba(220,215,186,1.0) - - placeholder_color = rgba(220,215,186,0.6) - placeholder_text =   Enter Password 󰈷  - check_color = rgba(126, 156, 216, 1.0) - fail_text = Wrong - - rounding = 0 - shadow_passes = 0 - fade_on_empty = false -} - -auth { - fingerprint:enabled = true -} +$placeholder_color = rgba(220,215,186,0.6) +$check_color = rgba(126, 156, 216, 1.0) diff --git a/themes/nord/hyprlock.conf b/themes/nord/hyprlock.conf index fe1f422..a6471d8 100644 --- a/themes/nord/hyprlock.conf +++ b/themes/nord/hyprlock.conf @@ -2,45 +2,12 @@ # Hyprlock — Nord theme # ──────────────────────────────────────────────────────────── -general { - disable_loading_bar = true - no_fade_in = false -} +$color = rgba(46,52,64,1.0) # #2e3440 solid color -background { - monitor = - color = rgba(46,52,64,1.0) # #2e3440 solid color -} +$inner_color = rgba(46,52,64,0.8) # #2e3440 with opacity +$outer_color = rgba(216,222,233,1.0) # #d8dee9 -animations { - enabled = false -} +$font_color = rgba(216,222,233,1.0) -input-field { - monitor = - size = 600, 100 - position = 0, 0 - halign = center - valign = center - - inner_color = rgba(46,52,64,0.8) # #2e3440 with opacity - outer_color = rgba(216,222,233,1.0) # #d8dee9 - outline_thickness = 4 - - font_family = CaskaydiaMono Nerd Font - font_size = 32 - font_color = rgba(216,222,233,1.0) - - placeholder_color = rgba(216,222,233,0.6) - placeholder_text =   Enter Password 󰈷  - check_color = rgba(136, 192, 208, 1.0) - fail_text = Wrong - - rounding = 0 - shadow_passes = 0 - fade_on_empty = false -} - -auth { - fingerprint:enabled = true -} +$placeholder_color = rgba(216,222,233,0.6) +$check_color = rgba(136, 192, 208, 1.0) diff --git a/themes/tokyo-night/hyprlock.conf b/themes/tokyo-night/hyprlock.conf index cccc950..5b3e45f 100644 --- a/themes/tokyo-night/hyprlock.conf +++ b/themes/tokyo-night/hyprlock.conf @@ -2,45 +2,12 @@ # Hyprlock — Tokyo Night theme # ──────────────────────────────────────────────────────────── -general { - disable_loading_bar = true - no_fade_in = false -} +$color = rgba(26,27,38,1.0) # #1a1b26 solid color -background { - monitor = - color = rgba(26,27,38,1.0) # #1a1b26 solid color -} +$inner_color = rgba(26,27,38,0.8) # #1a1b26 with opacity +$outer_color = rgba(205,214,244,1.0) # #cdd6f4 -animations { - enabled = false -} +$font_color = rgba(205,214,244,1.0) -input-field { - monitor = - size = 600, 100 - position = 0, 0 - halign = center - valign = center - - inner_color = rgba(26,27,38,0.8) # #1a1b26 with opacity - outer_color = rgba(205,214,244,1.0) # #cdd6f4 - outline_thickness = 4 - - font_family = CaskaydiaMono Nerd Font - font_size = 32 - font_color = rgba(205,214,244,1.0) - - placeholder_color = rgba(205,214,244,0.6) - placeholder_text =   Enter Password 󰈷  - check_color = rgba(68, 157, 171, 1.0) - fail_text = Wrong - - rounding = 0 - shadow_passes = 0 - fade_on_empty = false -} - -auth { - fingerprint:enabled = true -} +$placeholder_color = rgba(205,214,244,0.6) +$check_color = rgba(68, 157, 171, 1.0)