diff --git a/applications/About.desktop b/applications/About.desktop index 3e674d7b..52e0ca23 100644 --- a/applications/About.desktop +++ b/applications/About.desktop @@ -2,7 +2,7 @@ Version=1.0 Name=About Comment=System information from Fastfetch -Exec=alacritty --class=About --title=About -e bash -c 'fastfetch; read -n 1 -s' +Exec=alacritty -o "font.size=9" --class=About --title=About -e bash -c 'fastfetch; read -n 1 -s' Terminal=false Type=Application Icon=Arch diff --git a/applications/wiremix.desktop b/applications/wiremix.desktop index 6b7be688..7cb0c602 100644 --- a/applications/wiremix.desktop +++ b/applications/wiremix.desktop @@ -2,6 +2,6 @@ Name=Audio Settings Comment=Using Wiremix Exec=alacritty --class=Wiremix --title=Wiremix -e wiremix -Icon=audio-card +Icon=audio-headphones Type=Application Terminal=false diff --git a/bin/omarchy-font-set b/bin/omarchy-font-set index c34cb9ea..1fc789f0 100755 --- a/bin/omarchy-font-set +++ b/bin/omarchy-font-set @@ -12,8 +12,9 @@ if [[ -n "$font_name" && "$font_name" != "CNCLD" ]]; then -v "$font_name" \ ~/.config/fontconfig/fonts.conf - ~/.local/share/omarchy/bin/omarchy-restart-waybar - ~/.local/share/omarchy/bin/omarchy-restart-swayosd + omarchy-restart-waybar + omarchy-restart-swayosd + omarchy-restart-walker else echo "Font '$font_name' not found." exit 1 diff --git a/bin/omarchy-install-dev-env b/bin/omarchy-install-dev-env new file mode 100755 index 00000000..f59e5f07 --- /dev/null +++ b/bin/omarchy-install-dev-env @@ -0,0 +1,111 @@ +#!/bin/bash + +if [[ -z "$1" ]]; then + echo "Usage: omarchy-instal-dev-env " >&2 + exit 1 +fi + +install_php() { + yay -Sy php composer php-sqlite --noconfirm + + # Install Path for Composer + if [[ ":$PATH:" != *":$HOME/.config/composer/vendor/bin:"* ]]; then + echo 'export PATH="$HOME/.config/composer/vendor/bin:$PATH"' >>"$HOME/.bashrc" + source "$HOME/.bashrc" + echo "Added Composer global bin directory to PATH." + else + echo "Composer global bin directory already in PATH." + fi + + # Enable some extensions + local php_ini_path="/etc/php/php.ini" + local extensions_to_enable=( + "bcmath" + "intl" + "iconv" + "openssl" + "pdo_sqlite" + "pdo_mysql" + ) + + for ext in "${extensions_to_enable[@]}"; do + sudo sed -i "s/^;extension=${ext}/extension=${ext}/" "$php_ini_path" + done +} + +case "$1" in +ruby) + echo -e "Installing Ruby on Rails...\n" + mise use --global ruby@latest + mise settings add idiomatic_version_file_enable_tools ruby + mise x ruby -- gem install rails --no-document + echo -e "\nYou can now run: rails new myproject" + ;; +node) + echo -e "Installing Node.js...\n" + mise use --global node@lts + ;; +bun) + echo -e "Installing Bun...\n" + mise use -g bun@latest + ;; +deno) + echo -e "Installing Deno...\n" + mise use -g deno@latest + ;; +go) + echo -e "Installing Go...\n" + mise use --global go@latest + ;; +php) + echo -e "Installing PHP...\n" + install_php + ;; +laravel) + echo -e "Installing PHP and Laravel...\n" + install_php + composer global require laravel/installer + echo -e "\nYou can now run: laravel new myproject" + ;; +symfony) + echo -e "Installing PHP and Symfony...\n" + install_php + yay -S symfony-cli --noconfirm + echo -e "\nYou can now run: symfony new --webapp myproject" + ;; +python) + echo -e "Installing Python...\n" + mise use --global python@latest + echo -e "\nInstalling uv...\n" + wget -qO- https://astral.sh/uv/install.sh | sh + ;; +elixir) + echo -e "Installing Elixir...\n" + mise use --global erlang@latest + mise use --global elixir@latest + mise x elixir -- mix local.hex --force + ;; +rust) + echo -e "Installing Rust...\n" + bash -c "$(curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs)" -- -y + ;; +java) + echo -e "Installing Java...\n" + mise use --global java@latest + ;; +zig) + echo -e "Installing Zig...\n" + mise use --global zig@latest + ;; +ocaml) + echo -e "Installing OCaml...\n" + bash -c "$(curl -fsSL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh)" + opam init --yes + eval "$(opam env)" + opam install ocaml-lsp-server odoc ocamlformat utop --yes + ;; +dotnet) + echo -e "Installing .NET...\n" + mise use --global dotnet@latest + ;; +esac diff --git a/bin/omarchy-install-steam b/bin/omarchy-install-steam index ae4051c2..4dc76b7c 100755 --- a/bin/omarchy-install-steam +++ b/bin/omarchy-install-steam @@ -6,4 +6,4 @@ sudo pacman -Sy echo "Now pick dependencies matching your graphics card" yay -S steam -gtk-launch steam >/dev/null 2>&1 & +setsid gtk-launch steam >/dev/null 2>&1 & diff --git a/bin/omarchy-install-tailscale b/bin/omarchy-install-tailscale new file mode 100755 index 00000000..6c859c3f --- /dev/null +++ b/bin/omarchy-install-tailscale @@ -0,0 +1,8 @@ +#!/bin/bash + +curl -fsSL https://tailscale.com/install.sh | sh + +echo -e "\nStarting Tailscale..." +sudo tailscale up --accept-routes + +omarchy-webapp-install "Tailscale" "https://login.tailscale.com/admin/machines" https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/tailscale-light.png diff --git a/bin/omarchy-launch-screensaver b/bin/omarchy-launch-screensaver index b557f138..7e2d4de0 100755 --- a/bin/omarchy-launch-screensaver +++ b/bin/omarchy-launch-screensaver @@ -10,7 +10,7 @@ for m in $(hyprctl monitors -j | jq -r '.[] | .name'); do hyprctl dispatch exec -- \ alacritty --class Screensaver \ --config-file ~/.local/share/omarchy/default/alacritty/screensaver.toml \ - -e ~/.local/share/omarchy/bin/omarchy-cmd-screensaver + -e omarchy-cmd-screensaver done hyprctl dispatch focusmonitor $focused diff --git a/bin/omarchy-menu b/bin/omarchy-menu index b29d192e..7eb71452 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -1,6 +1,6 @@ #!/bin/bash -OMARCHY_BIN_PATH=~/.local/share/omarchy/bin +export PATH="$HOME/.local/share/omarchy/bin:$PATH" menu() { local prompt="$1" @@ -26,7 +26,7 @@ terminal() { } present_terminal() { - alacritty --class Omarchy -e bash -c "~/.local/share/omarchy/bin/omarchy-show-logo; eval \"$1\"; ~/.local/share/omarchy/bin/omarchy-show-done;" + alacritty --class Omarchy -e bash -c "omarchy-show-logo; eval \"$1\"; omarchy-show-done;" } edit_in_nvim() { @@ -43,16 +43,16 @@ install() { } install_and_launch() { - present_terminal "echo 'Installing $1...'; yay -Sy --noconfirm $2 && gtk-launch $3" + present_terminal "echo 'Installing $1...'; yay -Sy --noconfirm $2 && setsid gtk-launch $3" } install_font() { - present_terminal "echo 'Installing $1...'; yay -Sy --noconfirm --needed $2 && sleep 2 && ~/.local/share/omarchy/bin/omarchy-font-set '$3'" + present_terminal "echo 'Installing $1...'; yay -Sy --noconfirm --needed $2 && sleep 2 && omarchy-font-set '$3'" } show_learn_menu() { case $(menu "Learn" " Keybindings\n Omarchy\n Hyprland\n󰣇 Arch\n Neovim\n󱆃 Bash") in - *Keybindings*) $OMARCHY_BIN_PATH/omarchy-menu-keybindings ;; + *Keybindings*) omarchy-menu-keybindings ;; *Omarchy*) open_web "https://manuals.omamix.org/2/the-omarchy-manual" ;; *Hyprland*) open_web "https://wiki.hypr.land/" ;; *Arch*) open_web "https://wiki.archlinux.org/title/Main_page" ;; @@ -66,26 +66,26 @@ show_style_menu() { case $(menu "Style" "󰸌 Theme\n Font\n Background") in *Theme*) show_theme_menu ;; *Font*) show_font_menu ;; - *Background*) $OMARCHY_BIN_PATH/omarchy-theme-bg-next ;; + *Background*) omarchy-theme-bg-next ;; *) show_main_menu ;; esac } show_theme_menu() { - theme=$(menu "Theme" "$($OMARCHY_BIN_PATH/omarchy-theme-list)" "" "$($OMARCHY_BIN_PATH/omarchy-theme-current)") + theme=$(menu "Theme" "$(omarchy-theme-list)" "" "$(omarchy-theme-current)") if [[ "$theme" == "CNCLD" || -z "$theme" ]]; then show_main_menu else - $OMARCHY_BIN_PATH/omarchy-theme-set "$theme" + omarchy-theme-set "$theme" fi } show_font_menu() { - theme=$(menu "Font" "$($OMARCHY_BIN_PATH/omarchy-font-list)" "-w 350" "$($OMARCHY_BIN_PATH/omarchy-font-current)") + theme=$(menu "Font" "$(omarchy-font-list)" "-w 350" "$(omarchy-font-current)") if [[ "$theme" == "CNCLD" || -z "$theme" ]]; then show_main_menu else - $OMARCHY_BIN_PATH/omarchy-font-set "$theme" + omarchy-font-set "$theme" fi } @@ -100,26 +100,26 @@ show_capture_menu() { show_screenshot_menu() { case $(menu "Screenshot" " Region\n Window\n Display") in - *Region*) $OMARCHY_BIN_PATH/omarchy-cmd-screenshot ;; - *Window*) $OMARCHY_BIN_PATH/omarchy-cmd-screenshot window ;; - *Display*) $OMARCHY_BIN_PATH/omarchy-cmd-screenshot output ;; + *Region*) omarchy-cmd-screenshot ;; + *Window*) omarchy-cmd-screenshot window ;; + *Display*) omarchy-cmd-screenshot output ;; *) show_capture_menu ;; esac } show_screenrecord_menu() { case $(menu "Screenrecord" " Region\n Display") in - *Region*) $OMARCHY_BIN_PATH/omarchy-cmd-screenrecord ;; - *Display*) $OMARCHY_BIN_PATH/omarchy-cmd-screenrecord output ;; + *Region*) omarchy-cmd-screenrecord ;; + *Display*) omarchy-cmd-screenrecord output ;; *) show_capture_menu ;; esac } show_toggle_menu() { case $(menu "Toggle" "󱄄 Screensaver\n󰔎 Nightlight\n󱫖 Idle Lock\n󰍜 Top Bar") in - *Screensaver*) $OMARCHY_BIN_PATH/omarchy-launch-screensaver ;; - *Nightlight*) $OMARCHY_BIN_PATH/omarchy-toggle-nightlight ;; - *Idle*) $OMARCHY_BIN_PATH/omarchy-toggle-idle ;; + *Screensaver*) omarchy-launch-screensaver ;; + *Nightlight*) omarchy-toggle-nightlight ;; + *Idle*) omarchy-toggle-idle ;; *Bar*) pkill -SIGUSR1 waybar ;; *) show_main_menu ;; esac @@ -140,14 +140,14 @@ show_setup_menu() { *Keybindings*) edit_in_nvim ~/.config/hypr/bindings.conf ;; *Input*) edit_in_nvim ~/.config/hypr/input.conf ;; *Config*) show_setup_config_menu ;; - *Fingerprint*) present_terminal $OMARCHY_BIN_PATH/omarchy-setup-fingerprint ;; - *Fido2*) present_terminal $OMARCHY_BIN_PATH/omarchy-setup-fido2 ;; + *Fingerprint*) present_terminal omarchy-setup-fingerprint ;; + *Fido2*) present_terminal omarchy-setup-fido2 ;; *) show_main_menu ;; esac } show_setup_power_menu() { - profile=$(menu "Power Profile" "$($OMARCHY_BIN_PATH/omarchy-powerprofiles-list)" "" "$(powerprofilesctl get)") + profile=$(menu "Power Profile" "$(omarchy-powerprofiles-list)" "" "$(powerprofilesctl get)") if [[ "$profile" == "CNCLD" || -z "$profile" ]]; then show_main_menu @@ -159,55 +159,74 @@ show_setup_power_menu() { show_setup_config_menu() { case $(menu "Setup" " Hyprland\n Hypridle\n Hyprlock\n Hyprsunset\n Swayosd\n󰌧 Walker\n󰍜 Waybar\n󰞅 XCompose") in *Hyprland*) edit_in_nvim ~/.config/hypr/hyprland.conf ;; - *Hypridle*) edit_in_nvim ~/.config/hypr/hypridle.conf && ~/.local/share/omarchy/bin/omarchy-restart-hypridle ;; + *Hypridle*) edit_in_nvim ~/.config/hypr/hypridle.conf && omarchy-restart-hypridle ;; *Hyprlock*) edit_in_nvim ~/.config/hypr/hyprlock.conf ;; - *Hyprsunset*) edit_in_nvim ~/.config/hypr/hyprsunset.conf && ~/.local/share/omarchy/bin/omarchy-restart-hyprsunset ;; - *Swayosd*) edit_in_nvim ~/.config/swayosd/config.toml && ~/.local/share/omarchy/bin/omarchy-restart-swayosd ;; - *Walker*) edit_in_nvim ~/.config/walker/config.toml && ~/.local/share/omarchy/bin/omarchy-restart-walker ;; - *Waybar*) edit_in_nvim ~/.config/waybar/config.jsonc && ~/.local/share/omarchy/bin/omarchy-restart-waybar ;; - *XCompose*) edit_in_nvim ~/.XCompose && ~/.local/share/omarchy/bin/omarchy-restart-xcompose ;; + *Hyprsunset*) edit_in_nvim ~/.config/hypr/hyprsunset.conf && omarchy-restart-hyprsunset ;; + *Swayosd*) edit_in_nvim ~/.config/swayosd/config.toml && omarchy-restart-swayosd ;; + *Walker*) edit_in_nvim ~/.config/walker/config.toml && omarchy-restart-walker ;; + *Waybar*) edit_in_nvim ~/.config/waybar/config.jsonc && omarchy-restart-waybar ;; + *XCompose*) edit_in_nvim ~/.XCompose && omarchy-restart-xcompose ;; *) show_main_menu ;; esac } show_install_menu() { - case $(menu "Install" "󰣇 Package\n Web App\n Style\n Editor\n󱚤 AI\n Dropbox\n Steam\n Docker DB") in - *Package*) terminal $OMARCHY_BIN_PATH/omarchy-pkg-install ;; - *Web*) present_terminal $OMARCHY_BIN_PATH/omarchy-webapp-install ;; + case $(menu "Install" "󰣇 Package\n Web App\n Service\n Style\n󰵮 Development\n Editor\n󱚤 AI\n Gaming") in + *Package*) terminal omarchy-pkg-install ;; + *Web*) present_terminal omarchy-webapp-install ;; + *Service*) show_install_service_menu ;; *Style*) show_install_style_menu ;; + *Development*) show_install_development_menu ;; *Editor*) show_install_editor_menu ;; *AI*) show_install_ai_menu ;; - *Dropbox*) present_terminal $OMARCHY_BIN_PATH/omarchy-install-dropbox ;; - *Steam*) present_terminal $OMARCHY_BIN_PATH/omarchy-install-steam ;; - *Docker*) present_terminal $OMARCHY_BIN_PATH/omarchy-install-docker-dbs ;; + *Gaming*) show_install_gaming_menu ;; *) show_main_menu ;; esac } +show_install_service_menu() { + case $(menu "Install" " Dropbox\n Tailscale") in + *Dropbox*) present_terminal omarchy-install-dropbox ;; + *Tailscale*) present_terminal omarchy-install-tailscale ;; + *) show_install_menu ;; + esac +} + show_install_editor_menu() { - case $(menu "Install" " VSCode\n Cursor\n Zed") in + case $(menu "Install" " VSCode\n Cursor\n Zed\n Sublime Text\n Helix") in *VSCode*) install_and_launch "VSCode" "visual-studio-code-bin" "code" ;; - *Cursor*) install_and_launch "Cursor" "cursor-bin" "cursor-cursor" ;; + *Cursor*) install_and_launch "Cursor" "cursor-bin" "cursor" ;; *Zed*) install_and_launch "Zed" "zed" "dev.zed.Zed" ;; + *Sublime*) install_and_launch "Sublime Text" "sublime-text-4" "sublime_text" ;; + *Helix*) install "Helix" "helix" ;; *) show_install_menu ;; esac } show_install_ai_menu() { - case $(menu "Install" "󱚤 Claude Code\n󱚤 Gemini\n󱚤 LM Studio\n󱚤 Ollama\n󱚤 Crush\n󱚤 Open Code") in + case $(menu "Install" "󱚤 Claude Code\n󱚤 Gemini\n󱚤 LM Studio\n󱚤 Ollama\n󱚤 Crush\n󱚤 opencode") in *Claude*) install "Claude Code" "claude-code" ;; *Gemini*) install "Gemini" "gemini-cli-bin" ;; *Studio*) install "LM Studio" "lmstudio" ;; *Ollama*) install "Ollama" "ollama" ;; *Crush*) install "Crush" "crush-bin" ;; - *Code*) install "Open Code" "opencode-bin" ;; + *opencode*) install "opencode" "opencode-bin" ;; + *) show_install_menu ;; + esac +} + +show_install_gaming_menu() { + case $(menu "Install" " Steam\n RetroArch\n󰍳 Minecraft") in + *Steam*) present_terminal omarchy-install-steam ;; + *RetroArch*) install_and_launch "RetroArch" "retroarch retroarch-assets libretro libretro-fbneo" "com.libretro.RetroArch.desktop" ;; + *Minecraft*) install_and_launch "Minecraft" "minecraft-launcher" "minecraft-launcher" ;; *) show_install_menu ;; esac } show_install_style_menu() { case $(menu "Install" "󰸌 Theme\n Background\n Font") in - *Theme*) present_terminal $OMARCHY_BIN_PATH/omarchy-theme-install ;; + *Theme*) present_terminal omarchy-theme-install ;; *Background*) nautilus ~/.config/omarchy/current/theme/backgrounds ;; *Font*) show_install_font_menu ;; *) show_install_menu ;; @@ -224,56 +243,92 @@ show_install_font_menu() { esac } +show_install_development_menu() { + case $(menu "Install" "󰫏 Ruby on Rails\n Docker DB\n JavaScript\n Go\n PHP\n Python\n Elixir\n Zig\n Rust\n Java\n .NET\n Ocaml") in + *Rails*) present_terminal "omarchy-install-dev-env ruby" ;; + *Docker*) present_terminal omarchy-install-docker-dbs ;; + *JavaScript*) show_install_javascript_menu ;; + *Go*) present_terminal "omarchy-install-dev-env go" ;; + *PHP*) show_install_php_menu ;; + *Python*) present_terminal "omarchy-install-dev-env python" ;; + *Elixir*) present_terminal "omarchy-install-dev-env elixir" ;; + *Zig*) present_terminal "omarchy-install-dev-env zig" ;; + *Rust*) present_terminal "omarchy-install-dev-env rust" ;; + *Java*) present_terminal "omarchy-install-dev-env java" ;; + *NET*) present_terminal "omarchy-install-dev-env dotnet" ;; + *Ocaml*) present_terminal "omarchy-install-dev-env ocaml" ;; + *) show_install_menu ;; + esac +} + +show_install_javascript_menu() { + case $(menu "Install" " Node.js\n Bun\n Deno") in + *Node*) present_terminal "omarchy-install-dev-env node" ;; + *Bun*) present_terminal "omarchy-install-dev-env bun" ;; + *Deno*) present_terminal "omarchy-install-dev-env deno" ;; + *) show_install_development_menu ;; + esac +} + +show_install_php_menu() { + case $(menu "Install" " PHP\n Laravel\n Symfony") in + *PHP*) present_terminal "omarchy-install-dev-env php" ;; + *Laravel*) present_terminal "omarchy-install-dev-env laravel" ;; + *Symfony*) present_terminal "omarchy-install-dev-env symfony" ;; + *) show_install_development_menu ;; + esac +} + show_remove_menu() { case $(menu "Remove" "󰣇 Package\n Web App\n󰸌 Theme\n󰈷 Fingerprint\n Fido2") in - *Package*) terminal $OMARCHY_BIN_PATH/omarchy-pkg-remove ;; - *Web*) present_terminal $OMARCHY_BIN_PATH/omarchy-webapp-remove ;; - *Theme*) present_terminal $OMARCHY_BIN_PATH/omarchy-theme-remove ;; - *Fingerprint*) present_terminal "$OMARCHY_BIN_PATH/omarchy-setup-fingerprint --remove" ;; - *Fido2*) present_terminal "$OMARCHY_BIN_PATH/omarchy-setup-fido2 --remove" ;; + *Package*) terminal omarchy-pkg-remove ;; + *Web*) present_terminal omarchy-webapp-remove ;; + *Theme*) present_terminal omarchy-theme-remove ;; + *Fingerprint*) present_terminal "omarchy-setup-fingerprint --remove" ;; + *Fido2*) present_terminal "omarchy-setup-fido2 --remove" ;; *) show_main_menu ;; esac } show_update_menu() { - case $(menu "Update" "󰣇 Omarchy\n Config\n Process\n󰸌 Themes\n Timezone") in - *Omarchy*) present_terminal $OMARCHY_BIN_PATH/omarchy-update ;; + case $(menu "Update" "󰣇 Omarchy\n Config\n󰸌 Themes\n Process\n Timezone") in + *Omarchy*) present_terminal omarchy-update ;; *Config*) show_update_config_menu ;; + *Themes*) present_terminal omarchy-theme-update ;; *Process*) show_update_process_menu ;; - *Themes*) present_terminal $OMARCHY_BIN_PATH/omarchy-theme-update ;; - *Timezone*) $OMARCHY_BIN_PATH/omarchy-cmd-tzupdate ;; + *Timezone*) omarchy-cmd-tzupdate ;; *) show_main_menu ;; esac } show_update_process_menu() { case $(menu "Restart" " Hypridle\n Hyprsunset\n Swayosd\n󰌧 Walker\n󰍜 Waybar") in - *Hypridle*) $OMARCHY_BIN_PATH/omarchy-restart-hypridle ;; - *Hyprsunset*) $OMARCHY_BIN_PATH/omarchy-restart-hyprsunset ;; - *Swayosd*) $OMARCHY_BIN_PATH/omarchy-restart-swayosd ;; - *Walker*) $OMARCHY_BIN_PATH/omarchy-restart-walker ;; - *Waybar*) $OMARCHY_BIN_PATH/omarchy-restart-waybar ;; + *Hypridle*) omarchy-restart-hypridle ;; + *Hyprsunset*) omarchy-restart-hyprsunset ;; + *Swayosd*) omarchy-restart-swayosd ;; + *Walker*) omarchy-restart-walker ;; + *Waybar*) omarchy-restart-waybar ;; *) show_main_menu ;; esac } show_update_config_menu() { case $(menu "Use default config" " Hyprland\n Hypridle\n Hyprlock\n Hyprsunset\n󱣴 Plymouth\n Swayosd\n󰌧 Walker\n󰍜 Waybar") in - *Hyprland*) present_terminal $OMARCHY_BIN_PATH/omarchy-refresh-hyprland ;; - *Hypridle*) present_terminal $OMARCHY_BIN_PATH/omarchy-refresh-hypridle ;; - *Hyprlock*) present_terminal $OMARCHY_BIN_PATH/omarchy-refresh-hyprlock ;; - *Hyprsunset*) present_terminal $OMARCHY_BIN_PATH/omarchy-refresh-hyprsunset ;; - *Plymouth*) present_terminal $OMARCHY_BIN_PATH/omarchy-refresh-plymouth ;; - *Swayosd*) present_terminal $OMARCHY_BIN_PATH/omarchy-refresh-swayosd ;; - *Walker*) present_terminal $OMARCHY_BIN_PATH/omarchy-refresh-walker ;; - *Waybar*) present_terminal $OMARCHY_BIN_PATH/omarchy-refresh-waybar ;; + *Hyprland*) present_terminal omarchy-refresh-hyprland ;; + *Hypridle*) present_terminal omarchy-refresh-hypridle ;; + *Hyprlock*) present_terminal omarchy-refresh-hyprlock ;; + *Hyprsunset*) present_terminal omarchy-refresh-hyprsunset ;; + *Plymouth*) present_terminal omarchy-refresh-plymouth ;; + *Swayosd*) present_terminal omarchy-refresh-swayosd ;; + *Walker*) present_terminal omarchy-refresh-walker ;; + *Waybar*) present_terminal omarchy-refresh-waybar ;; *) show_main_menu ;; esac } show_system_menu() { case $(menu "System" " Lock\n󰤄 Suspend\n Relaunch\n󰜉 Restart\n󰐥 Shutdown") in - *Lock*) $OMARCHY_BIN_PATH/omarchy-lock-screen ;; + *Lock*) omarchy-lock-screen ;; *Suspend*) systemctl suspend ;; *Relaunch*) uwsm stop ;; *Restart*) systemctl reboot ;; diff --git a/bin/omarchy-pkg-install b/bin/omarchy-pkg-install index b407e35c..04f8d0d4 100755 --- a/bin/omarchy-pkg-install +++ b/bin/omarchy-pkg-install @@ -1,9 +1,18 @@ #!/bin/bash -pkg_name=$(yay -Slq | fzf --multi --preview 'yay -Sii {1}' --preview-window=down:75%) +fzf_args=( + --multi + --preview 'echo "alt-p: toggle description, alt-j/k: scroll, F11: maximize"; echo; yay -Sii {1}' + --preview-window 'down:65%:wrap' + --bind 'alt-p:toggle-preview' + --bind 'alt-d:preview-half-page-down,alt-u:preview-half-page-up' + --bind 'alt-k:preview-up,alt-j:preview-down' +) + +pkg_name=$(yay -Slq | fzf "${fzf_args[@]}") if [[ -n "$pkg_name" ]]; then yay -Sy --noconfirm "$pkg_name" sudo updatedb - ~/.local/share/omarchy/bin/omarchy-show-done + omarchy-show-done fi diff --git a/bin/omarchy-pkg-remove b/bin/omarchy-pkg-remove index c9286c2e..67169f2a 100755 --- a/bin/omarchy-pkg-remove +++ b/bin/omarchy-pkg-remove @@ -1,9 +1,18 @@ #!/bin/bash -pkg_name=$(yay -Qqe | fzf --multi --preview 'yay -Qi {1}' --preview-window=down:75%) +fzf_args=( + --multi + --preview 'echo "alt-p: toggle description, alt-j/k: scroll, F11: maximize"; echo; yay -Qi {1}' + --preview-window 'down:65%:wrap' + --bind 'alt-p:toggle-preview' + --bind 'alt-d:preview-half-page-down,alt-u:preview-half-page-up' + --bind 'alt-k:preview-up,alt-j:preview-down' +) + +pkg_name=$(yay -Qqe | fzf "${fzf_args[@]}") if [[ -n "$pkg_name" ]]; then yay -Rns --noconfirm "$pkg_name" sudo updatedb - ~/.local/share/omarchy/bin/omarchy-show-done + omarchy-show-done fi diff --git a/bin/omarchy-refresh-hypridle b/bin/omarchy-refresh-hypridle index 7821e43a..f555f0f2 100755 --- a/bin/omarchy-refresh-hypridle +++ b/bin/omarchy-refresh-hypridle @@ -1,4 +1,4 @@ #!/bin/bash -~/.local/share/omarchy/bin/omarchy-refresh-config hypr/hypridle.conf -~/.local/share/omarchy/bin/omarchy-restart-hypridle +omarchy-refresh-config hypr/hypridle.conf +omarchy-restart-hypridle diff --git a/bin/omarchy-refresh-hyprland b/bin/omarchy-refresh-hyprland index e62134cf..7c0a278b 100755 --- a/bin/omarchy-refresh-hyprland +++ b/bin/omarchy-refresh-hyprland @@ -1,7 +1,7 @@ #!/bin/bash -~/.local/share/omarchy/bin/omarchy-refresh-config hypr/autostart.conf -~/.local/share/omarchy/bin/omarchy-refresh-config hypr/bindings.conf -~/.local/share/omarchy/bin/omarchy-refresh-config hypr/envs.conf -~/.local/share/omarchy/bin/omarchy-refresh-config hypr/input.conf -~/.local/share/omarchy/bin/omarchy-refresh-config hypr/hyprland.conf +omarchy-refresh-config hypr/autostart.conf +omarchy-refresh-config hypr/bindings.conf +omarchy-refresh-config hypr/envs.conf +omarchy-refresh-config hypr/input.conf +omarchy-refresh-config hypr/hyprland.conf diff --git a/bin/omarchy-refresh-hyprlock b/bin/omarchy-refresh-hyprlock index 345d6ae2..fde6dc47 100755 --- a/bin/omarchy-refresh-hyprlock +++ b/bin/omarchy-refresh-hyprlock @@ -1,3 +1,3 @@ #!/bin/bash -~/.local/share/omarchy/bin/omarchy-refresh-config hypr/hyprlock.conf +omarchy-refresh-config hypr/hyprlock.conf diff --git a/bin/omarchy-refresh-hyprsunset b/bin/omarchy-refresh-hyprsunset index fb458af9..ca2ab1a6 100755 --- a/bin/omarchy-refresh-hyprsunset +++ b/bin/omarchy-refresh-hyprsunset @@ -1,4 +1,4 @@ #!/bin/bash -~/.local/share/omarchy/bin/omarchy-refresh-config hypr/hyprsunset.conf -~/.local/share/omarchy/bin/omarchy-restart-hyprsunset +omarchy-refresh-config hypr/hyprsunset.conf +omarchy-restart-hyprsunset diff --git a/bin/omarchy-refresh-swayosd b/bin/omarchy-refresh-swayosd index c2903735..0dd7f0db 100755 --- a/bin/omarchy-refresh-swayosd +++ b/bin/omarchy-refresh-swayosd @@ -1,5 +1,5 @@ #!/bin/bash -~/.local/share/omarchy/bin/omarchy-refresh-config swayosd/config.toml -~/.local/share/omarchy/bin/omarchy-refresh-config swayosd/style.css -~/.local/share/omarchy/bin/omarchy-restart-swayosd +omarchy-refresh-config swayosd/config.toml +omarchy-refresh-config swayosd/style.css +omarchy-restart-swayosd diff --git a/bin/omarchy-refresh-walker b/bin/omarchy-refresh-walker index 90053acc..aa7a0210 100755 --- a/bin/omarchy-refresh-walker +++ b/bin/omarchy-refresh-walker @@ -1,4 +1,4 @@ #!/bin/bash -~/.local/share/omarchy/bin/omarchy-refresh-config walker/config.toml -~/.local/share/omarchy/bin/omarchy-restart-walker +omarchy-refresh-config walker/config.toml +omarchy-restart-walker diff --git a/bin/omarchy-refresh-waybar b/bin/omarchy-refresh-waybar index 3401efd4..3f6af499 100755 --- a/bin/omarchy-refresh-waybar +++ b/bin/omarchy-refresh-waybar @@ -1,5 +1,5 @@ #!/bin/bash -~/.local/share/omarchy/bin/omarchy-refresh-config waybar/config.jsonc -~/.local/share/omarchy/bin/omarchy-refresh-config waybar/style.css -~/.local/share/omarchy/bin/omarchy-restart-waybar +omarchy-refresh-config waybar/config.jsonc +omarchy-refresh-config waybar/style.css +omarchy-restart-waybar diff --git a/bin/omarchy-restart-hypridle b/bin/omarchy-restart-hypridle index 501440c5..261f0aa3 100755 --- a/bin/omarchy-restart-hypridle +++ b/bin/omarchy-restart-hypridle @@ -1,3 +1,3 @@ #!/bin/bash -~/.local/share/omarchy/bin/omarchy-restart-app hypridle +omarchy-restart-app hypridle diff --git a/bin/omarchy-restart-hyprsunset b/bin/omarchy-restart-hyprsunset index 01b2fa72..0e681bfd 100755 --- a/bin/omarchy-restart-hyprsunset +++ b/bin/omarchy-restart-hyprsunset @@ -1,3 +1,3 @@ #!/bin/bash -~/.local/share/omarchy/bin/omarchy-restart-app hyprsunset +omarchy-restart-app hyprsunset diff --git a/bin/omarchy-restart-swayosd b/bin/omarchy-restart-swayosd index 4a1af50d..b155bc2f 100755 --- a/bin/omarchy-restart-swayosd +++ b/bin/omarchy-restart-swayosd @@ -1,3 +1,3 @@ #!/bin/bash -~/.local/share/omarchy/bin/omarchy-restart-app swayosd-server +omarchy-restart-app swayosd-server diff --git a/bin/omarchy-restart-waybar b/bin/omarchy-restart-waybar index 9e3a1814..53b570ef 100755 --- a/bin/omarchy-restart-waybar +++ b/bin/omarchy-restart-waybar @@ -1,3 +1,3 @@ #!/bin/bash -~/.local/share/omarchy/bin/omarchy-restart-app waybar +omarchy-restart-app waybar diff --git a/bin/omarchy-restart-xcompose b/bin/omarchy-restart-xcompose index c1714a55..45f7d9a8 100755 --- a/bin/omarchy-restart-xcompose +++ b/bin/omarchy-restart-xcompose @@ -1,3 +1,3 @@ #!/bin/bash -~/.local/share/omarchy/bin/omarchy-restart-app fcitx5 +omarchy-restart-app fcitx5 diff --git a/bin/omarchy-state b/bin/omarchy-state new file mode 100755 index 00000000..d55943b6 --- /dev/null +++ b/bin/omarchy-state @@ -0,0 +1,22 @@ +#!/bin/bash + +STATE_DIR="$HOME/.local/state/omarchy" +mkdir -p "$STATE_DIR" + +COMMAND="$1" +STATE_NAME="$2" + +if [[ -z "$COMMAND" ]]; then + echo "Usage: omarchy-state " + exit 1 +fi + +if [[ -z "$STATE_NAME" ]]; then + echo "Usage: omarchy-state $COMMAND " + exit 1 +fi + +case "$COMMAND" in +set) touch "$STATE_DIR/$STATE_NAME" ;; +clear) find "$STATE_DIR" -maxdepth 1 -type f -name "$STATE_NAME" -delete ;; +esac diff --git a/bin/omarchy-theme-install b/bin/omarchy-theme-install index c5e4a066..bc9001e7 100755 --- a/bin/omarchy-theme-install +++ b/bin/omarchy-theme-install @@ -30,4 +30,4 @@ if ! git clone "$REPO_URL" "$THEME_PATH"; then fi # Apply the new theme with omarchy-theme-set -~/.local/share/omarchy/bin/omarchy-theme-set $THEME_NAME +omarchy-theme-set $THEME_NAME diff --git a/bin/omarchy-theme-next b/bin/omarchy-theme-next index fb42add0..eb97d907 100755 --- a/bin/omarchy-theme-next +++ b/bin/omarchy-theme-next @@ -30,5 +30,5 @@ NEXT_INDEX=$(((INDEX + 1) % TOTAL)) NEW_THEME=${THEMES[$NEXT_INDEX]} NEW_THEME_NAME=$(basename "$NEW_THEME") -~/.local/share/omarchy/bin/omarchy-theme-set $NEW_THEME_NAME +omarchy-theme-set $NEW_THEME_NAME notify-send "Theme changed to $NEW_THEME_NAME" -t 2000 diff --git a/bin/omarchy-theme-remove b/bin/omarchy-theme-remove index 0fcc00da..e3733feb 100755 --- a/bin/omarchy-theme-remove +++ b/bin/omarchy-theme-remove @@ -33,7 +33,7 @@ fi # Move to the next theme if the current theme is the one being removed if [ "$(readlink -f "$CURRENT_DIR/theme")" = "$(readlink -f "$THEME_PATH")" ]; then - ~/.local/share/omarchy/bin/omarchy-theme-next + omarchy-theme-next fi # Now remove the theme directory for THEME_NAME diff --git a/bin/omarchy-theme-set b/bin/omarchy-theme-set index e348704e..94221af8 100755 --- a/bin/omarchy-theme-set +++ b/bin/omarchy-theme-set @@ -44,10 +44,10 @@ touch "$HOME/.config/alacritty/alacritty.toml" # Restart components to apply new theme pkill -SIGUSR2 btop -~/.local/share/omarchy/bin/omarchy-restart-waybar -~/.local/share/omarchy/bin/omarchy-restart-swayosd +omarchy-restart-waybar +omarchy-restart-swayosd makoctl reload hyprctl reload # Set new background -~/.local/share/omarchy/bin/omarchy-theme-bg-next +omarchy-theme-bg-next diff --git a/bin/omarchy-update b/bin/omarchy-update index 246bb83a..66821d1b 100755 --- a/bin/omarchy-update +++ b/bin/omarchy-update @@ -1,21 +1,9 @@ #!/bin/bash -# Exit immediately if a command exits with a non-zero status set -e -# Get the latest while trying to preserve any modifications -omarchy_path=~/.local/share/omarchy -git -C $omarchy_path pull --autostash -git -C $omarchy_path diff --check || git -C $omarchy_path reset --merge - -# Run migrations -~/.local/share/omarchy/bin/omarchy-migrate - -# Update system packages -echo -e "\e[32m\nUpdate system packages\e[0m" -yay -Syu --noconfirm - -# Offer to reboot if the kernel has been changed -if [ "$(uname -r | sed 's/-arch/\.arch/')" != "$(pacman -Q linux | awk '{print $2}')" ]; then - gum confirm "Linux kernel has been updated. Reboot?" && sudo reboot now -fi +omarchy-update-git +omarchy-migrate +omarchy-update-system-pkgs +omarchy-update-restart +omarchy-restart-waybar # removes update-available icon diff --git a/bin/omarchy-update-git b/bin/omarchy-update-git new file mode 100755 index 00000000..ae1d9d49 --- /dev/null +++ b/bin/omarchy-update-git @@ -0,0 +1,5 @@ +#!/bin/bash + +echo -e "\e[32mUpdate Omarchy\e[0m" +git -C $OMARCHY_PATH pull --autostash +git -C $OMARCHY_PATH diff --check || git -C $OMARCHY_PATH reset --merge diff --git a/bin/omarchy-update-restart b/bin/omarchy-update-restart new file mode 100755 index 00000000..5d8dec0d --- /dev/null +++ b/bin/omarchy-update-restart @@ -0,0 +1,9 @@ +#!/bin/bash + +if [ "$(uname -r | sed 's/-arch/\.arch/')" != "$(pacman -Q linux | awk '{print $2}')" ]; then + gum confirm "New Linux kernel requires reboot. Ready?" && omarchy-state clear re*-required && sudo reboot now +elif [ -f "$HOME/.local/state/omarchy/reboot-required" ]; then + gum confirm "Updates require reboot. Ready?" && omarchy-state clear re*-required && sudo reboot now +elif [ -f "$HOME/.local/state/omarchy/relaunch-required" ]; then + gum confirm "Updates require Hyprland relaunch. Ready?" && omarchy-state clear relaunch-required && uwsm stop +fi diff --git a/bin/omarchy-update-system-pkgs b/bin/omarchy-update-system-pkgs new file mode 100755 index 00000000..9b65fd09 --- /dev/null +++ b/bin/omarchy-update-system-pkgs @@ -0,0 +1,5 @@ +#!/bin/bash + +echo -e "\e[32m\nUpdate system packages\e[0m" +yay -Syu --noconfirm +echo diff --git a/bin/omarchy-version b/bin/omarchy-version new file mode 100755 index 00000000..4ac84815 --- /dev/null +++ b/bin/omarchy-version @@ -0,0 +1,3 @@ +#!/bin/bash + +git -C "$OMARCHY_PATH" describe --tags $(git -C "$OMARCHY_PATH" rev-list --tags --max-count=1) diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf index e03c3005..4b64c02d 100644 --- a/config/hypr/hyprland.conf +++ b/config/hypr/hyprland.conf @@ -1,5 +1,12 @@ # Learn how to configure Hyprland: https://wiki.hyprland.org/Configuring/ +# Change your own setup in these files (and overwrite any settings from defaults!) +source = ~/.config/hypr/monitors.conf +source = ~/.config/hypr/input.conf +source = ~/.config/hypr/bindings.conf +source = ~/.config/hypr/envs.conf +source = ~/.config/hypr/autostart.conf + # Use defaults Omarchy defaults (but don't edit these directly!) source = ~/.local/share/omarchy/default/hypr/autostart.conf source = ~/.local/share/omarchy/default/hypr/bindings/media.conf @@ -10,10 +17,3 @@ 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 - -# Change your own setup in these files (and overwrite any settings from defaults!) -source = ~/.config/hypr/monitors.conf -source = ~/.config/hypr/input.conf -source = ~/.config/hypr/bindings.conf -source = ~/.config/hypr/envs.conf -source = ~/.config/hypr/autostart.conf diff --git a/config/hypr/input.conf b/config/hypr/input.conf index 274d80d9..813ad29e 100644 --- a/config/hypr/input.conf +++ b/config/hypr/input.conf @@ -1,9 +1,9 @@ # Control your input devices # See https://wiki.hypr.land/Configuring/Variables/#input input { - # Use multiple keyboard layouts and switch between them with Alt + Space + # Use multiple keyboard layouts and switch between them with Left Alt + Right Alt # kb_layout = us,dk - kb_options = compose:caps # ,grp:alt_space_toggle + kb_options = compose:caps # ,grp:alts_toggle # Change speed of keyboard repeat repeat_rate = 40 diff --git a/config/uwsm/env b/config/uwsm/env new file mode 100644 index 00000000..b86c38b8 --- /dev/null +++ b/config/uwsm/env @@ -0,0 +1,6 @@ +export OMARCHY_PATH=$HOME/.local/share/omarchy +export PATH=$OMARCHY_PATH/bin/:$PATH + +if command -v mise &> /dev/null; then + eval "$(mise activate bash)" +fi diff --git a/config/walker/config.toml b/config/walker/config.toml index ff6708fe..fe1caf7e 100644 --- a/config/walker/config.toml +++ b/config/walker/config.toml @@ -1,82 +1,29 @@ -app_launch_prefix = "uwsm app -- " -terminal_title_flag = "" -locale = "" -close_when_open = true # Toggle on reopen +close_when_open = true theme = "omarchy-default" theme_base = [] theme_location = ["~/.local/share/omarchy/default/walker/themes/"] -monitor = "" hotreload_theme = true -as_window = false -timeout = 0 -disable_click_to_close = false force_keyboard_focus = true -[keys] -accept_typeahead = ["tab"] -trigger_labels = "lalt" -next = ["down"] -prev = ["up"] -close = ["esc"] -remove_from_history = ["shift backspace"] -resume_query = ["ctrl r"] -toggle_exact_search = ["ctrl m"] - -[keys.activation_modifiers] -keep_open = "shift" -alternate = "alt" - [keys.ai] -clear_session = ["ctrl x"] -copy_last_response = ["ctrl c"] -resume_session = ["ctrl r"] -run_last_responstruee = ["ctrl e"] - -[events] -on_activate = "" -on_selection = "" -on_exit = "" -on_launch = "" -on_query_change = "" +run_last_response = ["ctrl e"] [list] -dynamic_sub = true -keyboard_scroll_style = "emacs" max_entries = 200 -show_initial_entries = true -single_click = true -visibility_threshold = 20 -placeholder = "No Results" [search] -argument_delimiter = "#" placeholder = " Search..." -delay = 0 -resume_last_query = false - -[activation_mode] -labels = "jkl;asdf" [builtins.hyprland_keybinds] -show_sub_when_single = true path = "~/.config/hypr/hyprland.conf" -weight = 5 -name = "hyprland_keybinds" -placeholder = "Hyprland Keybinds" -switcher_only = true hidden = true [builtins.applications] -weight = 5 -name = "applications" +launch_prefix = "uwsm app -- " placeholder = " Search..." prioritize_new = false -hide_actions_with_empty_query = true context_aware = false -refresh = true show_sub_when_single = false -show_icon_when_single = true -show_generic = true history = false icon = "" hidden = true @@ -84,21 +31,10 @@ hidden = true [builtins.applications.actions] enabled = false hide_category = true -hide_without_query = true [builtins.bookmarks] -weight = 5 -placeholder = "Bookmarks" -name = "bookmarks" -icon = "bookmark" -switcher_only = true hidden = true -[[builtins.bookmarks.entries]] -label = "Walker" -url = "https://github.com/abenz1267/walker" -keywords = ["walker", "github"] - [[builtins.bookmarks.entries]] label = "Omarchy - Github" url = "https://github.com/basecamp/omarchy" @@ -109,185 +45,54 @@ label = "Omarchy Manual" url = "https://manuals.omamix.org/2/the-omarchy-manual" keywords = ["omarchy"] -[builtins.xdph_picker] -hidden = true -weight = 5 -placeholder = "Screen/Window Picker" -show_sub_when_single = true -name = "xdphpicker" -switcher_only = true - -[builtins.ai] -weight = 5 -placeholder = "AI" -name = "ai" -icon = "help-browser" -switcher_only = true -show_sub_when_single = true - -[[builtins.ai.anthropic.prompts]] -model = "claude-3-7-sonnet-20250219" -temperature = 1 -max_tokens = 1_000 -label = "General Assistant" -prompt = "You are a helpful general assistant. Keep your answers short and precise." - [builtins.calc] -require_number = true -weight = 5 name = "Calculator" -icon = "accessories-calculator" -placeholder = "Calculator" -min_chars = 3 # Min chars to calculate. 3 allows "3+3" +icon = "" +min_chars = 3 prefix = "=" [builtins.windows] -weight = 5 -icon = "view-restore" -name = "windows" -placeholder = "Windows" -show_icon_when_single = true switcher_only = true hidden = true [builtins.clipboard] -always_put_new_on_top = true -exec = "wl-copy" -weight = 5 -name = "clipboard" -avoid_line_breaks = true -placeholder = "Clipboard" -image_height = 300 -max_entries = 10 -switcher_only = true hidden = true [builtins.commands] -weight = 5 -icon = "utilities-terminal" -switcher_only = true -name = "commands" -placeholder = "Commands" hidden = true [builtins.custom_commands] -weight = 5 -icon = "utilities-terminal" -name = "custom_commands" -placeholder = "Custom Commands" hidden = true [builtins.emojis] -exec = "wl-copy" -weight = 5 name = "Emojis" -placeholder = "Emojis" -switcher_only = true -history = true -typeahead = true -show_unqualified = false +icon = "" prefix = ":" [builtins.symbols] after_copy = "" -weight = 5 -name = "symbols" -placeholder = "Symbols" -switcher_only = true -history = true -typeahead = true hidden = true [builtins.finder] use_fd = true -fd_flags = "--ignore-vcs --type file --type directory" cmd_alt = "xdg-open $(dirname ~/%RESULT%)" -weight = 5 icon = "file" name = "Finder" -placeholder = "Finder" -switcher_only = true -ignore_gitignore = true -refresh = true -concurrency = 8 -show_icon_when_single = true preview_images = true hidden = false prefix = "." [builtins.runner] -eager_loading = true -weight = 5 -icon = "utilities-terminal" -name = "runner" -placeholder = "Runner" -typeahead = true -history = true -generic_entry = false # Generic command runner -shell_config = "" # Path to shell to parse for aliases -refresh = true -use_fd = false +shell_config = "" switcher_only = true hidden = true [builtins.ssh] -weight = 5 -icon = "preferences-system-network" -name = "ssh" -placeholder = "SSH" -switcher_only = true -history = true -refresh = true hidden = true -[builtins.switcher] -weight = 5 -name = "switcher" -placeholder = "Switcher" -prefix = "/" - [builtins.websearch] -keep_selection = true -weight = 5 -icon = "applications-internet" -name = "websearch" -placeholder = "Websearch" switcher_only = true hidden = true -[[builtins.websearch.entries]] -name = "Google" -url = "https://www.google.com/search?q=%TERM%" - -[[builtins.websearch.entries]] -name = "DuckDuckGo" -url = "https://duckduckgo.com/?q=%TERM%" -switcher_only = true - -[[builtins.websearch.entries]] -name = "Ecosia" -url = "https://www.ecosia.org/search?q=%TERM%" -switcher_only = true - -[[builtins.websearch.entries]] -name = "Yandex" -url = "https://yandex.com/search/?text=%TERM%" -switcher_only = true - -[builtins.dmenu] -hidden = true -weight = 5 -name = "dmenu" -placeholder = "Dmenu" -switcher_only = true -show_icon_when_single = true - [builtins.translation] -delay = 1000 -weight = 5 -name = "translation" -icon = "accessories-dictionary" -placeholder = "Translation" -switcher_only = true -provider = "googlefree" hidden = true diff --git a/config/waybar/config.jsonc b/config/waybar/config.jsonc index 2d2af6db..ddbbfeeb 100644 --- a/config/waybar/config.jsonc +++ b/config/waybar/config.jsonc @@ -46,13 +46,13 @@ }, "custom/omarchy": { "format": "", - "on-click": "~/.local/share/omarchy/bin/omarchy-menu", - "tooltip-format": "SUPER + ALT + SPACE" + "on-click": "omarchy-menu", + "tooltip-format": "Omarchy Menu\n\nSuper + Alt + Space" }, "custom/update": { "format": "", - "exec": "~/.local/share/omarchy/bin/omarchy-update-available", - "on-click": "alacritty --class Omarchy --title Omarchy -e ~/.local/share/omarchy/bin/omarchy-update", + "exec": "omarchy-update-available", + "on-click": "alacritty --class Omarchy --title Omarchy -e omarchy-update", "tooltip-format": "Omarchy update available", "interval": 3600 }, @@ -65,7 +65,7 @@ "format": "{:%A %H:%M}", "format-alt": "{:%d %B W%V %Y}", "tooltip": false, - "on-click-right": "~/.local/share/omarchy/bin/omarchy-cmd-tzupdate" + "on-click-right": "omarchy-cmd-tzupdate" }, "network": { "format-icons": ["󰤯","󰤟","󰤢","󰤥","󰤨"], diff --git a/default/bash/aliases b/default/bash/aliases index c5a40ae8..7ec9036e 100644 --- a/default/bash/aliases +++ b/default/bash/aliases @@ -33,6 +33,3 @@ n() { if [ "$#" -eq 0 ]; then nvim .; else nvim "$@"; fi; } alias gcm='git commit -m' alias gcam='git commit -a -m' alias gcad='git commit -a --amend' - -# Find packages without leaving the terminal -alias yayf="yay -Slq | fzf --multi --preview 'yay -Sii {1}' --preview-window=down:75% | xargs -ro yay -S" diff --git a/default/bash/shell b/default/bash/shell index 8b39d841..672aeb1e 100644 --- a/default/bash/shell +++ b/default/bash/shell @@ -10,8 +10,5 @@ if [[ ! -v BASH_COMPLETION_VERSINFO && -f /usr/share/bash-completion/bash_comple fi # Set complete path -export PATH="./bin:$HOME/.local/bin:$HOME/.local/share/omarchy/bin:$PATH" +export PATH="./bin:$HOME/.local/bin:$PATH" set +h - -# Omarchy path -export OMARCHY_PATH="/home/$USER/.local/share/omarchy" diff --git a/default/hypr/apps.conf b/default/hypr/apps.conf index faf14486..69d04f7d 100644 --- a/default/hypr/apps.conf +++ b/default/hypr/apps.conf @@ -6,3 +6,4 @@ source = ~/.local/share/omarchy/default/hypr/apps/retroarch.conf source = ~/.local/share/omarchy/default/hypr/apps/steam.conf source = ~/.local/share/omarchy/default/hypr/apps/system.conf source = ~/.local/share/omarchy/default/hypr/apps/walker.conf +source = ~/.local/share/omarchy/default/hypr/apps/1password.conf diff --git a/default/hypr/apps/1password.conf b/default/hypr/apps/1password.conf new file mode 100644 index 00000000..3d825fe0 --- /dev/null +++ b/default/hypr/apps/1password.conf @@ -0,0 +1 @@ +windowrule = noscreenshare, class:^(1Password)$ diff --git a/default/hypr/apps/steam.conf b/default/hypr/apps/steam.conf index be762090..de91aaa0 100644 --- a/default/hypr/apps/steam.conf +++ b/default/hypr/apps/steam.conf @@ -2,3 +2,5 @@ windowrule = float, class:steam windowrule = center, class:steam, title:Steam windowrule = opacity 1 1, class:steam +windowrule = size 1100 700, class:steam, title:Steam +windowrule = size 460 800, class:steam, title:Friends List diff --git a/default/hypr/apps/system.conf b/default/hypr/apps/system.conf index d90bdadd..d7a84540 100644 --- a/default/hypr/apps/system.conf +++ b/default/hypr/apps/system.conf @@ -2,12 +2,14 @@ windowrule = float, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy|About)$ windowrule = center, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy|About)$ windowrule = size 800 600, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|com.gabm.satty)$ -windowrule = size 600 470, class:Omarchy +windowrule = size 620 470, class:Omarchy windowrule = size 700 520, class:About # Float and center file pickers -windowrule = float, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?|All Files|Save) -windowrule = center, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?|All Files|Save) +windowrule = tag +picker, class:(xdg-desktop-portal-gtk|sublime_text) +windowrule = float, tag:picker, title:^(Open.*Files?|Save.*Files?|All Files|Save) +windowrule = center, tag:picker, title:^(Open.*Files?|Save.*Files?|All Files|Save) +windowrule = size 800 600, tag:picker # Fullscreen screensaver windowrule = fullscreen, class:Screensaver diff --git a/default/hypr/bindings/utilities.conf b/default/hypr/bindings/utilities.conf index 0075b2ce..e234ce9c 100644 --- a/default/hypr/bindings/utilities.conf +++ b/default/hypr/bindings/utilities.conf @@ -1,13 +1,13 @@ # Menus bindd = SUPER, SPACE, Launch apps, exec, walker -p "Start…" -bindd = SUPER ALT, SPACE, Run commands, exec, ~/.local/share/omarchy/bin/omarchy-menu -bindd = SUPER, ESCAPE, Power menu, exec, ~/.local/share/omarchy/bin/omarchy-menu system -bindd = SUPER, K, Show key bindings, exec, ~/.local/share/omarchy/bin/omarchy-menu-keybindings +bindd = SUPER ALT, SPACE, Run commands, exec, omarchy-menu +bindd = SUPER, ESCAPE, Power menu, exec, omarchy-menu system +bindd = SUPER, K, Show key bindings, exec, omarchy-menu-keybindings # Aesthetics bindd = SUPER SHIFT, SPACE, Toggle top bar, exec, pkill -SIGUSR1 waybar -bindd = SUPER CTRL, SPACE, Next background in theme, exec, ~/.local/share/omarchy/bin/omarchy-theme-bg-next -bindd = SUPER SHIFT CTRL, SPACE, Pick new theme, exec, ~/.local/share/omarchy/bin/omarchy-menu theme +bindd = SUPER CTRL, SPACE, Next background in theme, exec, omarchy-theme-bg-next +bindd = SUPER SHIFT CTRL, SPACE, Pick new theme, exec, omarchy-menu theme # Notifications bindd = SUPER, COMMA, Dismiss last notification, exec, makoctl dismiss @@ -15,24 +15,24 @@ bindd = SUPER SHIFT, COMMA, Dismiss all notifications, exec, makoctl dismiss --a bindd = SUPER CTRL, COMMA, Toggle silencing notifications, exec, makoctl mode -t do-not-disturb && makoctl mode | grep -q 'do-not-disturb' && notify-send "Silenced notifications" || notify-send "Enabled notifications" # Toggle idling -bindd = SUPER CTRL, I, Toggle locking on idle, exec, ~/.local/share/omarchy/bin/omarchy-toggle-idle +bindd = SUPER CTRL, I, Toggle locking on idle, exec, omarchy-toggle-idle # Toggle nightlight -bindd = SUPER CTRL, N, Toggle nightlight, exec, ~/.local/share/omarchy/bin/omarchy-toggle-nightlight +bindd = SUPER CTRL, N, Toggle nightlight, exec, omarchy-toggle-nightlight # Control Apple Display brightness -bindd = CTRL, F1, Apple Display brightness down, exec, ~/.local/share/omarchy/bin/omarchy-cmd-apple-display-brightness -5000 -bindd = CTRL, F2, Apple Display brightness up, exec, ~/.local/share/omarchy/bin/omarchy-cmd-apple-display-brightness +5000 -bindd = SHIFT CTRL, F2, Apple Display full brightness, exec, ~/.local/share/omarchy/bin/omarchy-cmd-apple-display-brightness +60000 +bindd = CTRL, F1, Apple Display brightness down, exec, omarchy-cmd-apple-display-brightness -5000 +bindd = CTRL, F2, Apple Display brightness up, exec, omarchy-cmd-apple-display-brightness +5000 +bindd = SHIFT CTRL, F2, Apple Display full brightness, exec, omarchy-cmd-apple-display-brightness +60000 # Screenshots -bindd = , PRINT, Screenshot of region, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenshot -bindd = SHIFT, PRINT, Screenshot of window, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenshot window -bindd = CTRL, PRINT, Screenshot of display, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenshot output +bindd = , PRINT, Screenshot of region, exec, omarchy-cmd-screenshot +bindd = SHIFT, PRINT, Screenshot of window, exec, omarchy-cmd-screenshot window +bindd = CTRL, PRINT, Screenshot of display, exec, omarchy-cmd-screenshot output # Screen recordings -bindd = ALT, PRINT, Screen record a region, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenrecord -bindd = CTRL ALT, PRINT, Screen record display, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenrecord output +bindd = ALT, PRINT, Screen record a region, exec, omarchy-cmd-screenrecord +bindd = CTRL ALT, PRINT, Screen record display, exec, omarchy-cmd-screenrecord output # Color picker bindd = SUPER, PRINT, Color picker, exec, pkill hyprpicker || hyprpicker -a diff --git a/default/hypr/looknfeel.conf b/default/hypr/looknfeel.conf index d73f6775..254051f4 100644 --- a/default/hypr/looknfeel.conf +++ b/default/hypr/looknfeel.conf @@ -69,16 +69,6 @@ animations { animation = workspaces, 0, 0, ease } -# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/ -# "Smart gaps" / "No gaps when only" -# uncomment all if you wish to use that. -# workspace = w[tv1], gapsout:0, gapsin:0 -# workspace = f[1], gapsout:0, gapsin:0 -# windowrule = bordersize 0, floating:0, onworkspace:w[tv1] -# windowrule = rounding 0, floating:0, onworkspace:w[tv1] -# windowrule = bordersize 0, floating:0, onworkspace:f[1] -# windowrule = rounding 0, floating:0, onworkspace:f[1] - # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more dwindle { pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below diff --git a/default/systemd/resolved.conf b/default/systemd/resolved.conf new file mode 100644 index 00000000..5c4adafa --- /dev/null +++ b/default/systemd/resolved.conf @@ -0,0 +1,4 @@ +[Resolve] +DNS=1.1.1.1 +FallbackDNS=8.8.8.8 +DNSStubListener=yes diff --git a/default/walker/themes/omarchy-default.css b/default/walker/themes/omarchy-default.css index 33c25d26..5e40ee4d 100644 --- a/default/walker/themes/omarchy-default.css +++ b/default/walker/themes/omarchy-default.css @@ -22,7 +22,7 @@ slider, } * { - font-family: 'CaskaydiaMono Nerd Font', monospace; + font-family: monospace; font-size: 18px; } diff --git a/install.sh b/install.sh index f2a9f03f..a0240dd4 100755 --- a/install.sh +++ b/install.sh @@ -3,6 +3,7 @@ # Exit immediately if a command exits with a non-zero status set -e +export PATH="$HOME/.local/share/omarchy/bin:$PATH" OMARCHY_INSTALL=~/.local/share/omarchy/install # Give people a chance to retry running the installation @@ -26,6 +27,7 @@ show_subtext() { } # Install prerequisites +source $OMARCHY_INSTALL/preflight/guard.sh source $OMARCHY_INSTALL/preflight/aur.sh source $OMARCHY_INSTALL/preflight/presentation.sh source $OMARCHY_INSTALL/preflight/migrations.sh diff --git a/install/apps/webapps.sh b/install/apps/webapps.sh index 1d23645c..b979dbfe 100644 --- a/install/apps/webapps.sh +++ b/install/apps/webapps.sh @@ -1,15 +1,16 @@ #!/bin/bash if [ -z "$OMARCHY_BARE" ]; then - ~/.local/share/omarchy/bin/omarchy-webapp-install "HEY" https://app.hey.com https://www.hey.com/assets/images/general/hey.png - ~/.local/share/omarchy/bin/omarchy-webapp-install "Basecamp" https://launchpad.37signals.com https://basecamp.com/assets/images/general/basecamp.png - ~/.local/share/omarchy/bin/omarchy-webapp-install "WhatsApp" https://web.whatsapp.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/whatsapp.png - ~/.local/share/omarchy/bin/omarchy-webapp-install "Google Photos" https://photos.google.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/google-photos.png - ~/.local/share/omarchy/bin/omarchy-webapp-install "Google Contacts" https://contacts.google.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/google-contacts.png - ~/.local/share/omarchy/bin/omarchy-webapp-install "Google Messages" https://messages.google.com/web/conversations https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/google-messages.png - ~/.local/share/omarchy/bin/omarchy-webapp-install "ChatGPT" https://chatgpt.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/chatgpt.png - ~/.local/share/omarchy/bin/omarchy-webapp-install "YouTube" https://youtube.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/youtube.png - ~/.local/share/omarchy/bin/omarchy-webapp-install "GitHub" https://github.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/github-light.png - ~/.local/share/omarchy/bin/omarchy-webapp-install "X" https://x.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/x-light.png - ~/.local/share/omarchy/bin/omarchy-webapp-install "Figma" https://figma.com/ https://www.veryicon.com/download/png/application/app-icon-7/figma-1?s=256 + omarchy-webapp-install "HEY" https://app.hey.com https://www.hey.com/assets/images/general/hey.png + omarchy-webapp-install "Basecamp" https://launchpad.37signals.com https://basecamp.com/assets/images/general/basecamp.png + omarchy-webapp-install "WhatsApp" https://web.whatsapp.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/whatsapp.png + omarchy-webapp-install "Google Photos" https://photos.google.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/google-photos.png + omarchy-webapp-install "Google Contacts" https://contacts.google.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/google-contacts.png + omarchy-webapp-install "Google Messages" https://messages.google.com/web/conversations https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/google-messages.png + omarchy-webapp-install "ChatGPT" https://chatgpt.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/chatgpt.png + omarchy-webapp-install "YouTube" https://youtube.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/youtube.png + omarchy-webapp-install "GitHub" https://github.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/github-light.png + omarchy-webapp-install "X" https://x.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/x-light.png + omarchy-webapp-install "Figma" https://figma.com/ https://www.veryicon.com/download/png/application/app-icon-7/figma-1?s=256 + omarchy-webapp-install "Discord" https://discord.com/channels/@me https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/discord.png fi diff --git a/install/apps/xtras.sh b/install/apps/xtras.sh index 36c88e93..19ecdd13 100644 --- a/install/apps/xtras.sh +++ b/install/apps/xtras.sh @@ -17,4 +17,4 @@ if [ -z "$OMARCHY_BARE" ]; then fi # Copy over Omarchy applications -source ~/.local/share/omarchy/bin/omarchy-refresh-applications || true +source omarchy-refresh-applications || true diff --git a/install/config/config.sh b/install/config/config.sh index 4f08303a..2f420e8d 100644 --- a/install/config/config.sh +++ b/install/config/config.sh @@ -26,6 +26,12 @@ sudo gpgconf --launch dirmngr || true sudo sed -i 's|^\(auth\s\+required\s\+pam_faillock.so\)\s\+preauth.*$|\1 preauth silent deny=10 unlock_time=120|' "/etc/pam.d/system-auth" sudo sed -i 's|^\(auth\s\+\[default=die\]\s\+pam_faillock.so\)\s\+authfail.*$|\1 authfail deny=10 unlock_time=120|' "/etc/pam.d/system-auth" +# Set Cloudflare as primary DNS (with Google as backup) +sudo cp ~/.local/share/omarchy/default/systemd/resolved.conf /etc/systemd/ + +# Solve common flakiness with SSH +echo "net.ipv4.tcp_mtu_probing=1" | sudo tee -a /etc/sysctl.d/99-sysctl.conf + # Set common git aliases git config --global alias.co checkout git config --global alias.br branch diff --git a/install/config/network.sh b/install/config/network.sh index f0b11499..c7ef33c4 100644 --- a/install/config/network.sh +++ b/install/config/network.sh @@ -7,12 +7,6 @@ if ! command -v iwctl &>/dev/null; then sudo systemctl enable --now iwd.service fi -# Fix systemd-networkd-wait-online timeout for multiple interfaces -# Wait for any interface to be online rather than all interfaces -# https://wiki.archlinux.org/title/Systemd-networkd#Multiple_interfaces_that_are_not_connected_all_the_time -sudo mkdir -p /etc/systemd/system/systemd-networkd-wait-online.service.d -sudo tee /etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf >/dev/null </dev/null && abort "Fresh + Vanilla Arch" +pacman -Qe plasma-desktop &>/dev/null && abort "Fresh + Vanilla Arch" + +# Cleared all guards +echo "Guards: OK" diff --git a/migrations/1751134560.sh b/migrations/1751134560.sh new file mode 100644 index 00000000..a8932f45 --- /dev/null +++ b/migrations/1751134560.sh @@ -0,0 +1,14 @@ +echo "Add UWSM env" + +export OMARCHY_PATH="$HOME/.local/share/omarchy" +export PATH="$OMARCHY_PATH/bin:$PATH" + +mkdir -p "$HOME/.config/uwsm/" +omarchy-refresh-config uwsm/env + +echo -e "\n\e[31mOmarchy bins have been added to PATH (and OMARCHY_PATH is now system-wide).\nYou must immediately relaunch Hyprland or most Omarchy cmds won't work.\nPlease run Omarchy > Update again after the quick relaunch is complete.\e[0m" +echo + +gum confirm "Ready to relaunch Hyprland? (All applications will be closed)" && + touch ~/.local/state/omarchy/migrations/1751134560.sh && + uwsm stop diff --git a/migrations/1751225707.sh b/migrations/1751225707.sh index 0ceded1c..16387778 100644 --- a/migrations/1751225707.sh +++ b/migrations/1751225707.sh @@ -2,5 +2,5 @@ echo "Fixing persistent workspaces in waybar config" if [[ -f ~/.config/waybar/config ]]; then sed -i 's/"persistent_workspaces":/"persistent-workspaces":/' ~/.config/waybar/config - ~/.local/share/omarchy/bin/omarchy-restart-waybar + omarchy-restart-waybar fi diff --git a/migrations/1751887718.sh b/migrations/1751887718.sh index dc679bef..d62fbdd0 100644 --- a/migrations/1751887718.sh +++ b/migrations/1751887718.sh @@ -2,5 +2,5 @@ echo "Install Impala as new wifi selection TUI" if ! command -v impala &>/dev/null; then yay -S --noconfirm --needed impala echo "You need to update the Waybar config to use Impala Wi-Fi selector in top bar." - ~/.local/share/omarchy/bin/omarchy-refresh-waybar + omarchy-refresh-waybar fi diff --git a/migrations/1752725616.sh b/migrations/1752725616.sh index f7bd2960..5dddefe9 100644 --- a/migrations/1752725616.sh +++ b/migrations/1752725616.sh @@ -7,7 +7,7 @@ if [[ -f ~/.local/share/applications/blueberry.desktop ]]; then gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark" - ~/.local/share/omarchy/bin/omarchy-refresh-waybar + omarchy-refresh-waybar fi if [[ ! -L "~/.config/omarchy/themes/rose-pine" ]]; then diff --git a/migrations/1752896442.sh b/migrations/1752896442.sh index f1e16f5c..012acfc5 100644 --- a/migrations/1752896442.sh +++ b/migrations/1752896442.sh @@ -4,6 +4,6 @@ if ! command -v wiremix &>/dev/null; then yay -S --noconfirm --needed wiremix yay -Rns --noconfirm pavucontrol - ~/.local/share/omarchy/bin/omarchy-refresh-applications - ~/.local/share/omarchy/bin/omarchy-refresh-waybar + omarchy-refresh-applications + omarchy-refresh-waybar fi diff --git a/migrations/1752899588.sh b/migrations/1752899588.sh index 32c3ba97..ba778cd8 100644 --- a/migrations/1752899588.sh +++ b/migrations/1752899588.sh @@ -1,2 +1,2 @@ echo "Update .config/hypr/hyprlock.conf to include failed attempt counter" -~/.local/share/omarchy/bin/omarchy-refresh-hyprlock +omarchy-refresh-hyprlock diff --git a/migrations/1753062084.sh b/migrations/1753062084.sh index 80406100..abfe326c 100644 --- a/migrations/1753062084.sh +++ b/migrations/1753062084.sh @@ -1,5 +1,5 @@ echo "Fix dancing workspace numbers in Waybar" if ! grep -q 'min-width: 9px' ~/.config/waybar/style.css; then - ~/.local/share/omarchy/bin/omarchy-refresh-waybar + omarchy-refresh-waybar fi diff --git a/migrations/1753495989.sh b/migrations/1753495989.sh index cfa411f3..5c0efcda 100644 --- a/migrations/1753495989.sh +++ b/migrations/1753495989.sh @@ -1,5 +1,5 @@ echo "Allow updating of timezone by right-clicking on the clock (or running omarchy-cmd-tzupdate)" if ! command -v tzupdate &>/dev/null; then bash ~/.local/share/omarchy/install/config/timezones.sh - ~/.local/share/omarchy/bin/omarchy-refresh-waybar + omarchy-refresh-waybar fi diff --git a/migrations/1753558374.sh b/migrations/1753558374.sh index a8735468..b961d3ed 100644 --- a/migrations/1753558374.sh +++ b/migrations/1753558374.sh @@ -1,4 +1,4 @@ echo "Update Walker config to include = as the leader key for the calculator" if ! grep -q 'prefix = "="' ~/.config/walker/config.toml; then - ~/.local/share/omarchy/bin/omarchy-refresh-walker + omarchy-refresh-walker fi diff --git a/migrations/1753998861.sh b/migrations/1753998861.sh index 9145ec9c..4751dee5 100644 --- a/migrations/1753998861.sh +++ b/migrations/1753998861.sh @@ -1,4 +1,4 @@ echo "Update Walker config to include . as the leader key for the finder" if ! grep -q 'prefix = "\."' ~/.config/walker/config.toml; then - ~/.local/share/omarchy/bin/omarchy-refresh-walker + omarchy-refresh-walker fi diff --git a/migrations/1754108993.sh b/migrations/1754108993.sh index e49eac70..59531e73 100644 --- a/migrations/1754108993.sh +++ b/migrations/1754108993.sh @@ -1,2 +1,2 @@ echo "Fix Plymouth login positioning in multi-monitor setups + limit password from overflowing" -~/.local/share/omarchy/bin/omarchy-refresh-plymouth +omarchy-refresh-plymouth diff --git a/migrations/1754109724.sh b/migrations/1754109724.sh index 421e37db..b8ff9096 100644 --- a/migrations/1754109724.sh +++ b/migrations/1754109724.sh @@ -3,4 +3,4 @@ if ! command -v hyprsunset &>/dev/null; then yay -S --noconfirm --needed hyprsunset fi -~/.local/share/omarchy/bin/omarchy-refresh-hyprsunset +omarchy-refresh-hyprsunset diff --git a/migrations/1754113760.sh b/migrations/1754113760.sh index de654f53..f66c1a4d 100644 --- a/migrations/1754113760.sh +++ b/migrations/1754113760.sh @@ -6,5 +6,5 @@ if ! grep -q 'on_unlock_cmd *= *omarchy-restart-waybar' ~/.config/hypr/hypridle. on_unlock_cmd = omarchy-restart-waybar # prevent stacking of waybar when waking' \ ~/.config/hypr/hypridle.conf - ~/.local/share/omarchy/bin/omarchy-restart-waybar + omarchy-restart-waybar fi diff --git a/migrations/1754133148.sh b/migrations/1754133148.sh index 010fba71..30294abb 100644 --- a/migrations/1754133148.sh +++ b/migrations/1754133148.sh @@ -1,6 +1,6 @@ echo "Update Waybar CSS to dim unused workspaces" if ! grep -q "#workspaces button\.empty" ~/.config/waybar/style.css; then - ~/.local/share/omarchy/bin/omarchy-refresh-config waybar/style.css - ~/.local/share/omarchy/bin/omarchy-restart-waybar + omarchy-refresh-config waybar/style.css + omarchy-restart-waybar fi diff --git a/migrations/1754136581.sh b/migrations/1754136581.sh index 11dc46d1..d2c78b94 100644 --- a/migrations/1754136581.sh +++ b/migrations/1754136581.sh @@ -1,6 +1,6 @@ echo "Start screensaver automatically after 1 minute and stop before locking" if ! grep -q "omarchy-launch-screensaver" ~/.config/hypr/hypridle.conf; then - ~/.local/share/omarchy/bin/omarchy-refresh-hypridle - ~/.local/share/omarchy/bin/omarchy-refresh-hyprlock + omarchy-refresh-hypridle + omarchy-refresh-hyprlock fi diff --git a/migrations/1754208139.sh b/migrations/1754208139.sh index c24407a2..b95c7443 100644 --- a/migrations/1754208139.sh +++ b/migrations/1754208139.sh @@ -1,5 +1,5 @@ echo "Ensure screensaver doesn't start while the computer is locked" if ! grep -q "pidof hyprlock || omarchy-launch-screensaver" ~/.config/hypr/hypridle.conf; then - ~/.local/share/omarchy/bin/omarchy-refresh-hypridle + omarchy-refresh-hypridle fi diff --git a/migrations/1754215439.sh b/migrations/1754215439.sh index f234e1a3..90651bb0 100644 --- a/migrations/1754215439.sh +++ b/migrations/1754215439.sh @@ -1,5 +1,5 @@ echo "Update app launcher config to allow enough entries to show all keybindings on SUPER+K" if ! grep "max_entries = 200" ~/.config/walker/config.toml; then - ~/.local/share/omarchy/bin/omarchy-refresh-walker + omarchy-refresh-walker fi diff --git a/migrations/1754228071.sh b/migrations/1754228071.sh index 5d6bf957..e7b69b11 100644 --- a/migrations/1754228071.sh +++ b/migrations/1754228071.sh @@ -1,5 +1,5 @@ echo "Add auto-update icon to waybar when update available" if ! grep -q "custom/update" ~/.config/waybar/config.jsonc; then - ~/.local/share/omarchy/bin/omarchy-refresh-waybar + omarchy-refresh-waybar fi diff --git a/migrations/1754228679.sh b/migrations/1754228679.sh index 3ff2f717..2a80234d 100644 --- a/migrations/1754228679.sh +++ b/migrations/1754228679.sh @@ -1,2 +1,2 @@ echo "Increase time before screensaver starts to 2.5 minutes (from 1 minute)" -~/.local/share/omarchy/bin/omarchy-refresh-hypridle +omarchy-refresh-hypridle diff --git a/migrations/1754265453.sh b/migrations/1754265453.sh index 274aa45f..412d75e0 100644 --- a/migrations/1754265453.sh +++ b/migrations/1754265453.sh @@ -1,2 +1,2 @@ echo "Add chromium-flags.conf" -~/.local/share/omarchy/bin/omarchy-refresh-config chromium-flags.conf +omarchy-refresh-config chromium-flags.conf diff --git a/migrations/1754305112.sh b/migrations/1754305112.sh index 5d7e4ba0..e23ea5d9 100644 --- a/migrations/1754305112.sh +++ b/migrations/1754305112.sh @@ -1,2 +1,2 @@ echo "Restart Walker to pick up menu selections" -~/.local/share/omarchy/bin/omarchy-restart-walker +omarchy-restart-walker diff --git a/migrations/1754331529.sh b/migrations/1754331529.sh index 8ed51c24..ae92aae4 100644 --- a/migrations/1754331529.sh +++ b/migrations/1754331529.sh @@ -1,5 +1,5 @@ echo "Update Waybar for new Omarchy menu" if ! grep -q "" ~/.config/waybar/config.jsonc; then - ~/.local/share/omarchy/bin/omarchy-refresh-waybar + omarchy-refresh-waybar fi diff --git a/migrations/1754389057.sh b/migrations/1754389057.sh index e1ee7ff9..cd591fc1 100644 --- a/migrations/1754389057.sh +++ b/migrations/1754389057.sh @@ -4,7 +4,7 @@ if [[ ! -f ~/.config/hypr/autostarts.conf ]]; then echo -e "\nOmarchy now splits default .config/hypr/hyprland.conf into sub-configs." echo -e "Resetting to defaults will overwrite your configuration, but save it as .bak.\n" if gum confirm "Use new default hyprland.conf config?"; then - ~/.local/share/omarchy/bin/omarchy-refresh-hyprland || true + omarchy-refresh-hyprland || true else echo "Left your existing configuration in place!" fi diff --git a/migrations/1754390772.sh b/migrations/1754390772.sh index 943ac658..86c95d65 100644 --- a/migrations/1754390772.sh +++ b/migrations/1754390772.sh @@ -2,5 +2,5 @@ echo "Set SwayOSD max volume back to 100" if ! grep -q "max_volume = 100" ~/.config/swayosd/config.toml; then sed -i 's/max_volume = 150/max_volume = 100/' ~/.config/swayosd/config.toml - ~/.local/share/omarchy/bin/omarchy-restart-swayosd + omarchy-restart-swayosd fi diff --git a/migrations/1754515289.sh b/migrations/1754515289.sh index 82aad356..9d1d3986 100644 --- a/migrations/1754515289.sh +++ b/migrations/1754515289.sh @@ -1,4 +1,4 @@ echo "Update and restart Walker to resolve stuck Omarchy menu" yay -Sy --noconfirm walker-bin -~/.local/share/omarchy/bin/omarchy-restart-walker +omarchy-restart-walker diff --git a/migrations/1754568612.sh b/migrations/1754568612.sh index 21ca99d7..827eee0b 100644 --- a/migrations/1754568612.sh +++ b/migrations/1754568612.sh @@ -1,6 +1,6 @@ echo "Update Waybar config to fix path issue with update-available icon click" if grep -q "alacritty --class Omarchy --title Omarchy -e omarchy-update" ~/.config/waybar/config.jsonc; then - sed -i 's|\("on-click": "alacritty --class Omarchy --title Omarchy -e \)omarchy-update"|\1~/.local/share/omarchy/bin/omarchy-update"|' ~/.config/waybar/config.jsonc - ~/.local/share/omarchy/bin/omarchy-restart-waybar + sed -i 's|\("on-click": "alacritty --class Omarchy --title Omarchy -e \)omarchy-update"|\1omarchy-update"|' ~/.config/waybar/config.jsonc + omarchy-restart-waybar fi diff --git a/migrations/1754652760.sh b/migrations/1754652760.sh index 24832144..0f62a5f6 100644 --- a/migrations/1754652760.sh +++ b/migrations/1754652760.sh @@ -1,3 +1,3 @@ echo "Fix the expand icon margin in the Waybar style" -~/.local/share/omarchy/bin/omarchy-refresh-config waybar/style.css +omarchy-refresh-config waybar/style.css diff --git a/migrations/1754666868.sh b/migrations/1754666868.sh index 590422fd..db311aed 100644 --- a/migrations/1754666868.sh +++ b/migrations/1754666868.sh @@ -1,3 +1,3 @@ echo "Update OS icon in About from Windows to Arch" -~/.local/share/omarchy/bin/omarchy-refresh-config fastfetch/config.jsonc +omarchy-refresh-config fastfetch/config.jsonc diff --git a/migrations/1754668999.sh b/migrations/1754668999.sh new file mode 100644 index 00000000..8a4dcfb5 --- /dev/null +++ b/migrations/1754668999.sh @@ -0,0 +1,8 @@ +echo "Set default DNS to Cloudflare (backup to Google) and tune MTU probing for more reliable SSH" + +# Set Cloudflare as primary DNS (with Google as backup) +sudo cp ~/.local/share/omarchy/default/systemd/resolved.conf /etc/systemd/ +sudo systemctl restart systemd-resolved + +# Solve common flakiness with SSH +echo "net.ipv4.tcp_mtu_probing=1" | sudo tee -a /etc/sysctl.d/99-sysctl.conf diff --git a/migrations/1754679822.sh b/migrations/1754679822.sh index fa53f033..3787c647 100644 --- a/migrations/1754679822.sh +++ b/migrations/1754679822.sh @@ -1,5 +1,5 @@ echo "Lock 1password on screen lock" if ! grep -q "omarchy-lock-screen" ~/.config/hypr/hypridle.conf; then - ~/.local/share/omarchy/bin/omarchy-refresh-hypridle + omarchy-refresh-hypridle fi diff --git a/migrations/1754828680.sh b/migrations/1754828680.sh new file mode 100644 index 00000000..6deb7c44 --- /dev/null +++ b/migrations/1754828680.sh @@ -0,0 +1,2 @@ +echo "Update Walker config" +omarchy-refresh-walker diff --git a/migrations/1754856741.sh b/migrations/1754856741.sh new file mode 100644 index 00000000..e6ef2be7 --- /dev/null +++ b/migrations/1754856741.sh @@ -0,0 +1,5 @@ +echo "Disable systemd-networkd-wait-online" + +sudo rm -rf /etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf +sudo systemctl disable systemd-networkd-wait-online.service +sudo systemctl mask systemd-networkd-wait-online.service diff --git a/migrations/1754919057.sh b/migrations/1754919057.sh new file mode 100644 index 00000000..b065bbc9 --- /dev/null +++ b/migrations/1754919057.sh @@ -0,0 +1,5 @@ +echo "Improve tooltip for Omarchy menu icon" + +if grep -q "SUPER + ALT + SPACE" ~/.config/waybar/config.jsonc; then + sed -i 's/SUPER + ALT + SPACE/Omarchy Menu\\n\\nSuper + Alt + Space/' ~/.config/waybar/config.jsonc +fi diff --git a/migrations/1754922805.sh b/migrations/1754922805.sh new file mode 100644 index 00000000..38de50cd --- /dev/null +++ b/migrations/1754922805.sh @@ -0,0 +1,3 @@ +echo "Replace missing icon for Audio Settings in application launcher" + +cp $OMARCHY_PATH/applications/wiremix.desktop ~/.local/share/applications/ diff --git a/themes/osaka-jade/backgrounds/osaka-jade-bg-2.jpg b/themes/osaka-jade/backgrounds/osaka-jade-bg-2.jpg new file mode 100644 index 00000000..9b979561 Binary files /dev/null and b/themes/osaka-jade/backgrounds/osaka-jade-bg-2.jpg differ diff --git a/themes/osaka-jade/backgrounds/osaka-jade-bg-3.jpg b/themes/osaka-jade/backgrounds/osaka-jade-bg-3.jpg new file mode 100644 index 00000000..729ccae4 Binary files /dev/null and b/themes/osaka-jade/backgrounds/osaka-jade-bg-3.jpg differ