38 Commits

Author SHA1 Message Date
b656ea0625 Prevent messing with the list (#276) 2025-07-21 21:21:55 -04:00
611668783b Make sure we have jq for initial monitor setup 2025-07-21 20:42:39 -04:00
cd0565a57f Explain where to find Dropbox icon 2025-07-21 20:38:54 -04:00
e464f19bff Not starting right
Emacs people can figure themselves out
2025-07-21 20:34:09 -04:00
2567baf00e Clear so not smushed 2025-07-21 20:31:05 -04:00
84065dd767 Cleanup terminal after each step 2025-07-21 20:29:43 -04:00
377522f804 Try a simpler setup flow 2025-07-21 20:12:58 -04:00
a7b423a2c4 No redirect since stderr has the code 2025-07-21 20:11:41 -04:00
853d46854f Even if you kill it, you're done 2025-07-21 20:11:32 -04:00
785d575ecc Fix installation references 2025-07-21 19:58:54 -04:00
f346c78826 Quiet stderr 2025-07-21 19:55:40 -04:00
47584de6db Let it tile so browsers open neatly next to it 2025-07-21 19:05:32 -04:00
b150a1f068 Start the server as well 2025-07-21 19:01:00 -04:00
9cbe88d43d Move to the front and wrap in a no-op for when its there 2025-07-21 18:59:40 -04:00
790e90515e Add swayosd for on-screen volume and brightness indicators (#274)
* Make these executable

* Replace pavucontrol with wiremix (#225)

Add to install

* Revert "Replace pavucontrol with wiremix (#225)"

This reverts commit 620b397859.

* Add swayOSD to show brightness and volume status

* Add swayOSD migration

* Move swayosd from desktop to hyperlandia

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
Co-authored-by: Roeland <roel4d@webding.org>
2025-07-21 18:58:11 -04:00
24aa77a6cf Add F11 keybind to toggle fullscreen for active window in hyprland (#273) 2025-07-21 18:54:30 -04:00
ac3aadd93a Correct path here too 2025-07-21 18:50:48 -04:00
95c6882e54 Ensure first-run flow isn't run for existing installations 2025-07-21 18:47:06 -04:00
cdc9f8606e Go to the Omarchy directory first 2025-07-21 18:45:31 -04:00
ae2e626c0e Use familiar emoji leader key of : instead of . 2025-07-21 18:44:06 -04:00
3518062c1f Fix bin references 2025-07-21 18:39:24 -04:00
83a8f42bd7 Open the manual as the last step 2025-07-21 18:27:15 -04:00
6a3ce098e9 Use a common namespace for cmds 2025-07-21 18:26:09 -04:00
d1ba090bec Its obvious 2025-07-21 18:13:53 -04:00
04ec2ba84d Reuse the Omarchy title so we get the same float 2025-07-21 18:13:37 -04:00
273c261b3e Give a little more breathing room 2025-07-21 18:13:26 -04:00
fa5b13a284 Finalize the first-run flow 2025-07-21 18:05:48 -04:00
22ff741c7f Hurray 2025-07-21 17:57:29 -04:00
702c6f015e Accommodate more themes 2025-07-21 17:55:21 -04:00
602009ebf3 Add a first-run flow 2025-07-21 17:46:37 -04:00
16e9553a40 Remove all noise 2025-07-21 16:28:07 -05:00
98b5c862bc Breaks the ini 2025-07-21 16:27:00 -05:00
0c6719becc No longer using current/backgrounds 2025-07-21 17:12:16 -04:00
e8c23532b3 Reuse ansi art and clear install when we ask for input 2025-07-21 16:22:28 -04:00
a7fb87f08b Need to put remove somewhere else -- not common enough to gum this up 2025-07-21 16:10:26 -04:00
e898ae327f Use dropbox-cli so it doesn't quit when the terminal does 2025-07-21 16:09:08 -04:00
b21a236bf3 Fixup the Dropbox setup flow 2025-07-21 16:05:29 -04:00
6ef2ce0088 Enable caps lock again as default xcompose key 2025-07-21 15:45:44 -04:00
25 changed files with 127 additions and 47 deletions

14
ansi.sh Normal file
View File

@ -0,0 +1,14 @@
#!/bin/bash
ansi_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄
███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ██▄
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███▄▄▄███
███ ███ ███ ███ ███ ███ ███ ▄███▄▄▄▄██▀ ███ ▄███▄▄▄▄███▄▄ ▀▀▀▀▀▀███
███ ███ ███ ███ ███ ▀███████████ ▀▀███▀▀▀▀▀ ███ ▀▀███▀▀▀▀███▀ ▄██ ███
███ ███ ███ ███ ███ ███ ███ ▀███████████ ███ █▄ ███ ███ ███ ███
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
▀██████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ████████▀ ███ █▀ ▀█████▀
███ ███ '
clear
echo -e "\n$ansi_art\n"

View File

@ -4,18 +4,7 @@ OMARCHY_VERSION=$(git -C ~/.local/share/omarchy describe --tags --abbrev=0 2>/de
PATH="$PATH:$HOME/.local/share/omarchy/bin"
show_ascii_art() {
clear
cat <<'EOF'
▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄
███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ██▄
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███▄▄▄███
███ ███ ███ ███ ███ ███ ███ ▄███▄▄▄▄██▀ ███ ▄███▄▄▄▄███▄▄ ▀▀▀▀▀▀███
███ ███ ███ ███ ███ ▀███████████ ▀▀███▀▀▀▀▀ ███ ▀▀███▀▀▀▀███▀ ▄██ ███
███ ███ ███ ███ ███ ███ ███ ▀███████████ ███ █▄ ███ ███ ███ ███
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
▀██████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ████████▀ ███ █▀ ▀█████▀
███ ███
EOF
source ~/.local/share/omarchy/ansi.sh
echo " $OMARCHY_VERSION"
}
@ -105,13 +94,11 @@ remove_theme_prompt() {
setup_menu() {
show_ascii_art
local menu=("Dropbox" "Add fingerprint sensor" "Remove fingerprint sensor" "Add Fido2 device" "Remove Fido2 device" "Back")
local menu=("Dropbox" "Fingerprint sensor" "Fido2 device" "Back")
local commands=(
"omarchy-setup-dropbox"
"omarchy-setup-fingerprint"
"omarchy-setup-fingerprint --remove"
"omarchy-setup-fido2"
"omarchy-setup-fido2 --remove"
"main_menu"
)
local choice

View File

@ -1,5 +1,6 @@
#!/bin/bash
cd ~/.local/share/omarchy
migration_file="$HOME/.local/share/omarchy/migrations/$(git log -1 --format=%cd --date=unix).sh"
touch $migration_file
nvim $migration_file

7
bin/omarchy-first-run Executable file
View File

@ -0,0 +1,7 @@
#!/bin/bash
if [[ ! -f ~/.local/state/omarchy/after-first-run.mode ]]; then
mkdir -p ~/.local/state/omarchy
touch ~/.local/state/omarchy/after-first-run.mode
uwsm app -- alacritty -e ~/.local/share/omarchy/bin/omarchy-first-run-flow
fi

56
bin/omarchy-first-run-flow Executable file
View File

@ -0,0 +1,56 @@
#!/bin/bash
source ~/.local/share/omarchy/ansi.sh
if gum confirm "Install editor in addition to Neovim?"; then
options=("VSCode" "Cursor" "Zed" "Helix" "Nevermind")
choice=$(printf "%s\n" "${options[@]}" | gum choose --header "Add programming editor") || exit 0
case "$choice" in
VSCode) yay -Sy --noconfirm --needed vscodium-electron-bin ;;
Cursor) yay -Sy --noconfirm --needed cursor-bin ;;
Zed) yay -Sy --noconfirm --needed zed ;;
Helix) yay -Sy --noconfirm --needed helix ;;
Nevermind) ;;
esac
fi
source ~/.local/share/omarchy/ansi.sh
if gum confirm "Login to GitHub?"; then
gh auth login
fi
source ~/.local/share/omarchy/ansi.sh
if gum confirm "Setup Dropbox?"; then
omarchy-setup-dropbox
fi
source ~/.local/share/omarchy/ansi.sh
if gum confirm "Start Docker DBs?"; then
options=("MySQL" "Redis" "PostgreSQL")
choices=$(printf "%s\n" "${options[@]}" | gum choose --no-limit --header "Select databases") || exit 0
if [[ -n "$choices" ]]; then
for db in $choices; do
case $db in
MySQL) sudo docker run -d --restart unless-stopped -p "127.0.0.1:3306:3306" --name=mysql8 -e MYSQL_ROOT_PASSWORD= -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql:8.4 ;;
Redis) sudo docker run -d --restart unless-stopped -p "127.0.0.1:6379:6379" --name=redis redis:7 ;;
PostgreSQL) sudo docker run -d --restart unless-stopped -p "127.0.0.1:5432:5432" --name=postgres16 -e POSTGRES_HOST_AUTH_METHOD=trust postgres:16 ;;
esac
done
fi
fi
source ~/.local/share/omarchy/ansi.sh
echo "Updating all system packages..."
yay -Syu
source ~/.local/share/omarchy/ansi.sh
gum spin --spinner "globe" --title "You're all set!" -- sleep 2
setsid chromium --new-window --ozone-platform=wayland --app="https://manuals.omamix.org/2/the-omarchy-manual" >/dev/null 2>&1 &
clear

View File

@ -4,5 +4,6 @@ echo "Installing all dependencies..."
yay -S --noconfirm --needed \
dropbox dropbox-cli libappindicator-gtk3 python-gpgme nautilus-dropbox
echo "Starting Dropbox and asking for identification..."
uwsm app -- dropbox start -i &>/dev/null &
echo "Starting Dropbox..."
uwsm app -- dropbox-cli start &>/dev/null &
echo "See Dropbox icon behind  hover tray in top right and right-click for setup."

View File

@ -27,7 +27,6 @@ if [[ ! -d "$THEME_PATH" ]]; then
fi
# Update theme symlinks
ln -nsf "$BACKGROUND_PATH" "$HOME/.config/omarchy/current/backgrounds"
ln -nsf "$THEME_PATH" "$CURRENT_THEME_DIR"
# Change gnome modes

View File

@ -1,6 +1,6 @@
#!/bin/bash
ascii_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄
ansi_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄
███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ██▄
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███▄▄▄███
███ ███ ███ ███ ███ ███ ███ ▄███▄▄▄▄██▀ ███ ▄███▄▄▄▄███▄▄ ▀▀▀▀▀▀███
@ -10,7 +10,7 @@ ascii_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄
▀██████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ████████▀ ███ █▀ ▀█████▀
███ ███ '
echo -e "\n$ascii_art\n"
echo -e "\n$ansi_art\n"
pacman -Q git &>/dev/null || sudo pacman -Sy --noconfirm --needed git

View File

@ -56,7 +56,7 @@ bind = SUPER SHIFT, X, exec, $webapp="https://x.com/compose/post"
input {
# Use multiple keyboard layouts and switch between them with Alt + Space
# kb_layout = us,dk
# kb_options = compose:caps,grp:alt_space_toggle
kb_options = compose:caps # ,grp:alt_space_toggle
# Change speed of keyboard repeat
repeat_rate = 40

View File

@ -70,9 +70,9 @@ hidden = true
weight = 5
name = "applications"
placeholder = " Search..."
prioritize_new = true
prioritize_new = false
hide_actions_with_empty_query = true
context_aware = true
context_aware = false
refresh = true
show_sub_when_single = false
show_icon_when_single = true
@ -185,7 +185,7 @@ switcher_only = true
history = true
typeahead = true
show_unqualified = false
prefix = "."
prefix = ":"
[builtins.symbols]
after_copy = ""

View File

@ -3,6 +3,8 @@ exec-once = uwsm app -- mako
exec-once = uwsm app -- waybar
exec-once = uwsm app -- fcitx5
exec-once = uwsm app -- swaybg -i ~/.config/omarchy/current/background -m fill
exec-once = uwsm app -- swayosd-server
exec-once = uwsm app -- walker --gapplication-service
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = wl-clip-persist --clipboard regular --all-mime-type-regex '^(?!x-kde-passwordManagerHint).+'
exec-once = ~/.local/share/omarchy/bin/omarchy-first-run

View File

@ -1,10 +1,10 @@
# Laptop multimedia keys for volume and LCD brightness
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
# Laptop multimedia keys for volume and LCD brightness (with OSD)
bindel = ,XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise
bindel = ,XF86AudioLowerVolume, exec, swayosd-client --output-volume lower
bindel = ,XF86AudioMute, exec, swayosd-client --output-volume mute-toggle
bindel = ,XF86AudioMicMute, exec, swayosd-client --input-volume mute-toggle
bindel = ,XF86MonBrightnessUp, exec, swayosd-client --brightness raise
bindel = ,XF86MonBrightnessDown, exec, swayosd-client --brightness lower
# Requires playerctl
bindl = , XF86AudioNext, exec, playerctl next

View File

@ -5,6 +5,7 @@ bind = SUPER, W, killactive,
bind = SUPER, J, togglesplit, # dwindle
bind = SUPER, P, pseudo, # dwindle
bind = SUPER, V, togglefloating,
bind = , F11, fullscreen, 0
# Move focus with mainMod + arrow keys
bind = SUPER, left, movefocus, l

View File

@ -19,18 +19,18 @@ bind = SUPER, ESCAPE, exec, ~/.local/share/omarchy/bin/omarchy-menu-power
bind = SUPER CTRL, I, exec, ~/.local/share/omarchy/bin/omarchy-toggle-idle
# Control Apple Display brightness
bind = CTRL, F1, exec, ~/.local/share/omarchy/bin/omarchy-apple-display-brightness -5000
bind = CTRL, F2, exec, ~/.local/share/omarchy/bin/omarchy-apple-display-brightness +5000
bind = SHIFT CTRL, F2, exec, ~/.local/share/omarchy/bin/omarchy-apple-display-brightness +60000
bind = CTRL, F1, exec, ~/.local/share/omarchy/bin/omarchy-cmd-apple-display-brightness -5000
bind = CTRL, F2, exec, ~/.local/share/omarchy/bin/omarchy-cmd-apple-display-brightness +5000
bind = SHIFT CTRL, F2, exec, ~/.local/share/omarchy/bin/omarchy-cmd-apple-display-brightness +60000
# Screenshots
bind = , PRINT, exec, omarchy-screenshot
bind = SHIFT, PRINT, exec, omarchy-screenshot window
bind = CTRL, PRINT, exec, omarchy-screenshot output
bind = , PRINT, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenshot
bind = SHIFT, PRINT, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenshot window
bind = CTRL, PRINT, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenshot output
# Screenshots
bind = ALT, PRINT, exec, omarchy-screenrecord
bind = CTRL ALT, PRINT, exec, omarchy-screenrecord output
bind = ALT, PRINT, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenrecord
bind = CTRL ALT, PRINT, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenrecord output
# Color picker
bind = SUPER, PRINT, exec, hyprpicker -a

View File

@ -7,7 +7,7 @@ windowrule = tile, class:^(Chromium)$
# Float and center settings and previews
windowrule = float, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy)$
windowrule = size 800 600, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer)$
windowrule = size 645 350, class:Omarchy
windowrule = size 645 450, class:Omarchy
windowrule = center, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy)$
# Float and center file pickers

View File

@ -5,6 +5,7 @@ width = 250
max_width = 250
min_width = 250
width = 250
max_height = 600
[ui.window.box.search]
hide = true

View File

@ -4,6 +4,7 @@
yay -S --noconfirm --needed gum
# Configure identification
source ~/.local/share/omarchy/ansi.sh
echo -e "\nEnter identification for git and autocomplete..."
export OMARCHY_USER_NAME=$(gum input --placeholder "Enter full name" --prompt "Name> ")
export OMARCHY_USER_EMAIL=$(gum input --placeholder "Enter email address" --prompt "Email> ")

View File

@ -2,7 +2,7 @@
yay -S --noconfirm --needed \
wget curl unzip inetutils impala \
fd eza fzf ripgrep zoxide bat \
fd eza fzf ripgrep zoxide bat jq \
wl-clipboard fastfetch btop \
man tldr less whois plocate bash-completion \
alacritty

View File

@ -2,5 +2,5 @@
yay -S --noconfirm --needed \
hyprland hyprshot hyprpicker hyprlock hypridle polkit-gnome hyprland-qtutils \
walker-bin libqalculate waybar mako swaybg \
walker-bin libqalculate waybar mako swaybg swayosd \
xdg-desktop-portal-hyprland xdg-desktop-portal-gtk

6
migrations/1753137931.sh Normal file
View File

@ -0,0 +1,6 @@
echo "Ensure first-run flow isn't run for existing installations"
if [[ ! -f ~/.local/state/omarchy/after-first-run.mode ]]; then
mkdir -p ~/.local/state/omarchy
touch ~/.local/state/omarchy/after-first-run.mode
fi

6
migrations/1753138691.sh Normal file
View File

@ -0,0 +1,6 @@
echo "Install swayOSD to show volume status"
if ! command -v swayosd &>/dev/null; then
yay -S --noconfirm --needed swayosd
uwsm app -- swayosd-server &>/dev/null &
fi

View File

@ -1,8 +1,6 @@
# Catppuccin Latte mako notification theme
text-color=#4c4f69 # text
border-color=#dce0e8 # crust
background-color=#eff1f5 # base
text-color=#4c4f69
border-color=#dce0e8
background-color=#eff1f5
width=420
height=110
padding=10