Merge pull request #661 from basecamp/dev

Omarchy v1.13.0
This commit is contained in:
David Heinemeier Hansson 2025-08-11 18:28:57 +02:00 committed by GitHub
commit 79bdb151d1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
89 changed files with 520 additions and 422 deletions

View File

@ -2,7 +2,7 @@
Version=1.0 Version=1.0
Name=About Name=About
Comment=System information from Fastfetch 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 Terminal=false
Type=Application Type=Application
Icon=Arch Icon=Arch

View File

@ -2,6 +2,6 @@
Name=Audio Settings Name=Audio Settings
Comment=Using Wiremix Comment=Using Wiremix
Exec=alacritty --class=Wiremix --title=Wiremix -e wiremix Exec=alacritty --class=Wiremix --title=Wiremix -e wiremix
Icon=audio-card Icon=audio-headphones
Type=Application Type=Application
Terminal=false Terminal=false

View File

@ -12,8 +12,9 @@ if [[ -n "$font_name" && "$font_name" != "CNCLD" ]]; then
-v "$font_name" \ -v "$font_name" \
~/.config/fontconfig/fonts.conf ~/.config/fontconfig/fonts.conf
~/.local/share/omarchy/bin/omarchy-restart-waybar omarchy-restart-waybar
~/.local/share/omarchy/bin/omarchy-restart-swayosd omarchy-restart-swayosd
omarchy-restart-walker
else else
echo "Font '$font_name' not found." echo "Font '$font_name' not found."
exit 1 exit 1

111
bin/omarchy-install-dev-env Executable file
View File

@ -0,0 +1,111 @@
#!/bin/bash
if [[ -z "$1" ]]; then
echo "Usage: omarchy-instal-dev-env <ruby|node|bun|go|laravel|symfony|php|python|elixir|rust|java|ocaml|dotnet>" >&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

View File

@ -6,4 +6,4 @@ sudo pacman -Sy
echo "Now pick dependencies matching your graphics card" echo "Now pick dependencies matching your graphics card"
yay -S steam yay -S steam
gtk-launch steam >/dev/null 2>&1 & setsid gtk-launch steam >/dev/null 2>&1 &

8
bin/omarchy-install-tailscale Executable file
View File

@ -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

View File

@ -10,7 +10,7 @@ for m in $(hyprctl monitors -j | jq -r '.[] | .name'); do
hyprctl dispatch exec -- \ hyprctl dispatch exec -- \
alacritty --class Screensaver \ alacritty --class Screensaver \
--config-file ~/.local/share/omarchy/default/alacritty/screensaver.toml \ --config-file ~/.local/share/omarchy/default/alacritty/screensaver.toml \
-e ~/.local/share/omarchy/bin/omarchy-cmd-screensaver -e omarchy-cmd-screensaver
done done
hyprctl dispatch focusmonitor $focused hyprctl dispatch focusmonitor $focused

View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
OMARCHY_BIN_PATH=~/.local/share/omarchy/bin export PATH="$HOME/.local/share/omarchy/bin:$PATH"
menu() { menu() {
local prompt="$1" local prompt="$1"
@ -26,7 +26,7 @@ terminal() {
} }
present_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() { edit_in_nvim() {
@ -43,16 +43,16 @@ install() {
} }
install_and_launch() { 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() { 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() { show_learn_menu() {
case $(menu "Learn" " Keybindings\n Omarchy\n Hyprland\n󰣇 Arch\n Neovim\n󱆃 Bash") in 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" ;; *Omarchy*) open_web "https://manuals.omamix.org/2/the-omarchy-manual" ;;
*Hyprland*) open_web "https://wiki.hypr.land/" ;; *Hyprland*) open_web "https://wiki.hypr.land/" ;;
*Arch*) open_web "https://wiki.archlinux.org/title/Main_page" ;; *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 case $(menu "Style" "󰸌 Theme\n Font\n Background") in
*Theme*) show_theme_menu ;; *Theme*) show_theme_menu ;;
*Font*) show_font_menu ;; *Font*) show_font_menu ;;
*Background*) $OMARCHY_BIN_PATH/omarchy-theme-bg-next ;; *Background*) omarchy-theme-bg-next ;;
*) show_main_menu ;; *) show_main_menu ;;
esac esac
} }
show_theme_menu() { 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 if [[ "$theme" == "CNCLD" || -z "$theme" ]]; then
show_main_menu show_main_menu
else else
$OMARCHY_BIN_PATH/omarchy-theme-set "$theme" omarchy-theme-set "$theme"
fi fi
} }
show_font_menu() { 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 if [[ "$theme" == "CNCLD" || -z "$theme" ]]; then
show_main_menu show_main_menu
else else
$OMARCHY_BIN_PATH/omarchy-font-set "$theme" omarchy-font-set "$theme"
fi fi
} }
@ -100,26 +100,26 @@ show_capture_menu() {
show_screenshot_menu() { show_screenshot_menu() {
case $(menu "Screenshot" " Region\n Window\n Display") in case $(menu "Screenshot" " Region\n Window\n Display") in
*Region*) $OMARCHY_BIN_PATH/omarchy-cmd-screenshot ;; *Region*) omarchy-cmd-screenshot ;;
*Window*) $OMARCHY_BIN_PATH/omarchy-cmd-screenshot window ;; *Window*) omarchy-cmd-screenshot window ;;
*Display*) $OMARCHY_BIN_PATH/omarchy-cmd-screenshot output ;; *Display*) omarchy-cmd-screenshot output ;;
*) show_capture_menu ;; *) show_capture_menu ;;
esac esac
} }
show_screenrecord_menu() { show_screenrecord_menu() {
case $(menu "Screenrecord" " Region\n Display") in case $(menu "Screenrecord" " Region\n Display") in
*Region*) $OMARCHY_BIN_PATH/omarchy-cmd-screenrecord ;; *Region*) omarchy-cmd-screenrecord ;;
*Display*) $OMARCHY_BIN_PATH/omarchy-cmd-screenrecord output ;; *Display*) omarchy-cmd-screenrecord output ;;
*) show_capture_menu ;; *) show_capture_menu ;;
esac esac
} }
show_toggle_menu() { show_toggle_menu() {
case $(menu "Toggle" "󱄄 Screensaver\n󰔎 Nightlight\n󱫖 Idle Lock\n󰍜 Top Bar") in case $(menu "Toggle" "󱄄 Screensaver\n󰔎 Nightlight\n󱫖 Idle Lock\n󰍜 Top Bar") in
*Screensaver*) $OMARCHY_BIN_PATH/omarchy-launch-screensaver ;; *Screensaver*) omarchy-launch-screensaver ;;
*Nightlight*) $OMARCHY_BIN_PATH/omarchy-toggle-nightlight ;; *Nightlight*) omarchy-toggle-nightlight ;;
*Idle*) $OMARCHY_BIN_PATH/omarchy-toggle-idle ;; *Idle*) omarchy-toggle-idle ;;
*Bar*) pkill -SIGUSR1 waybar ;; *Bar*) pkill -SIGUSR1 waybar ;;
*) show_main_menu ;; *) show_main_menu ;;
esac esac
@ -140,14 +140,14 @@ show_setup_menu() {
*Keybindings*) edit_in_nvim ~/.config/hypr/bindings.conf ;; *Keybindings*) edit_in_nvim ~/.config/hypr/bindings.conf ;;
*Input*) edit_in_nvim ~/.config/hypr/input.conf ;; *Input*) edit_in_nvim ~/.config/hypr/input.conf ;;
*Config*) show_setup_config_menu ;; *Config*) show_setup_config_menu ;;
*Fingerprint*) present_terminal $OMARCHY_BIN_PATH/omarchy-setup-fingerprint ;; *Fingerprint*) present_terminal omarchy-setup-fingerprint ;;
*Fido2*) present_terminal $OMARCHY_BIN_PATH/omarchy-setup-fido2 ;; *Fido2*) present_terminal omarchy-setup-fido2 ;;
*) show_main_menu ;; *) show_main_menu ;;
esac esac
} }
show_setup_power_menu() { 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 if [[ "$profile" == "CNCLD" || -z "$profile" ]]; then
show_main_menu show_main_menu
@ -159,55 +159,74 @@ show_setup_power_menu() {
show_setup_config_menu() { show_setup_config_menu() {
case $(menu "Setup" " Hyprland\n Hypridle\n Hyprlock\n Hyprsunset\n Swayosd\n󰌧 Walker\n󰍜 Waybar\n󰞅 XCompose") in 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 ;; *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 ;; *Hyprlock*) edit_in_nvim ~/.config/hypr/hyprlock.conf ;;
*Hyprsunset*) edit_in_nvim ~/.config/hypr/hyprsunset.conf && ~/.local/share/omarchy/bin/omarchy-restart-hyprsunset ;; *Hyprsunset*) edit_in_nvim ~/.config/hypr/hyprsunset.conf && omarchy-restart-hyprsunset ;;
*Swayosd*) edit_in_nvim ~/.config/swayosd/config.toml && ~/.local/share/omarchy/bin/omarchy-restart-swayosd ;; *Swayosd*) edit_in_nvim ~/.config/swayosd/config.toml && omarchy-restart-swayosd ;;
*Walker*) edit_in_nvim ~/.config/walker/config.toml && ~/.local/share/omarchy/bin/omarchy-restart-walker ;; *Walker*) edit_in_nvim ~/.config/walker/config.toml && omarchy-restart-walker ;;
*Waybar*) edit_in_nvim ~/.config/waybar/config.jsonc && ~/.local/share/omarchy/bin/omarchy-restart-waybar ;; *Waybar*) edit_in_nvim ~/.config/waybar/config.jsonc && omarchy-restart-waybar ;;
*XCompose*) edit_in_nvim ~/.XCompose && ~/.local/share/omarchy/bin/omarchy-restart-xcompose ;; *XCompose*) edit_in_nvim ~/.XCompose && omarchy-restart-xcompose ;;
*) show_main_menu ;; *) show_main_menu ;;
esac esac
} }
show_install_menu() { show_install_menu() {
case $(menu "Install" "󰣇 Package\n Web App\n Style\n Editor\n󱚤 AI\n Dropbox\n Steam\n Docker DB") in case $(menu "Install" "󰣇 Package\n Web App\n Service\n Style\n󰵮 Development\n Editor\n󱚤 AI\n Gaming") in
*Package*) terminal $OMARCHY_BIN_PATH/omarchy-pkg-install ;; *Package*) terminal omarchy-pkg-install ;;
*Web*) present_terminal $OMARCHY_BIN_PATH/omarchy-webapp-install ;; *Web*) present_terminal omarchy-webapp-install ;;
*Service*) show_install_service_menu ;;
*Style*) show_install_style_menu ;; *Style*) show_install_style_menu ;;
*Development*) show_install_development_menu ;;
*Editor*) show_install_editor_menu ;; *Editor*) show_install_editor_menu ;;
*AI*) show_install_ai_menu ;; *AI*) show_install_ai_menu ;;
*Dropbox*) present_terminal $OMARCHY_BIN_PATH/omarchy-install-dropbox ;; *Gaming*) show_install_gaming_menu ;;
*Steam*) present_terminal $OMARCHY_BIN_PATH/omarchy-install-steam ;;
*Docker*) present_terminal $OMARCHY_BIN_PATH/omarchy-install-docker-dbs ;;
*) show_main_menu ;; *) show_main_menu ;;
esac 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() { 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" ;; *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" ;; *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 ;; *) show_install_menu ;;
esac esac
} }
show_install_ai_menu() { 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" ;; *Claude*) install "Claude Code" "claude-code" ;;
*Gemini*) install "Gemini" "gemini-cli-bin" ;; *Gemini*) install "Gemini" "gemini-cli-bin" ;;
*Studio*) install "LM Studio" "lmstudio" ;; *Studio*) install "LM Studio" "lmstudio" ;;
*Ollama*) install "Ollama" "ollama" ;; *Ollama*) install "Ollama" "ollama" ;;
*Crush*) install "Crush" "crush-bin" ;; *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 ;; *) show_install_menu ;;
esac esac
} }
show_install_style_menu() { show_install_style_menu() {
case $(menu "Install" "󰸌 Theme\n Background\n Font") in 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 ;; *Background*) nautilus ~/.config/omarchy/current/theme/backgrounds ;;
*Font*) show_install_font_menu ;; *Font*) show_install_font_menu ;;
*) show_install_menu ;; *) show_install_menu ;;
@ -224,56 +243,92 @@ show_install_font_menu() {
esac 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() { show_remove_menu() {
case $(menu "Remove" "󰣇 Package\n Web App\n󰸌 Theme\n󰈷 Fingerprint\n Fido2") in case $(menu "Remove" "󰣇 Package\n Web App\n󰸌 Theme\n󰈷 Fingerprint\n Fido2") in
*Package*) terminal $OMARCHY_BIN_PATH/omarchy-pkg-remove ;; *Package*) terminal omarchy-pkg-remove ;;
*Web*) present_terminal $OMARCHY_BIN_PATH/omarchy-webapp-remove ;; *Web*) present_terminal omarchy-webapp-remove ;;
*Theme*) present_terminal $OMARCHY_BIN_PATH/omarchy-theme-remove ;; *Theme*) present_terminal omarchy-theme-remove ;;
*Fingerprint*) present_terminal "$OMARCHY_BIN_PATH/omarchy-setup-fingerprint --remove" ;; *Fingerprint*) present_terminal "omarchy-setup-fingerprint --remove" ;;
*Fido2*) present_terminal "$OMARCHY_BIN_PATH/omarchy-setup-fido2 --remove" ;; *Fido2*) present_terminal "omarchy-setup-fido2 --remove" ;;
*) show_main_menu ;; *) show_main_menu ;;
esac esac
} }
show_update_menu() { show_update_menu() {
case $(menu "Update" "󰣇 Omarchy\n Config\n Process\n󰸌 Themes\n Timezone") in case $(menu "Update" "󰣇 Omarchy\n Config\n󰸌 Themes\n Process\n Timezone") in
*Omarchy*) present_terminal $OMARCHY_BIN_PATH/omarchy-update ;; *Omarchy*) present_terminal omarchy-update ;;
*Config*) show_update_config_menu ;; *Config*) show_update_config_menu ;;
*Themes*) present_terminal omarchy-theme-update ;;
*Process*) show_update_process_menu ;; *Process*) show_update_process_menu ;;
*Themes*) present_terminal $OMARCHY_BIN_PATH/omarchy-theme-update ;; *Timezone*) omarchy-cmd-tzupdate ;;
*Timezone*) $OMARCHY_BIN_PATH/omarchy-cmd-tzupdate ;;
*) show_main_menu ;; *) show_main_menu ;;
esac esac
} }
show_update_process_menu() { show_update_process_menu() {
case $(menu "Restart" " Hypridle\n Hyprsunset\n Swayosd\n󰌧 Walker\n󰍜 Waybar") in case $(menu "Restart" " Hypridle\n Hyprsunset\n Swayosd\n󰌧 Walker\n󰍜 Waybar") in
*Hypridle*) $OMARCHY_BIN_PATH/omarchy-restart-hypridle ;; *Hypridle*) omarchy-restart-hypridle ;;
*Hyprsunset*) $OMARCHY_BIN_PATH/omarchy-restart-hyprsunset ;; *Hyprsunset*) omarchy-restart-hyprsunset ;;
*Swayosd*) $OMARCHY_BIN_PATH/omarchy-restart-swayosd ;; *Swayosd*) omarchy-restart-swayosd ;;
*Walker*) $OMARCHY_BIN_PATH/omarchy-restart-walker ;; *Walker*) omarchy-restart-walker ;;
*Waybar*) $OMARCHY_BIN_PATH/omarchy-restart-waybar ;; *Waybar*) omarchy-restart-waybar ;;
*) show_main_menu ;; *) show_main_menu ;;
esac esac
} }
show_update_config_menu() { 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 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 ;; *Hyprland*) present_terminal omarchy-refresh-hyprland ;;
*Hypridle*) present_terminal $OMARCHY_BIN_PATH/omarchy-refresh-hypridle ;; *Hypridle*) present_terminal omarchy-refresh-hypridle ;;
*Hyprlock*) present_terminal $OMARCHY_BIN_PATH/omarchy-refresh-hyprlock ;; *Hyprlock*) present_terminal omarchy-refresh-hyprlock ;;
*Hyprsunset*) present_terminal $OMARCHY_BIN_PATH/omarchy-refresh-hyprsunset ;; *Hyprsunset*) present_terminal omarchy-refresh-hyprsunset ;;
*Plymouth*) present_terminal $OMARCHY_BIN_PATH/omarchy-refresh-plymouth ;; *Plymouth*) present_terminal omarchy-refresh-plymouth ;;
*Swayosd*) present_terminal $OMARCHY_BIN_PATH/omarchy-refresh-swayosd ;; *Swayosd*) present_terminal omarchy-refresh-swayosd ;;
*Walker*) present_terminal $OMARCHY_BIN_PATH/omarchy-refresh-walker ;; *Walker*) present_terminal omarchy-refresh-walker ;;
*Waybar*) present_terminal $OMARCHY_BIN_PATH/omarchy-refresh-waybar ;; *Waybar*) present_terminal omarchy-refresh-waybar ;;
*) show_main_menu ;; *) show_main_menu ;;
esac esac
} }
show_system_menu() { show_system_menu() {
case $(menu "System" " Lock\n󰤄 Suspend\n Relaunch\n󰜉 Restart\n󰐥 Shutdown") in 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 ;; *Suspend*) systemctl suspend ;;
*Relaunch*) uwsm stop ;; *Relaunch*) uwsm stop ;;
*Restart*) systemctl reboot ;; *Restart*) systemctl reboot ;;

View File

@ -1,9 +1,18 @@
#!/bin/bash #!/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 if [[ -n "$pkg_name" ]]; then
yay -Sy --noconfirm "$pkg_name" yay -Sy --noconfirm "$pkg_name"
sudo updatedb sudo updatedb
~/.local/share/omarchy/bin/omarchy-show-done omarchy-show-done
fi fi

View File

@ -1,9 +1,18 @@
#!/bin/bash #!/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 if [[ -n "$pkg_name" ]]; then
yay -Rns --noconfirm "$pkg_name" yay -Rns --noconfirm "$pkg_name"
sudo updatedb sudo updatedb
~/.local/share/omarchy/bin/omarchy-show-done omarchy-show-done
fi fi

View File

@ -1,4 +1,4 @@
#!/bin/bash #!/bin/bash
~/.local/share/omarchy/bin/omarchy-refresh-config hypr/hypridle.conf omarchy-refresh-config hypr/hypridle.conf
~/.local/share/omarchy/bin/omarchy-restart-hypridle omarchy-restart-hypridle

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
~/.local/share/omarchy/bin/omarchy-refresh-config hypr/autostart.conf omarchy-refresh-config hypr/autostart.conf
~/.local/share/omarchy/bin/omarchy-refresh-config hypr/bindings.conf omarchy-refresh-config hypr/bindings.conf
~/.local/share/omarchy/bin/omarchy-refresh-config hypr/envs.conf omarchy-refresh-config hypr/envs.conf
~/.local/share/omarchy/bin/omarchy-refresh-config hypr/input.conf omarchy-refresh-config hypr/input.conf
~/.local/share/omarchy/bin/omarchy-refresh-config hypr/hyprland.conf omarchy-refresh-config hypr/hyprland.conf

View File

@ -1,3 +1,3 @@
#!/bin/bash #!/bin/bash
~/.local/share/omarchy/bin/omarchy-refresh-config hypr/hyprlock.conf omarchy-refresh-config hypr/hyprlock.conf

View File

@ -1,4 +1,4 @@
#!/bin/bash #!/bin/bash
~/.local/share/omarchy/bin/omarchy-refresh-config hypr/hyprsunset.conf omarchy-refresh-config hypr/hyprsunset.conf
~/.local/share/omarchy/bin/omarchy-restart-hyprsunset omarchy-restart-hyprsunset

View File

@ -1,5 +1,5 @@
#!/bin/bash #!/bin/bash
~/.local/share/omarchy/bin/omarchy-refresh-config swayosd/config.toml omarchy-refresh-config swayosd/config.toml
~/.local/share/omarchy/bin/omarchy-refresh-config swayosd/style.css omarchy-refresh-config swayosd/style.css
~/.local/share/omarchy/bin/omarchy-restart-swayosd omarchy-restart-swayosd

View File

@ -1,4 +1,4 @@
#!/bin/bash #!/bin/bash
~/.local/share/omarchy/bin/omarchy-refresh-config walker/config.toml omarchy-refresh-config walker/config.toml
~/.local/share/omarchy/bin/omarchy-restart-walker omarchy-restart-walker

View File

@ -1,5 +1,5 @@
#!/bin/bash #!/bin/bash
~/.local/share/omarchy/bin/omarchy-refresh-config waybar/config.jsonc omarchy-refresh-config waybar/config.jsonc
~/.local/share/omarchy/bin/omarchy-refresh-config waybar/style.css omarchy-refresh-config waybar/style.css
~/.local/share/omarchy/bin/omarchy-restart-waybar omarchy-restart-waybar

View File

@ -1,3 +1,3 @@
#!/bin/bash #!/bin/bash
~/.local/share/omarchy/bin/omarchy-restart-app hypridle omarchy-restart-app hypridle

View File

@ -1,3 +1,3 @@
#!/bin/bash #!/bin/bash
~/.local/share/omarchy/bin/omarchy-restart-app hyprsunset omarchy-restart-app hyprsunset

View File

@ -1,3 +1,3 @@
#!/bin/bash #!/bin/bash
~/.local/share/omarchy/bin/omarchy-restart-app swayosd-server omarchy-restart-app swayosd-server

View File

@ -1,3 +1,3 @@
#!/bin/bash #!/bin/bash
~/.local/share/omarchy/bin/omarchy-restart-app waybar omarchy-restart-app waybar

View File

@ -1,3 +1,3 @@
#!/bin/bash #!/bin/bash
~/.local/share/omarchy/bin/omarchy-restart-app fcitx5 omarchy-restart-app fcitx5

22
bin/omarchy-state Executable file
View File

@ -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 <set|clear> <state-name-or-pattern>"
exit 1
fi
if [[ -z "$STATE_NAME" ]]; then
echo "Usage: omarchy-state $COMMAND <state-name>"
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

View File

@ -30,4 +30,4 @@ if ! git clone "$REPO_URL" "$THEME_PATH"; then
fi fi
# Apply the new theme with omarchy-theme-set # Apply the new theme with omarchy-theme-set
~/.local/share/omarchy/bin/omarchy-theme-set $THEME_NAME omarchy-theme-set $THEME_NAME

View File

@ -30,5 +30,5 @@ NEXT_INDEX=$(((INDEX + 1) % TOTAL))
NEW_THEME=${THEMES[$NEXT_INDEX]} NEW_THEME=${THEMES[$NEXT_INDEX]}
NEW_THEME_NAME=$(basename "$NEW_THEME") 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 notify-send "Theme changed to $NEW_THEME_NAME" -t 2000

View File

@ -33,7 +33,7 @@ fi
# Move to the next theme if the current theme is the one being removed # 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 if [ "$(readlink -f "$CURRENT_DIR/theme")" = "$(readlink -f "$THEME_PATH")" ]; then
~/.local/share/omarchy/bin/omarchy-theme-next omarchy-theme-next
fi fi
# Now remove the theme directory for THEME_NAME # Now remove the theme directory for THEME_NAME

View File

@ -44,10 +44,10 @@ touch "$HOME/.config/alacritty/alacritty.toml"
# Restart components to apply new theme # Restart components to apply new theme
pkill -SIGUSR2 btop pkill -SIGUSR2 btop
~/.local/share/omarchy/bin/omarchy-restart-waybar omarchy-restart-waybar
~/.local/share/omarchy/bin/omarchy-restart-swayosd omarchy-restart-swayosd
makoctl reload makoctl reload
hyprctl reload hyprctl reload
# Set new background # Set new background
~/.local/share/omarchy/bin/omarchy-theme-bg-next omarchy-theme-bg-next

View File

@ -1,21 +1,9 @@
#!/bin/bash #!/bin/bash
# Exit immediately if a command exits with a non-zero status
set -e set -e
# Get the latest while trying to preserve any modifications omarchy-update-git
omarchy_path=~/.local/share/omarchy omarchy-migrate
git -C $omarchy_path pull --autostash omarchy-update-system-pkgs
git -C $omarchy_path diff --check || git -C $omarchy_path reset --merge omarchy-update-restart
omarchy-restart-waybar # removes update-available icon
# 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

5
bin/omarchy-update-git Executable file
View File

@ -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

9
bin/omarchy-update-restart Executable file
View File

@ -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

5
bin/omarchy-update-system-pkgs Executable file
View File

@ -0,0 +1,5 @@
#!/bin/bash
echo -e "\e[32m\nUpdate system packages\e[0m"
yay -Syu --noconfirm
echo

3
bin/omarchy-version Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
git -C "$OMARCHY_PATH" describe --tags $(git -C "$OMARCHY_PATH" rev-list --tags --max-count=1)

View File

@ -1,5 +1,12 @@
# Learn how to configure Hyprland: https://wiki.hyprland.org/Configuring/ # 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!) # Use defaults Omarchy defaults (but don't edit these directly!)
source = ~/.local/share/omarchy/default/hypr/autostart.conf source = ~/.local/share/omarchy/default/hypr/autostart.conf
source = ~/.local/share/omarchy/default/hypr/bindings/media.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/input.conf
source = ~/.local/share/omarchy/default/hypr/windows.conf source = ~/.local/share/omarchy/default/hypr/windows.conf
source = ~/.config/omarchy/current/theme/hyprland.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

View File

@ -1,9 +1,9 @@
# Control your input devices # Control your input devices
# See https://wiki.hypr.land/Configuring/Variables/#input # See https://wiki.hypr.land/Configuring/Variables/#input
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_layout = us,dk
kb_options = compose:caps # ,grp:alt_space_toggle kb_options = compose:caps # ,grp:alts_toggle
# Change speed of keyboard repeat # Change speed of keyboard repeat
repeat_rate = 40 repeat_rate = 40

6
config/uwsm/env Normal file
View File

@ -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

View File

@ -1,82 +1,29 @@
app_launch_prefix = "uwsm app -- " close_when_open = true
terminal_title_flag = ""
locale = ""
close_when_open = true # Toggle on reopen
theme = "omarchy-default" theme = "omarchy-default"
theme_base = [] theme_base = []
theme_location = ["~/.local/share/omarchy/default/walker/themes/"] theme_location = ["~/.local/share/omarchy/default/walker/themes/"]
monitor = ""
hotreload_theme = true hotreload_theme = true
as_window = false
timeout = 0
disable_click_to_close = false
force_keyboard_focus = true 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] [keys.ai]
clear_session = ["ctrl x"] run_last_response = ["ctrl e"]
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 = ""
[list] [list]
dynamic_sub = true
keyboard_scroll_style = "emacs"
max_entries = 200 max_entries = 200
show_initial_entries = true
single_click = true
visibility_threshold = 20
placeholder = "No Results"
[search] [search]
argument_delimiter = "#"
placeholder = " Search..." placeholder = " Search..."
delay = 0
resume_last_query = false
[activation_mode]
labels = "jkl;asdf"
[builtins.hyprland_keybinds] [builtins.hyprland_keybinds]
show_sub_when_single = true
path = "~/.config/hypr/hyprland.conf" path = "~/.config/hypr/hyprland.conf"
weight = 5
name = "hyprland_keybinds"
placeholder = "Hyprland Keybinds"
switcher_only = true
hidden = true hidden = true
[builtins.applications] [builtins.applications]
weight = 5 launch_prefix = "uwsm app -- "
name = "applications"
placeholder = " Search..." placeholder = " Search..."
prioritize_new = false prioritize_new = false
hide_actions_with_empty_query = true
context_aware = false context_aware = false
refresh = true
show_sub_when_single = false show_sub_when_single = false
show_icon_when_single = true
show_generic = true
history = false history = false
icon = "" icon = ""
hidden = true hidden = true
@ -84,21 +31,10 @@ hidden = true
[builtins.applications.actions] [builtins.applications.actions]
enabled = false enabled = false
hide_category = true hide_category = true
hide_without_query = true
[builtins.bookmarks] [builtins.bookmarks]
weight = 5
placeholder = "Bookmarks"
name = "bookmarks"
icon = "bookmark"
switcher_only = true
hidden = true hidden = true
[[builtins.bookmarks.entries]]
label = "Walker"
url = "https://github.com/abenz1267/walker"
keywords = ["walker", "github"]
[[builtins.bookmarks.entries]] [[builtins.bookmarks.entries]]
label = "Omarchy - Github" label = "Omarchy - Github"
url = "https://github.com/basecamp/omarchy" url = "https://github.com/basecamp/omarchy"
@ -109,185 +45,54 @@ label = "Omarchy Manual"
url = "https://manuals.omamix.org/2/the-omarchy-manual" url = "https://manuals.omamix.org/2/the-omarchy-manual"
keywords = ["omarchy"] 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] [builtins.calc]
require_number = true
weight = 5
name = "Calculator" name = "Calculator"
icon = "accessories-calculator" icon = ""
placeholder = "Calculator" min_chars = 3
min_chars = 3 # Min chars to calculate. 3 allows "3+3"
prefix = "=" prefix = "="
[builtins.windows] [builtins.windows]
weight = 5
icon = "view-restore"
name = "windows"
placeholder = "Windows"
show_icon_when_single = true
switcher_only = true switcher_only = true
hidden = true hidden = true
[builtins.clipboard] [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 hidden = true
[builtins.commands] [builtins.commands]
weight = 5
icon = "utilities-terminal"
switcher_only = true
name = "commands"
placeholder = "Commands"
hidden = true hidden = true
[builtins.custom_commands] [builtins.custom_commands]
weight = 5
icon = "utilities-terminal"
name = "custom_commands"
placeholder = "Custom Commands"
hidden = true hidden = true
[builtins.emojis] [builtins.emojis]
exec = "wl-copy"
weight = 5
name = "Emojis" name = "Emojis"
placeholder = "Emojis" icon = ""
switcher_only = true
history = true
typeahead = true
show_unqualified = false
prefix = ":" prefix = ":"
[builtins.symbols] [builtins.symbols]
after_copy = "" after_copy = ""
weight = 5
name = "symbols"
placeholder = "Symbols"
switcher_only = true
history = true
typeahead = true
hidden = true hidden = true
[builtins.finder] [builtins.finder]
use_fd = true use_fd = true
fd_flags = "--ignore-vcs --type file --type directory"
cmd_alt = "xdg-open $(dirname ~/%RESULT%)" cmd_alt = "xdg-open $(dirname ~/%RESULT%)"
weight = 5
icon = "file" icon = "file"
name = "Finder" name = "Finder"
placeholder = "Finder"
switcher_only = true
ignore_gitignore = true
refresh = true
concurrency = 8
show_icon_when_single = true
preview_images = true preview_images = true
hidden = false hidden = false
prefix = "." prefix = "."
[builtins.runner] [builtins.runner]
eager_loading = true shell_config = ""
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
switcher_only = true switcher_only = true
hidden = true hidden = true
[builtins.ssh] [builtins.ssh]
weight = 5
icon = "preferences-system-network"
name = "ssh"
placeholder = "SSH"
switcher_only = true
history = true
refresh = true
hidden = true hidden = true
[builtins.switcher]
weight = 5
name = "switcher"
placeholder = "Switcher"
prefix = "/"
[builtins.websearch] [builtins.websearch]
keep_selection = true
weight = 5
icon = "applications-internet"
name = "websearch"
placeholder = "Websearch"
switcher_only = true switcher_only = true
hidden = 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] [builtins.translation]
delay = 1000
weight = 5
name = "translation"
icon = "accessories-dictionary"
placeholder = "Translation"
switcher_only = true
provider = "googlefree"
hidden = true hidden = true

View File

@ -46,13 +46,13 @@
}, },
"custom/omarchy": { "custom/omarchy": {
"format": "", "format": "",
"on-click": "~/.local/share/omarchy/bin/omarchy-menu", "on-click": "omarchy-menu",
"tooltip-format": "SUPER + ALT + SPACE" "tooltip-format": "Omarchy Menu\n\nSuper + Alt + Space"
}, },
"custom/update": { "custom/update": {
"format": "", "format": "",
"exec": "~/.local/share/omarchy/bin/omarchy-update-available", "exec": "omarchy-update-available",
"on-click": "alacritty --class Omarchy --title Omarchy -e ~/.local/share/omarchy/bin/omarchy-update", "on-click": "alacritty --class Omarchy --title Omarchy -e omarchy-update",
"tooltip-format": "Omarchy update available", "tooltip-format": "Omarchy update available",
"interval": 3600 "interval": 3600
}, },
@ -65,7 +65,7 @@
"format": "{:%A %H:%M}", "format": "{:%A %H:%M}",
"format-alt": "{:%d %B W%V %Y}", "format-alt": "{:%d %B W%V %Y}",
"tooltip": false, "tooltip": false,
"on-click-right": "~/.local/share/omarchy/bin/omarchy-cmd-tzupdate" "on-click-right": "omarchy-cmd-tzupdate"
}, },
"network": { "network": {
"format-icons": ["󰤯","󰤟","󰤢","󰤥","󰤨"], "format-icons": ["󰤯","󰤟","󰤢","󰤥","󰤨"],

View File

@ -33,6 +33,3 @@ n() { if [ "$#" -eq 0 ]; then nvim .; else nvim "$@"; fi; }
alias gcm='git commit -m' alias gcm='git commit -m'
alias gcam='git commit -a -m' alias gcam='git commit -a -m'
alias gcad='git commit -a --amend' 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"

View File

@ -10,8 +10,5 @@ if [[ ! -v BASH_COMPLETION_VERSINFO && -f /usr/share/bash-completion/bash_comple
fi fi
# Set complete path # Set complete path
export PATH="./bin:$HOME/.local/bin:$HOME/.local/share/omarchy/bin:$PATH" export PATH="./bin:$HOME/.local/bin:$PATH"
set +h set +h
# Omarchy path
export OMARCHY_PATH="/home/$USER/.local/share/omarchy"

View File

@ -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/steam.conf
source = ~/.local/share/omarchy/default/hypr/apps/system.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/walker.conf
source = ~/.local/share/omarchy/default/hypr/apps/1password.conf

View File

@ -0,0 +1 @@
windowrule = noscreenshare, class:^(1Password)$

View File

@ -2,3 +2,5 @@
windowrule = float, class:steam windowrule = float, class:steam
windowrule = center, class:steam, title:Steam windowrule = center, class:steam, title:Steam
windowrule = opacity 1 1, class:steam windowrule = opacity 1 1, class:steam
windowrule = size 1100 700, class:steam, title:Steam
windowrule = size 460 800, class:steam, title:Friends List

View File

@ -2,12 +2,14 @@
windowrule = float, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy|About)$ 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 = 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 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 windowrule = size 700 520, class:About
# Float and center file pickers # Float and center file pickers
windowrule = float, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?|All Files|Save) windowrule = tag +picker, class:(xdg-desktop-portal-gtk|sublime_text)
windowrule = center, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?|All Files|Save) 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 # Fullscreen screensaver
windowrule = fullscreen, class:Screensaver windowrule = fullscreen, class:Screensaver

View File

@ -1,13 +1,13 @@
# Menus # Menus
bindd = SUPER, SPACE, Launch apps, exec, walker -p "Start…" bindd = SUPER, SPACE, Launch apps, exec, walker -p "Start…"
bindd = SUPER ALT, SPACE, Run commands, exec, ~/.local/share/omarchy/bin/omarchy-menu bindd = SUPER ALT, SPACE, Run commands, exec, omarchy-menu
bindd = SUPER, ESCAPE, Power menu, exec, ~/.local/share/omarchy/bin/omarchy-menu system bindd = SUPER, ESCAPE, Power menu, exec, omarchy-menu system
bindd = SUPER, K, Show key bindings, exec, ~/.local/share/omarchy/bin/omarchy-menu-keybindings bindd = SUPER, K, Show key bindings, exec, omarchy-menu-keybindings
# Aesthetics # Aesthetics
bindd = SUPER SHIFT, SPACE, Toggle top bar, exec, pkill -SIGUSR1 waybar 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 CTRL, SPACE, Next background in theme, exec, omarchy-theme-bg-next
bindd = SUPER SHIFT CTRL, SPACE, Pick new theme, exec, ~/.local/share/omarchy/bin/omarchy-menu theme bindd = SUPER SHIFT CTRL, SPACE, Pick new theme, exec, omarchy-menu theme
# Notifications # Notifications
bindd = SUPER, COMMA, Dismiss last notification, exec, makoctl dismiss 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" 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 # 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 # 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 # Control Apple Display brightness
bindd = CTRL, F1, Apple Display brightness down, exec, ~/.local/share/omarchy/bin/omarchy-cmd-apple-display-brightness -5000 bindd = CTRL, F1, Apple Display brightness down, exec, 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 = CTRL, F2, Apple Display brightness up, exec, 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 = SHIFT CTRL, F2, Apple Display full brightness, exec, omarchy-cmd-apple-display-brightness +60000
# Screenshots # Screenshots
bindd = , PRINT, Screenshot of region, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenshot bindd = , PRINT, Screenshot of region, exec, omarchy-cmd-screenshot
bindd = SHIFT, PRINT, Screenshot of window, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenshot window bindd = SHIFT, PRINT, Screenshot of window, exec, omarchy-cmd-screenshot window
bindd = CTRL, PRINT, Screenshot of display, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenshot output bindd = CTRL, PRINT, Screenshot of display, exec, omarchy-cmd-screenshot output
# Screen recordings # Screen recordings
bindd = ALT, PRINT, Screen record a region, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenrecord bindd = ALT, PRINT, Screen record a region, exec, omarchy-cmd-screenrecord
bindd = CTRL ALT, PRINT, Screen record display, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenrecord output bindd = CTRL ALT, PRINT, Screen record display, exec, omarchy-cmd-screenrecord output
# Color picker # Color picker
bindd = SUPER, PRINT, Color picker, exec, pkill hyprpicker || hyprpicker -a bindd = SUPER, PRINT, Color picker, exec, pkill hyprpicker || hyprpicker -a

View File

@ -69,16 +69,6 @@ animations {
animation = workspaces, 0, 0, ease 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 # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle { dwindle {
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below

View File

@ -0,0 +1,4 @@
[Resolve]
DNS=1.1.1.1
FallbackDNS=8.8.8.8
DNSStubListener=yes

View File

@ -22,7 +22,7 @@ slider,
} }
* { * {
font-family: 'CaskaydiaMono Nerd Font', monospace; font-family: monospace;
font-size: 18px; font-size: 18px;
} }

View File

@ -3,6 +3,7 @@
# Exit immediately if a command exits with a non-zero status # Exit immediately if a command exits with a non-zero status
set -e set -e
export PATH="$HOME/.local/share/omarchy/bin:$PATH"
OMARCHY_INSTALL=~/.local/share/omarchy/install OMARCHY_INSTALL=~/.local/share/omarchy/install
# Give people a chance to retry running the installation # Give people a chance to retry running the installation
@ -26,6 +27,7 @@ show_subtext() {
} }
# Install prerequisites # Install prerequisites
source $OMARCHY_INSTALL/preflight/guard.sh
source $OMARCHY_INSTALL/preflight/aur.sh source $OMARCHY_INSTALL/preflight/aur.sh
source $OMARCHY_INSTALL/preflight/presentation.sh source $OMARCHY_INSTALL/preflight/presentation.sh
source $OMARCHY_INSTALL/preflight/migrations.sh source $OMARCHY_INSTALL/preflight/migrations.sh

View File

@ -1,15 +1,16 @@
#!/bin/bash #!/bin/bash
if [ -z "$OMARCHY_BARE" ]; then 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 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 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 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 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 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 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 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 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 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 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 "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 fi

View File

@ -17,4 +17,4 @@ if [ -z "$OMARCHY_BARE" ]; then
fi fi
# Copy over Omarchy applications # Copy over Omarchy applications
source ~/.local/share/omarchy/bin/omarchy-refresh-applications || true source omarchy-refresh-applications || true

View File

@ -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\+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" 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 # Set common git aliases
git config --global alias.co checkout git config --global alias.co checkout
git config --global alias.br branch git config --global alias.br branch

View File

@ -7,12 +7,6 @@ if ! command -v iwctl &>/dev/null; then
sudo systemctl enable --now iwd.service sudo systemctl enable --now iwd.service
fi fi
# Fix systemd-networkd-wait-online timeout for multiple interfaces # Prevent systemd-networkd-wait-online timeout on boot
# Wait for any interface to be online rather than all interfaces sudo systemctl disable systemd-networkd-wait-online.service
# https://wiki.archlinux.org/title/Systemd-networkd#Multiple_interfaces_that_are_not_connected_all_the_time sudo systemctl mask systemd-networkd-wait-online.service
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 <<EOF
[Service]
ExecStart=
ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --any
EOF

View File

@ -0,0 +1,28 @@
#!/bin/bash
abort() {
echo -e "\e[31mOmarchy install requires: $1\e[0m"
echo
gum confirm "Proceed anyway on your own accord and without assistance?" || exit 1
}
# Must be an Arch distro
[[ -f /etc/arch-release ]] || abort "Vanilla Arch"
# Must not be an Arch derivative distro
for marker in /etc/cachyos-release /etc/eos-release /etc/garuda-release /etc/manjaro-release; do
[[ -f "$marker" ]] && abort "Vanilla Arch"
done
# Must not be runnig as root
[ "$EUID" -eq 0 ] && abort "Running as user (not root)"
# Must be x86 only to fully work
[ "$(uname -m)" != "x86_64" ] && abort "x86_64 CPU"
# Must not have Gnome or KDE already install
pacman -Qe gnome-shell &>/dev/null && abort "Fresh + Vanilla Arch"
pacman -Qe plasma-desktop &>/dev/null && abort "Fresh + Vanilla Arch"
# Cleared all guards
echo "Guards: OK"

14
migrations/1751134560.sh Normal file
View File

@ -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

View File

@ -2,5 +2,5 @@ echo "Fixing persistent workspaces in waybar config"
if [[ -f ~/.config/waybar/config ]]; then if [[ -f ~/.config/waybar/config ]]; then
sed -i 's/"persistent_workspaces":/"persistent-workspaces":/' ~/.config/waybar/config sed -i 's/"persistent_workspaces":/"persistent-workspaces":/' ~/.config/waybar/config
~/.local/share/omarchy/bin/omarchy-restart-waybar omarchy-restart-waybar
fi fi

View File

@ -2,5 +2,5 @@ echo "Install Impala as new wifi selection TUI"
if ! command -v impala &>/dev/null; then if ! command -v impala &>/dev/null; then
yay -S --noconfirm --needed impala yay -S --noconfirm --needed impala
echo "You need to update the Waybar config to use Impala Wi-Fi selector in top bar." 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 fi

View File

@ -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 color-scheme "prefer-dark"
gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark" gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark"
~/.local/share/omarchy/bin/omarchy-refresh-waybar omarchy-refresh-waybar
fi fi
if [[ ! -L "~/.config/omarchy/themes/rose-pine" ]]; then if [[ ! -L "~/.config/omarchy/themes/rose-pine" ]]; then

View File

@ -4,6 +4,6 @@ if ! command -v wiremix &>/dev/null; then
yay -S --noconfirm --needed wiremix yay -S --noconfirm --needed wiremix
yay -Rns --noconfirm pavucontrol yay -Rns --noconfirm pavucontrol
~/.local/share/omarchy/bin/omarchy-refresh-applications omarchy-refresh-applications
~/.local/share/omarchy/bin/omarchy-refresh-waybar omarchy-refresh-waybar
fi fi

View File

@ -1,2 +1,2 @@
echo "Update .config/hypr/hyprlock.conf to include failed attempt counter" echo "Update .config/hypr/hyprlock.conf to include failed attempt counter"
~/.local/share/omarchy/bin/omarchy-refresh-hyprlock omarchy-refresh-hyprlock

View File

@ -1,5 +1,5 @@
echo "Fix dancing workspace numbers in Waybar" echo "Fix dancing workspace numbers in Waybar"
if ! grep -q 'min-width: 9px' ~/.config/waybar/style.css; then if ! grep -q 'min-width: 9px' ~/.config/waybar/style.css; then
~/.local/share/omarchy/bin/omarchy-refresh-waybar omarchy-refresh-waybar
fi fi

View File

@ -1,5 +1,5 @@
echo "Allow updating of timezone by right-clicking on the clock (or running omarchy-cmd-tzupdate)" echo "Allow updating of timezone by right-clicking on the clock (or running omarchy-cmd-tzupdate)"
if ! command -v tzupdate &>/dev/null; then if ! command -v tzupdate &>/dev/null; then
bash ~/.local/share/omarchy/install/config/timezones.sh bash ~/.local/share/omarchy/install/config/timezones.sh
~/.local/share/omarchy/bin/omarchy-refresh-waybar omarchy-refresh-waybar
fi fi

View File

@ -1,4 +1,4 @@
echo "Update Walker config to include = as the leader key for the calculator" echo "Update Walker config to include = as the leader key for the calculator"
if ! grep -q 'prefix = "="' ~/.config/walker/config.toml; then if ! grep -q 'prefix = "="' ~/.config/walker/config.toml; then
~/.local/share/omarchy/bin/omarchy-refresh-walker omarchy-refresh-walker
fi fi

View File

@ -1,4 +1,4 @@
echo "Update Walker config to include . as the leader key for the finder" echo "Update Walker config to include . as the leader key for the finder"
if ! grep -q 'prefix = "\."' ~/.config/walker/config.toml; then if ! grep -q 'prefix = "\."' ~/.config/walker/config.toml; then
~/.local/share/omarchy/bin/omarchy-refresh-walker omarchy-refresh-walker
fi fi

View File

@ -1,2 +1,2 @@
echo "Fix Plymouth login positioning in multi-monitor setups + limit password from overflowing" echo "Fix Plymouth login positioning in multi-monitor setups + limit password from overflowing"
~/.local/share/omarchy/bin/omarchy-refresh-plymouth omarchy-refresh-plymouth

View File

@ -3,4 +3,4 @@ if ! command -v hyprsunset &>/dev/null; then
yay -S --noconfirm --needed hyprsunset yay -S --noconfirm --needed hyprsunset
fi fi
~/.local/share/omarchy/bin/omarchy-refresh-hyprsunset omarchy-refresh-hyprsunset

View File

@ -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' \ on_unlock_cmd = omarchy-restart-waybar # prevent stacking of waybar when waking' \
~/.config/hypr/hypridle.conf ~/.config/hypr/hypridle.conf
~/.local/share/omarchy/bin/omarchy-restart-waybar omarchy-restart-waybar
fi fi

View File

@ -1,6 +1,6 @@
echo "Update Waybar CSS to dim unused workspaces" echo "Update Waybar CSS to dim unused workspaces"
if ! grep -q "#workspaces button\.empty" ~/.config/waybar/style.css; then if ! grep -q "#workspaces button\.empty" ~/.config/waybar/style.css; then
~/.local/share/omarchy/bin/omarchy-refresh-config waybar/style.css omarchy-refresh-config waybar/style.css
~/.local/share/omarchy/bin/omarchy-restart-waybar omarchy-restart-waybar
fi fi

View File

@ -1,6 +1,6 @@
echo "Start screensaver automatically after 1 minute and stop before locking" echo "Start screensaver automatically after 1 minute and stop before locking"
if ! grep -q "omarchy-launch-screensaver" ~/.config/hypr/hypridle.conf; then if ! grep -q "omarchy-launch-screensaver" ~/.config/hypr/hypridle.conf; then
~/.local/share/omarchy/bin/omarchy-refresh-hypridle omarchy-refresh-hypridle
~/.local/share/omarchy/bin/omarchy-refresh-hyprlock omarchy-refresh-hyprlock
fi fi

View File

@ -1,5 +1,5 @@
echo "Ensure screensaver doesn't start while the computer is locked" echo "Ensure screensaver doesn't start while the computer is locked"
if ! grep -q "pidof hyprlock || omarchy-launch-screensaver" ~/.config/hypr/hypridle.conf; then if ! grep -q "pidof hyprlock || omarchy-launch-screensaver" ~/.config/hypr/hypridle.conf; then
~/.local/share/omarchy/bin/omarchy-refresh-hypridle omarchy-refresh-hypridle
fi fi

View File

@ -1,5 +1,5 @@
echo "Update app launcher config to allow enough entries to show all keybindings on SUPER+K" 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 if ! grep "max_entries = 200" ~/.config/walker/config.toml; then
~/.local/share/omarchy/bin/omarchy-refresh-walker omarchy-refresh-walker
fi fi

View File

@ -1,5 +1,5 @@
echo "Add auto-update icon to waybar when update available" echo "Add auto-update icon to waybar when update available"
if ! grep -q "custom/update" ~/.config/waybar/config.jsonc; then if ! grep -q "custom/update" ~/.config/waybar/config.jsonc; then
~/.local/share/omarchy/bin/omarchy-refresh-waybar omarchy-refresh-waybar
fi fi

View File

@ -1,2 +1,2 @@
echo "Increase time before screensaver starts to 2.5 minutes (from 1 minute)" echo "Increase time before screensaver starts to 2.5 minutes (from 1 minute)"
~/.local/share/omarchy/bin/omarchy-refresh-hypridle omarchy-refresh-hypridle

View File

@ -1,2 +1,2 @@
echo "Add chromium-flags.conf" echo "Add chromium-flags.conf"
~/.local/share/omarchy/bin/omarchy-refresh-config chromium-flags.conf omarchy-refresh-config chromium-flags.conf

View File

@ -1,2 +1,2 @@
echo "Restart Walker to pick up menu selections" echo "Restart Walker to pick up menu selections"
~/.local/share/omarchy/bin/omarchy-restart-walker omarchy-restart-walker

View File

@ -1,5 +1,5 @@
echo "Update Waybar for new Omarchy menu" echo "Update Waybar for new Omarchy menu"
if ! grep -q "" ~/.config/waybar/config.jsonc; then if ! grep -q "" ~/.config/waybar/config.jsonc; then
~/.local/share/omarchy/bin/omarchy-refresh-waybar omarchy-refresh-waybar
fi fi

View File

@ -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 "\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" 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 if gum confirm "Use new default hyprland.conf config?"; then
~/.local/share/omarchy/bin/omarchy-refresh-hyprland || true omarchy-refresh-hyprland || true
else else
echo "Left your existing configuration in place!" echo "Left your existing configuration in place!"
fi fi

View File

@ -2,5 +2,5 @@ echo "Set SwayOSD max volume back to 100"
if ! grep -q "max_volume = 100" ~/.config/swayosd/config.toml; then if ! grep -q "max_volume = 100" ~/.config/swayosd/config.toml; then
sed -i 's/max_volume = 150/max_volume = 100/' ~/.config/swayosd/config.toml sed -i 's/max_volume = 150/max_volume = 100/' ~/.config/swayosd/config.toml
~/.local/share/omarchy/bin/omarchy-restart-swayosd omarchy-restart-swayosd
fi fi

View File

@ -1,4 +1,4 @@
echo "Update and restart Walker to resolve stuck Omarchy menu" echo "Update and restart Walker to resolve stuck Omarchy menu"
yay -Sy --noconfirm walker-bin yay -Sy --noconfirm walker-bin
~/.local/share/omarchy/bin/omarchy-restart-walker omarchy-restart-walker

View File

@ -1,6 +1,6 @@
echo "Update Waybar config to fix path issue with update-available icon click" 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 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 sed -i 's|\("on-click": "alacritty --class Omarchy --title Omarchy -e \)omarchy-update"|\1omarchy-update"|' ~/.config/waybar/config.jsonc
~/.local/share/omarchy/bin/omarchy-restart-waybar omarchy-restart-waybar
fi fi

View File

@ -1,3 +1,3 @@
echo "Fix the expand icon margin in the Waybar style" 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

View File

@ -1,3 +1,3 @@
echo "Update OS icon in About from Windows to Arch" 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

8
migrations/1754668999.sh Normal file
View File

@ -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

View File

@ -1,5 +1,5 @@
echo "Lock 1password on screen lock" echo "Lock 1password on screen lock"
if ! grep -q "omarchy-lock-screen" ~/.config/hypr/hypridle.conf; then if ! grep -q "omarchy-lock-screen" ~/.config/hypr/hypridle.conf; then
~/.local/share/omarchy/bin/omarchy-refresh-hypridle omarchy-refresh-hypridle
fi fi

2
migrations/1754828680.sh Normal file
View File

@ -0,0 +1,2 @@
echo "Update Walker config"
omarchy-refresh-walker

5
migrations/1754856741.sh Normal file
View File

@ -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

5
migrations/1754919057.sh Normal file
View File

@ -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

3
migrations/1754922805.sh Normal file
View File

@ -0,0 +1,3 @@
echo "Replace missing icon for Audio Settings in application launcher"
cp $OMARCHY_PATH/applications/wiremix.desktop ~/.local/share/applications/

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB