diff --git a/ansi.sh b/ansi.sh new file mode 100644 index 0000000..4ce2952 --- /dev/null +++ b/ansi.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +ansi_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄ +███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ██▄ +███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███▄▄▄███ +███ ███ ███ ███ ███ ███ ███ ▄███▄▄▄▄██▀ ███ ▄███▄▄▄▄███▄▄ ▀▀▀▀▀▀███ +███ ███ ███ ███ ███ ▀███████████ ▀▀███▀▀▀▀▀ ███ ▀▀███▀▀▀▀███▀ ▄██ ███ +███ ███ ███ ███ ███ ███ ███ ▀███████████ ███ █▄ ███ ███ ███ ███ +███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ + ▀██████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ████████▀ ███ █▀ ▀█████▀ + ███ ███ ' + +clear +echo -e "\n$ansi_art\n" diff --git a/applications/mpv.desktop b/applications/mpv.desktop new file mode 100644 index 0000000..776e2c9 --- /dev/null +++ b/applications/mpv.desktop @@ -0,0 +1,51 @@ +[Desktop Entry] +Type=Application +Name=Media Player +Name[ar]=مشغل وسائط mpv +Name[ca]=Reproductor multimèdia mpv +Name[cs]=mpv přehrávač +Name[da]=mpv-medieafspiller +Name[fr]=Lecteur multimédia mpv +Name[it]=Lettore multimediale mpv +Name[ja]=mpv メディアプレイヤー +Name[pl]=Odtwarzacz mpv +Name[ru]=Проигрыватель mpv +Name[tr]=mpv Ortam Oynatıcı +Name[zh_CN]=mpv 媒体播放器 +Name[zh_TW]=mpv 媒體播放器 +GenericName=Multimedia player +GenericName[ar]=مُشَغِّل وسائط متعددة +GenericName[cs]=Multimediální přehrávač +GenericName[da]=Multimedieafspiller +GenericName[fr]=Lecteur multimédia +GenericName[it]=Lettore multimediale +GenericName[ja]=マルチメディアプレイヤー +GenericName[ru]=Мультимедийный проигрыватель +GenericName[tr]=Çoklu ortam oynatıcı +GenericName[zh_CN]=多媒体播放器 +GenericName[zh_TW]=多媒體播放器 +Comment=Play movies and songs +Comment[ar]=شَغِّل الأفلام والأغاني +Comment[ca]=Reproduïu vídeos i cançons +Comment[cs]=Přehrává filmy a hudbu +Comment[da]=Afspil film og sange +Comment[de]=Filme und Musik abspielen +Comment[es]=Reproduzca vídeos y canciones +Comment[fr]=Lire des vidéos et des musiques +Comment[ja]=映画や音楽を再生する +Comment[it]=Riproduci video e canzoni +Comment[pl]=Odtwarzaj filmy i muzykę +Comment[ru]=Воспроизведение фильмов и музыки +Comment[tr]=Filmleri ve şarkıları oynatın +Comment[zh_CN]=播放电影和歌曲 +Comment[zh_TW]=播放電影和歌曲 +Icon=mpv +TryExec=mpv +Exec=mpv --player-operation-mode=pseudo-gui -- %U +Terminal=false +Categories=AudioVideo;Audio;Video;Player;TV; +MimeType=application/ogg;application/x-ogg;application/mxf;application/sdp;application/smil;application/x-smil;application/streamingmedia;application/x-streamingmedia;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;audio/aac;audio/x-aac;audio/vnd.dolby.heaac.1;audio/vnd.dolby.heaac.2;audio/aiff;audio/x-aiff;audio/m4a;audio/x-m4a;application/x-extension-m4a;audio/mp1;audio/x-mp1;audio/mp2;audio/x-mp2;audio/mp3;audio/x-mp3;audio/mpeg;audio/mpeg2;audio/mpeg3;audio/mpegurl;audio/x-mpegurl;audio/mpg;audio/x-mpg;audio/rn-mpeg;audio/musepack;audio/x-musepack;audio/ogg;audio/scpls;audio/x-scpls;audio/vnd.rn-realaudio;audio/wav;audio/x-pn-wav;audio/x-pn-windows-pcm;audio/x-realaudio;audio/x-pn-realaudio;audio/x-ms-wma;audio/x-pls;audio/x-wav;video/mpeg;video/x-mpeg2;video/x-mpeg3;video/mp4v-es;video/x-m4v;video/mp4;application/x-extension-mp4;video/divx;video/vnd.divx;video/msvideo;video/x-msvideo;video/ogg;video/quicktime;video/vnd.rn-realvideo;video/x-ms-afs;video/x-ms-asf;audio/x-ms-asf;application/vnd.ms-asf;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvxvideo;video/x-avi;video/avi;video/x-flic;video/fli;video/x-flc;video/flv;video/x-flv;video/x-theora;video/x-theora+ogg;video/x-matroska;video/mkv;audio/x-matroska;application/x-matroska;video/webm;audio/webm;audio/vorbis;audio/x-vorbis;audio/x-vorbis+ogg;video/x-ogm;video/x-ogm+ogg;application/x-ogm;application/x-ogm-audio;application/x-ogm-video;application/x-shorten;audio/x-shorten;audio/x-ape;audio/x-wavpack;audio/x-tta;audio/AMR;audio/ac3;audio/eac3;audio/amr-wb;video/mp2t;audio/flac;audio/mp4;application/x-mpegurl;video/vnd.mpegurl;application/vnd.apple.mpegurl;audio/x-pn-au;video/3gp;video/3gpp;video/3gpp2;audio/3gpp;audio/3gpp2;video/dv;audio/dv;audio/opus;audio/vnd.dts;audio/vnd.dts.hd;audio/x-adpcm;application/x-cue;audio/m3u;audio/vnd.wave;video/vnd.avi; +X-KDE-Protocols=appending,file,ftp,hls,http,https,mms,mpv,rtmp,rtmps,rtmpt,rtmpts,rtp,rtsp,rtsps,sftp,srt,srtp,webdav,webdavs +StartupWMClass=mpv +Keywords=mpv;media;player;video;audio;tv; +Keywords[ar]=mpv;إم بي في;ام بي في;وسائط;مشغل;فيديو;مرئية;صوتي;تلفاز; diff --git a/applications/nvim.desktop b/applications/nvim.desktop index d6fe3a8..ce0a131 100644 --- a/applications/nvim.desktop +++ b/applications/nvim.desktop @@ -2,7 +2,7 @@ Name=Neovim GenericName=Text Editor Comment=Edit text files -Exec=alacritty -e nvim -- %F +Exec=alacritty --class=nvim --title=nvim -e nvim -- %F Terminal=false Type=Application Keywords=Text;editor; diff --git a/applications/wiremix.desktop b/applications/wiremix.desktop new file mode 100644 index 0000000..6b7be68 --- /dev/null +++ b/applications/wiremix.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Name=Audio Settings +Comment=Using Wiremix +Exec=alacritty --class=Wiremix --title=Wiremix -e wiremix +Icon=audio-card +Type=Application +Terminal=false diff --git a/bin/omarchy b/bin/omarchy index 4c0463f..adeb703 100755 --- a/bin/omarchy +++ b/bin/omarchy @@ -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" } @@ -35,11 +24,11 @@ main_menu() { update_menu() { show_ascii_art - local menu=("Omarchy" "Waybar" "Wofi" "Plymouth" "Desktop apps" "Back") + local menu=("Omarchy" "Waybar" "Walker" "Plymouth" "Desktop apps" "Back") local commands=( "omarchy-update" "omarchy-refresh-waybar" - "omarchy-refresh-wofi" + "omarchy-refresh-walker" "omarchy-refresh-plymouth" "omarchy-refresh-applications" "main_menu" @@ -105,12 +94,12 @@ remove_theme_prompt() { setup_menu() { show_ascii_art - local menu=("Add fingerprint sensor" "Remove fingerprint sensor" "Add Fido2 device" "Remove Fido2 device" "Back") + local menu=("Dropbox" "Docker DBs" "Fingerprint sensor" "Fido2 device" "Back") local commands=( + "omarchy-setup-dropbox" + "setup_docker_dbs" "omarchy-setup-fingerprint" - "omarchy-setup-fingerprint --remove" "omarchy-setup-fido2" - "omarchy-setup-fido2 --remove" "main_menu" ) local choice @@ -129,6 +118,23 @@ setup_menu() { done } +setup_docker_dbs() { + options=("MySQL" "Redis" "PostgreSQL") + choices=$(printf "%s\n" "${options[@]}" | gum choose --no-limit --header "Select databases (space to select, return to install, esc to cancel)") || main_menu + + 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 + + main_menu +} + open_manual() { setsid chromium --new-window --ozone-platform=wayland --app="https://manuals.omamix.org/2/the-omarchy-manual" >/dev/null 2>&1 & clear diff --git a/bin/omarchy-apple-display-brightness b/bin/omarchy-cmd-apple-display-brightness similarity index 100% rename from bin/omarchy-apple-display-brightness rename to bin/omarchy-cmd-apple-display-brightness diff --git a/bin/omarchy-cmd-screenrecord b/bin/omarchy-cmd-screenrecord new file mode 100755 index 0000000..20cedfe --- /dev/null +++ b/bin/omarchy-cmd-screenrecord @@ -0,0 +1,26 @@ +#!/bin/bash + +# Set recorder based on GPU + +screenrecording() { + filename="$HOME/Videos/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4" + notify-send "Screen recording starting..." -t 1000 + sleep 1 + + if lspci | grep -qi 'nvidia'; then + wf-recorder -f "$filename" -c libx264 -p crf=23 -p preset=medium -p movflags=+faststart "$@" + else + wl-screenrec -f "$filename" --ffmpeg-encoder-options="-c:v libx264 -crf 23 -preset medium -movflags +faststart" "$@" + fi +} + +if pgrep -x wl-screenrec >/dev/null || pgrep -x wf-recorder >/dev/null; then + pkill -x wl-screenrec + pkill -x wf-recorder + notify-send "Screen recording saved to ~/Videos" -t 2000 +elif [[ "$1" == "output" ]]; then + screenrecording +else + region=$(slurp) || exit 1 + screenrecording -g "$region" +fi diff --git a/bin/omarchy-cmd-screenshot b/bin/omarchy-cmd-screenshot new file mode 100755 index 0000000..e2878e4 --- /dev/null +++ b/bin/omarchy-cmd-screenshot @@ -0,0 +1,9 @@ +#!/bin/bash + +hyprshot -m ${1:-region} --raw | + satty --filename - \ + --output-filename ~/Pictures/screenshot-$(date +'%Y-%m-%d_%H-%M-%S').png \ + --early-exit \ + --actions-on-enter save-to-clipboard \ + --save-after-copy \ + --copy-command 'wl-copy' diff --git a/bin/omarchy-dev-add-migration b/bin/omarchy-dev-add-migration index bf9ac0d..a3c712f 100755 --- a/bin/omarchy-dev-add-migration +++ b/bin/omarchy-dev-add-migration @@ -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 diff --git a/bin/omarchy-dev-config-link b/bin/omarchy-dev-config-link deleted file mode 100755 index b6152a5..0000000 --- a/bin/omarchy-dev-config-link +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -# Link all the key config files to omarchy's internal versions for quicker testing -ln -nsf ~/.local/share/omarchy/config/hypr/hyprland.conf ~/.config/hypr/ -ln -nsf ~/.local/share/omarchy/config/hypr/hypridle.conf ~/.config/hypr/ -ln -nsf ~/.local/share/omarchy/config/hypr/hyprlock.conf ~/.config/hypr/ -ln -nsf ~/.local/share/omarchy/config/waybar/config.jsonc ~/.config/waybar/ -ln -nsf ~/.local/share/omarchy/config/wofi/config ~/.config/wofi/ diff --git a/bin/omarchy-menu-keybindings b/bin/omarchy-menu-keybindings index 8750e76..622bcff 100755 --- a/bin/omarchy-menu-keybindings +++ b/bin/omarchy-menu-keybindings @@ -1,15 +1,13 @@ #!/bin/bash # A script to display Hyprland keybindings defined in your configuration -# using wofi for an interactive search menu. +# using walker for an interactive search menu. USER_HYPRLAND_CONF="$HOME/.config/hypr/hyprland.conf" -OMARCHY_BINDINGS_CONF="$HOME/.local/share/omarchy/default/hypr/bindings.conf $HOME/.local/share/omarchy/default/hypr/bindings/tiling.conf $HOME/.local/share/omarchy/default/hypr/bindings/utilities.conf $HOME/.local/share/omarchy/default/hypr/bindings.conf $HOME/.local/share/omarchy/default/hypr/media.conf" - OMARCHY_BINDINGS_CONF="$HOME/.local/share/omarchy/default/hypr/bindings.conf \ $HOME/.local/share/omarchy/default/hypr/bindings/tiling.conf \ $HOME/.local/share/omarchy/default/hypr/bindings/utilities.conf \ -$HOME/.local/share/omarchy/default/hypr/media.conf" +$HOME/.local/share/omarchy/default/hypr/bindings/media.conf" # Process the configuration file to extract and format keybindings # 1. `grep` finds all lines starting with 'bind' (allowing for leading spaces). @@ -53,7 +51,14 @@ grep -h '^[[:space:]]*bind' $USER_HYPRLAND_CONF $OMARCHY_BINDINGS_CONF | gsub(/[ \t]+/, " ", key_combo); # Collapse multiple spaces to one if (action != "") { + # Escape XML entities + gsub(/&/, "\\&", action); + gsub(//, "\\>", action); + gsub(/"/, "\\"", action); + gsub(/'"'"'/, "\\'", action); + printf "%-35s → %s\n", key_combo, action; } }' | - wofi -dmenu -i --width 60% --height 70% -p 'Hyprland Keybindings' -O alphabetical + walker --dmenu --theme keybindings -p 'Keybindings' diff --git a/bin/omarchy-menu-power b/bin/omarchy-menu-power index 6ada228..9535cd5 100755 --- a/bin/omarchy-menu-power +++ b/bin/omarchy-menu-power @@ -1,16 +1,13 @@ #!/bin/bash -# Power menu for Omarchy -# Provides power off, restart, and sleep options - -# Function to show power menu. The first characters are invisible sort keys. show_power_menu() { + # The first characters are invisible sort keys. local menu_options="\u200B Lock \u200C󰤄 Suspend \u200D Relaunch \u2060󰜉 Restart \u2063󰐥 Shutdown" - local selection=$(echo -e "$menu_options" | wofi --show dmenu --prompt "Power Options" --width 150 --height 195 -O alphabetical --style ~/.config/wofi/select.css) + local selection=$(echo -e "$menu_options" | walker --dmenu --theme dmenu_150) case "$selection" in *Lock*) hyprlock ;; @@ -21,5 +18,4 @@ show_power_menu() { esac } -# Main execution show_power_menu diff --git a/bin/omarchy-refresh-hyprlock b/bin/omarchy-refresh-hyprlock new file mode 100755 index 0000000..d4a3101 --- /dev/null +++ b/bin/omarchy-refresh-hyprlock @@ -0,0 +1,11 @@ +#!/bin/bash + +# Overwrite local Hyprlock settings with the latest in Omarchy, but create a backup if it differs +cp -f ~/.config/hypr/hyprlock.conf ~/.config/hypr/hyprlock.conf.bak 2>/dev/null +cp -f ~/.local/share/omarchy/config/hypr/hyprlock.conf ~/.config/hypr/ 2>/dev/null + +if cmp -s ~/.config/hypr/hyprlock.conf.bak ~/.config/hypr/hyprlock.conf; then + rm ~/.config/hypr/hyprlock.conf.bak +else + echo -e "\e[31mExisting .config/hypr/hyprlock.conf replaced with new Omarchy default, but a .bak file was made.\e[0m" +fi diff --git a/bin/omarchy-refresh-walker b/bin/omarchy-refresh-walker new file mode 100755 index 0000000..c45f54e --- /dev/null +++ b/bin/omarchy-refresh-walker @@ -0,0 +1,13 @@ +#!/bin/bash + +cp -f ~/.config/walker/config.toml ~/.config/walker/config.toml.bak 2>/dev/null +cp -f ~/.local/share/omarchy/config/walker/config.toml ~/.config/walker/ 2>/dev/null + +if cmp -s ~/.config/walker/config.toml.bak ~/.config/walker/config.toml; then + rm ~/.config/walker/config.toml.bak +else + echo -e "\e[31mExisting .config/walker/config.toml replaced with new Omarchy default, but a .bak file was made.\e[0m" +fi + +pkill walker +uwsm app -- walker --gapplication-service & diff --git a/bin/omarchy-refresh-waybar b/bin/omarchy-refresh-waybar index c81063b..e1289b4 100755 --- a/bin/omarchy-refresh-waybar +++ b/bin/omarchy-refresh-waybar @@ -1,11 +1,25 @@ #!/bin/bash -if gum confirm "Refresh Waybar config? This will replace your current settings with Omarchy defaults."; then - # Overwrite local waybar settings with the latest in Omarchy - cp -f ~/.local/share/omarchy/config/waybar/config.jsonc ~/.config/waybar/ 2>/dev/null - cp -f ~/.local/share/omarchy/config/waybar/style.css ~/.config/waybar/ 2>/dev/null +# Backup existing settings +cp -f ~/.config/waybar/config.jsonc ~/.config/waybar/config.jsonc.bak 2>/dev/null +cp -f ~/.config/waybar/style.css ~/.config/waybar/style.css.bak 2>/dev/null - # Restart waybar - pkill waybar - setsid waybar >/dev/null 2>&1 & +# Overwrite local waybar settings with the latest in Omarchy +cp -f ~/.local/share/omarchy/config/waybar/config.jsonc ~/.config/waybar/ 2>/dev/null +cp -f ~/.local/share/omarchy/config/waybar/style.css ~/.config/waybar/ 2>/dev/null + +# Remove identical backup files +if cmp -s ~/.config/waybar/config.jsonc.bak ~/.config/waybar/config.jsonc; then + rm ~/.config/waybar/config.jsonc.bak +else + echo -e "\e[31mExisting .config/waybar/config.jsonc replaced with new Omarchy default, but a .bak file was made.\e[0m" fi + +if cmp -s ~/.config/waybar/style.css.bak ~/.config/waybar/style.css; then + rm ~/.config/waybar/style.css.bak +else + echo -e "\e[31mExisting .config/waybar/style.css replaced with new Omarchy default, but a .bak file was made.\e[0m" +fi + +# Restart waybar +pkill -SIGUSR2 waybar diff --git a/bin/omarchy-refresh-wofi b/bin/omarchy-refresh-wofi deleted file mode 100755 index 3f2f9e3..0000000 --- a/bin/omarchy-refresh-wofi +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -if [[ "$1" == "-y" ]] || gum confirm "Refresh Wofi config? This will replace your current settings with Omarchy defaults."; then - # Overwrite local waybar settings with the latest in Omarchy - cp -f ~/.local/share/omarchy/config/wofi/config ~/.config/wofi/ 2>/dev/null - cp -f ~/.local/share/omarchy/config/wofi/style.css ~/.config/wofi/ 2>/dev/null - cp -f ~/.local/share/omarchy/config/wofi/select.css ~/.config/wofi/ 2>/dev/null -fi diff --git a/bin/omarchy-setup-dropbox b/bin/omarchy-setup-dropbox new file mode 100755 index 0000000..90ec37c --- /dev/null +++ b/bin/omarchy-setup-dropbox @@ -0,0 +1,9 @@ +#!/bin/bash + +echo "Installing all dependencies..." +yay -S --noconfirm --needed \ + dropbox dropbox-cli libappindicator-gtk3 python-gpgme nautilus-dropbox + +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." diff --git a/bin/omarchy-theme-bg-next b/bin/omarchy-theme-bg-next index 39e0b77..79bf0c1 100755 --- a/bin/omarchy-theme-bg-next +++ b/bin/omarchy-theme-bg-next @@ -2,7 +2,7 @@ # Cycles through the background images available -BACKGROUNDS_DIR="$HOME/.config/omarchy/current/backgrounds/" +BACKGROUNDS_DIR="$HOME/.config/omarchy/current/theme/backgrounds/" CURRENT_BACKGROUND_LINK="$HOME/.config/omarchy/current/background" mapfile -d '' -t BACKGROUNDS < <(find "$BACKGROUNDS_DIR" -type f -print0 | sort -z) @@ -11,7 +11,7 @@ TOTAL=${#BACKGROUNDS[@]} if [[ $TOTAL -eq 0 ]]; then notify-send "No background was found for theme" -t 2000 pkill -x swaybg - setsid swaybg --color '#000000' >/dev/null 2>&2 & + uwsm app -- swaybg --color '#000000' >/dev/null 2>&1 & else # Get current background from symlink if [[ -L "$CURRENT_BACKGROUND_LINK" ]]; then @@ -44,5 +44,5 @@ else # Relaunch swaybg pkill -x swaybg - setsid swaybg -i "$NEW_BACKGROUND" -m fill >/dev/null 2>&2 & + uwsm app -- swaybg -i "$CURRENT_BACKGROUND_LINK" -m fill >/dev/null 2>&1 & fi diff --git a/bin/omarchy-theme-menu b/bin/omarchy-theme-menu index 63c3c94..96ca993 100755 --- a/bin/omarchy-theme-menu +++ b/bin/omarchy-theme-menu @@ -18,14 +18,8 @@ mapfile -t themes < <( done | sort ) -# Show Wofi menu (with markup support) -selection=$(printf '%s\n' "${themes[@]}" | wofi \ - --show dmenu \ - --allow-markup \ - --width 150 \ - --height 400 \ - -O alphabetical \ - --style ~/.config/wofi/select.css 2>/dev/null) +# Show Walker menu +selection=$(printf '%s\n' "${themes[@]}" | walker --dmenu --theme dmenu_250 2>/dev/null) # Remove any Pango markup before converting back to filename clean_selection=$(echo "$selection" | sed -E 's/<[^>]+>//g') diff --git a/bin/omarchy-theme-set b/bin/omarchy-theme-set index 7bb639c..b384264 100755 --- a/bin/omarchy-theme-set +++ b/bin/omarchy-theme-set @@ -14,12 +14,6 @@ CURRENT_THEME_DIR="$HOME/.config/omarchy/current/theme" THEME_NAME="$1" THEME_PATH="$THEMES_DIR/$THEME_NAME" -if [[ -d "$HOME/.config/omarchy/themes/$THEME_NAME/backgrounds" ]]; then - BACKGROUND_PATH="$HOME/.config/omarchy/themes/$THEME_NAME/backgrounds" -else - BACKGROUND_PATH="$HOME/.config/omarchy/backgrounds/$THEME_NAME" -fi - # Check if the theme entered exists if [[ ! -d "$THEME_PATH" ]]; then echo "Theme '$THEME_NAME' does not exist in $THEMES_DIR" >&2 @@ -27,7 +21,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 @@ -46,8 +39,7 @@ touch "$HOME/.config/alacritty/alacritty.toml" pkill -SIGUSR2 btop # Restart components to apply new theme -pkill waybar -setsid waybar >/dev/null 2>&1 & +pkill -SIGUSR2 waybar makoctl reload hyprctl reload diff --git a/bin/omarchy-toggle-idle b/bin/omarchy-toggle-idle index ccbc012..a195461 100755 --- a/bin/omarchy-toggle-idle +++ b/bin/omarchy-toggle-idle @@ -4,6 +4,6 @@ if pgrep -x hypridle >/dev/null; then pkill -x hypridle notify-send "Stop locking computer when idle" else - setsid hypridle &>/dev/null & + uwsm app -- hypridle >/dev/null 2>&1 & notify-send "Now locking computer when idle" fi diff --git a/bin/omarchy-update b/bin/omarchy-update index 5b2e2d2..53576ec 100755 --- a/bin/omarchy-update +++ b/bin/omarchy-update @@ -3,31 +3,29 @@ cd ~/.local/share/omarchy if [[ $1 == "all" ]]; then - # Run all migrations - last_updated_at=1 + # Run all migrations since the root commit + migration_starting_point=$(git log --max-parents=0 --first-parent --format="%H") else - # Remember the version we're at before upgrading - last_updated_at=$(git log -1 --format=%cd --date=unix) + # Remember the commit we're at before upgrading in order to only run new migrations + migration_starting_point=$(git log -1 --format=%H) fi # Get the latest while trying to preserve any modifications -git stash -git pull -git stash pop +git pull --autostash +git diff --check || git reset --merge # Run any pending migrations -for file in migrations/*.sh; do +for file in $(git diff --name-only --diff-filter=A $migration_starting_point.. migrations/*.sh); do filename=$(basename "$file") migrate_at="${filename%.sh}" - if [ $migrate_at -gt $last_updated_at ]; then - echo -e "\e[32m\nRunning migration ($migrate_at)\e[0m" - source $file - fi + echo -e "\e[32m\nRunning migration ($migrate_at)\e[0m" + source $file done +# Update system packages +echo -e "\e[32m\nUpdate system packages\e[0m" +yay -Syu --noconfirm + # Back to where we came from cd - >/dev/null - -echo -e "" -gum confirm "Update system packages too?" && yay -Syu --noconfirm diff --git a/boot.sh b/boot.sh index 9c947c4..3ff9965 100755 --- a/boot.sh +++ b/boot.sh @@ -1,4 +1,6 @@ -ascii_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄ +#!/bin/bash + +ansi_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄ ███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███▄▄▄███ ███ ███ ███ ███ ███ ███ ███ ▄███▄▄▄▄██▀ ███ ▄███▄▄▄▄███▄▄ ▀▀▀▀▀▀███ @@ -8,9 +10,9 @@ 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 +sudo pacman -Sy --noconfirm --needed git echo -e "\nCloning Omarchy..." rm -rf ~/.local/share/omarchy/ diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf index 0191512..4bd9e14 100644 --- a/config/hypr/hyprland.conf +++ b/config/hypr/hyprland.conf @@ -45,7 +45,7 @@ bind = SUPER, X, exec, $webapp="https://x.com/" bind = SUPER SHIFT, X, exec, $webapp="https://x.com/compose/post" # Extra autostart processes -# exec-once = dropbox-cli start +# exec-once = uwsm app -- my-service # Extra env variables # Note: You must relaunch Hyprland after changing envs (use Super+Esc, then Relaunch) @@ -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 diff --git a/config/hypr/hyprlock.conf b/config/hypr/hyprlock.conf index d24ae2e..f3e8159 100644 --- a/config/hypr/hyprlock.conf +++ b/config/hypr/hyprlock.conf @@ -1,14 +1,5 @@ -# ──────────────────────────────────────────────────────────── -# Hyprlock — minimal blur with ringed input -# ──────────────────────────────────────────────────────────── - source = ~/.config/omarchy/current/theme/hyprlock.conf -general { - disable_loading_bar = true - no_fade_in = false -} - background { monitor = color = $color @@ -30,13 +21,11 @@ input-field { outline_thickness = 4 font_family = CaskaydiaMono Nerd Font - font_size = 32 font_color = $font_color - placeholder_color = $placeholder_color placeholder_text =   Enter Password 󰈷  check_color = $check_color - fail_text = Wrong + fail_text = $PAMFAIL ($ATTEMPTS) rounding = 0 shadow_passes = 0 diff --git a/config/walker/config.toml b/config/walker/config.toml new file mode 100644 index 0000000..86f6c6d --- /dev/null +++ b/config/walker/config.toml @@ -0,0 +1,291 @@ +app_launch_prefix = "uwsm app -- " +terminal_title_flag = "" +locale = "" +close_when_open = true # Toggle on reopen +theme = "omarchy-default" +theme_base = [] +theme_location = ["~/.local/share/omarchy/default/walker/themes/"] +monitor = "" +hotreload_theme = false +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 = "" + +[list] +dynamic_sub = true +keyboard_scroll_style = "emacs" +max_entries = 50 +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" +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 + +[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" +keywords = ["omarchy", "github"] + +[[builtins.bookmarks.entries]] +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" + +[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 +prefix = ":" + +[builtins.symbols] +after_copy = "" +weight = 5 +name = "symbols" +placeholder = "Symbols" +switcher_only = true +history = true +typeahead = true +hidden = true + +[builtins.finder] +use_fd = false +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 = false +hidden = true + +[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 +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 ed56d8a..25f4818 100644 --- a/config/waybar/config.jsonc +++ b/config/waybar/config.jsonc @@ -96,7 +96,7 @@ }, "pulseaudio": { "format": "{icon}", - "on-click": "pavucontrol", + "on-click": "alacritty --class=Wiremix -e wiremix", "on-click-right": "pamixer -t", "tooltip-format": "Playing at {volume}%", "scroll-step": 5, diff --git a/config/waybar/style.css b/config/waybar/style.css index 108d8d3..2f1c312 100644 --- a/config/waybar/style.css +++ b/config/waybar/style.css @@ -23,6 +23,7 @@ all: initial; padding: 0 6px; margin: 0 1.5px; + min-width: 9px; } #tray, diff --git a/config/wofi/config b/config/wofi/config deleted file mode 100644 index adf78c7..0000000 --- a/config/wofi/config +++ /dev/null @@ -1,15 +0,0 @@ -width=600 -height=350 -location=center -show=drun -prompt=Search... -filter_rate=100 -allow_markup=true -no_actions=true -halign=fill -orientation=vertical -content_halign=fill -insensitive=true -allow_images=true -image_size=40 -gtk_dark=true diff --git a/config/wofi/select.css b/config/wofi/select.css deleted file mode 100644 index a55a7bb..0000000 --- a/config/wofi/select.css +++ /dev/null @@ -1,11 +0,0 @@ -/* Use by power menu, theme selector, and other menus without visible search bar */ - -@import ".config/wofi/style.css"; - -#input { - display: none; - opacity: 0; - margin-top: -200px; -} - -@import ".config/omarchy/current/theme/wofi.css"; diff --git a/config/wofi/style.css b/config/wofi/style.css deleted file mode 100644 index e6bb68f..0000000 --- a/config/wofi/style.css +++ /dev/null @@ -1,74 +0,0 @@ -/* Colors are defined by theme file and can be referenced via @base, @text, @selected-text, and @border */ - -* { - font-family: 'CaskaydiaMono Nerd Font', monospace; - font-size: 18px; -} - -window { - margin: 0px; - padding: 20px; - background-color: @base; - opacity: 0.95; -} - -#inner-box { - margin: 0; - padding: 0; - border: none; - background-color: @base; -} - -#outer-box { - margin: 0; - padding: 20px; - border: none; - background-color: @base; - border: 2px solid @border; -} - -#scroll { - margin: 0; - padding: 0; - border: none; - background-color: @base; -} - -#input { - margin: 0; - padding: 10px; - border: none; - background-color: @base; - color: @text; -} - -#input:focus { - outline: none; - box-shadow: none; - border: none; -} - -#text { - margin: 5px; - border: none; - color: @text; -} - -#entry { - background-color: @base; -} - -#entry:selected { - outline: none; - border: none; -} - -#entry:selected #text { - color: @selected-text; -} - -#entry image { - -gtk-icon-transform: scale(0.7); -} - -@import ".config/omarchy/current/theme/wofi.css"; diff --git a/default/bash/aliases b/default/bash/aliases index 84e9f97..c5a40ae 100644 --- a/default/bash/aliases +++ b/default/bash/aliases @@ -24,10 +24,10 @@ alias ...='cd ../..' alias ....='cd ../../..' # Tools -alias n='nvim' alias g='git' alias d='docker' alias r='rails' +n() { if [ "$#" -eq 0 ]; then nvim .; else nvim "$@"; fi; } # Git alias gcm='git commit -m' diff --git a/default/bash/functions b/default/bash/functions index cb84c3c..b1657c5 100644 --- a/default/bash/functions +++ b/default/bash/functions @@ -69,5 +69,5 @@ web2app-remove() { # Ensure changes to ~/.XCompose are immediately available refresh-xcompose() { pkill fcitx5 - setsid fcitx5 &>/dev/null & + uwsm app -- fcitx5 >/dev/null 2>&1 & } diff --git a/default/hypr/autostart.conf b/default/hypr/autostart.conf index c77942b..ae9b084 100644 --- a/default/hypr/autostart.conf +++ b/default/hypr/autostart.conf @@ -3,5 +3,7 @@ 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).+' diff --git a/default/hypr/bindings/media.conf b/default/hypr/bindings/media.conf index a70d8d6..46430cb 100644 --- a/default/hypr/bindings/media.conf +++ b/default/hypr/bindings/media.conf @@ -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 diff --git a/default/hypr/bindings/tiling.conf b/default/hypr/bindings/tiling.conf index 6dcc37a..4b9224a 100644 --- a/default/hypr/bindings/tiling.conf +++ b/default/hypr/bindings/tiling.conf @@ -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 diff --git a/default/hypr/bindings/utilities.conf b/default/hypr/bindings/utilities.conf index 6d49a93..cffd84d 100644 --- a/default/hypr/bindings/utilities.conf +++ b/default/hypr/bindings/utilities.conf @@ -1,11 +1,11 @@ # Launching -bind = SUPER, space, exec, pkill wofi || wofi --show drun -O alphabetical -bind = SUPER, K, exec, pkill wofi || ~/.local/share/omarchy/bin/omarchy-menu-keybindings +bind = SUPER, space, exec, walker +bind = SUPER, K, exec, ~/.local/share/omarchy/bin/omarchy-menu-keybindings # Aesthetics bind = SUPER SHIFT, SPACE, exec, pkill -SIGUSR1 waybar bind = SUPER CTRL, SPACE, exec, ~/.local/share/omarchy/bin/omarchy-theme-bg-next -bind = SUPER SHIFT CTRL, SPACE, exec, pkill wofi || ~/.local/share/omarchy/bin/omarchy-theme-menu +bind = SUPER SHIFT CTRL, SPACE, exec, ~/.local/share/omarchy/bin/omarchy-theme-menu # Notifications bind = SUPER, comma, exec, makoctl dismiss @@ -13,20 +13,24 @@ bind = SUPER SHIFT, comma, exec, makoctl dismiss --all bind = SUPER CTRL, comma, exec, makoctl mode -t do-not-disturb && makoctl mode | grep -q 'do-not-disturb' && notify-send "Silenced notifications" || notify-send "Enabled notifications" # Power menu controls lock, suspend, relaunch, restart, shutdown -bind = SUPER, ESCAPE, exec, pkill wofi || ~/.local/share/omarchy/bin/omarchy-menu-power +bind = SUPER, ESCAPE, exec, ~/.local/share/omarchy/bin/omarchy-menu-power # Toggle idling bind = SUPER CTRL, I, exec, ~/.local/share/omarchy/bin/omarchy-toggle-idle # Control Apple Display brightness -bind = CTRL, F1, exec, ~/.local/share/omarchy/bin/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, hyprshot -m region -bind = SHIFT, PRINT, exec, hyprshot -m window -bind = CTRL, PRINT, exec, hyprshot -m 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, ~/.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 diff --git a/default/hypr/envs.conf b/default/hypr/envs.conf index ddfc8f5..83f11ed 100644 --- a/default/hypr/envs.conf +++ b/default/hypr/envs.conf @@ -3,8 +3,8 @@ env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 # Force all apps to use Wayland -env = GDK_BACKEND,wayland -env = QT_QPA_PLATFORM,wayland +env = GDK_BACKEND,wayland,x11,* +env = QT_QPA_PLATFORM,wayland;xcb env = QT_STYLE_OVERRIDE,kvantum env = SDL_VIDEODRIVER,wayland env = MOZ_ENABLE_WAYLAND,1 diff --git a/default/hypr/looknfeel.conf b/default/hypr/looknfeel.conf index d73f677..6577f47 100644 --- a/default/hypr/looknfeel.conf +++ b/default/hypr/looknfeel.conf @@ -69,6 +69,12 @@ animations { animation = workspaces, 0, 0, ease } +# Application-sepcific animation +layerrule=noanim,walker + +# Remove 1px border around hyprshot screenshots +layerrule = noanim, selection + # Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/ # "Smart gaps" / "No gaps when only" # uncomment all if you wish to use that. diff --git a/default/hypr/windows.conf b/default/hypr/windows.conf index d8f0f04..7cbb244 100644 --- a/default/hypr/windows.conf +++ b/default/hypr/windows.conf @@ -5,10 +5,10 @@ windowrule = suppressevent maximize, class:.* windowrule = tile, class:^(Chromium)$ # Float and center settings and previews -windowrule = float, class:^(org.pulseaudio.pavucontrol|blueberry.py|Impala|org.gnome.NautilusPreviewer|Omarchy)$ -windowrule = size 800 600, class:^(org.pulseaudio.pavucontrol|blueberry.py|Impala|org.gnome.NautilusPreviewer)$ -windowrule = size 645 350, class:Omarchy -windowrule = center, class:^(org.pulseaudio.pavucontrol|blueberry.py|Impala|org.gnome.NautilusPreviewer|Omarchy)$ +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 450, class:Omarchy +windowrule = center, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy)$ # Float and center file pickers windowrule = float, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?|All Files|Save) @@ -27,6 +27,3 @@ windowrule = opacity 1 1, class:^(com.libretro.RetroArch|steam)$ # Fix some dragging issues with XWayland windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 - -# Proper background blur for wofi -layerrule = blur,wofi diff --git a/default/walker/themes/dmenu_150.css b/default/walker/themes/dmenu_150.css new file mode 100644 index 0000000..6b78eac --- /dev/null +++ b/default/walker/themes/dmenu_150.css @@ -0,0 +1,2 @@ +@import url("file://~//.local/share/omarchy/default/walker/themes/omarchy-default.css"); +@import url("file://~/.config/omarchy/current/theme/walker.css"); diff --git a/default/walker/themes/dmenu_150.toml b/default/walker/themes/dmenu_150.toml new file mode 100644 index 0000000..f2c02bd --- /dev/null +++ b/default/walker/themes/dmenu_150.toml @@ -0,0 +1,10 @@ +[ui.window.box] +width = 150 + +[ui.window.box.scroll.list] +max_width = 150 +min_width = 150 +width = 150 + +[ui.window.box.search] +hide = true diff --git a/default/walker/themes/dmenu_250.css b/default/walker/themes/dmenu_250.css new file mode 100644 index 0000000..6b78eac --- /dev/null +++ b/default/walker/themes/dmenu_250.css @@ -0,0 +1,2 @@ +@import url("file://~//.local/share/omarchy/default/walker/themes/omarchy-default.css"); +@import url("file://~/.config/omarchy/current/theme/walker.css"); diff --git a/default/walker/themes/dmenu_250.toml b/default/walker/themes/dmenu_250.toml new file mode 100644 index 0000000..cf51a16 --- /dev/null +++ b/default/walker/themes/dmenu_250.toml @@ -0,0 +1,11 @@ +[ui.window.box] +width = 250 + +[ui.window.box.scroll.list] +max_width = 250 +min_width = 250 +width = 250 +max_height = 600 + +[ui.window.box.search] +hide = true diff --git a/default/walker/themes/keybindings.css b/default/walker/themes/keybindings.css new file mode 100644 index 0000000..6b78eac --- /dev/null +++ b/default/walker/themes/keybindings.css @@ -0,0 +1,2 @@ +@import url("file://~//.local/share/omarchy/default/walker/themes/omarchy-default.css"); +@import url("file://~/.config/omarchy/current/theme/walker.css"); diff --git a/default/walker/themes/keybindings.toml b/default/walker/themes/keybindings.toml new file mode 100644 index 0000000..c5d1b78 --- /dev/null +++ b/default/walker/themes/keybindings.toml @@ -0,0 +1,48 @@ +[ui.window.box] +width = 964 +min_width = 964 +max_width = 964 + +height = 664 +min_height = 664 +max_height = 664 + +[ui.window.box.search] +hide = false + +[ui.window.box.scroll] +v_align = "fill" +h_align = "fill" +min_width = 964 +width = 964 +max_width = 964 +min_height = 664 +height = 664 +max_height = 664 + +[ui.window.box.scroll.list] +v_align = "fill" +h_align = "fill" +min_width = 900 +width = 900 +max_width = 900 +min_height = 600 +height = 600 +max_height = 600 + +[ui.window.box.scroll.list.item] +h_align = "fill" +min_width = 900 +width = 900 +max_width = 900 + +[ui.window.box.scroll.list.item.activation_label] +hide = true + +[ui.window.box.scroll.list.placeholder] +v_align = "start" +h_align = "fill" +hide = false +min_width = 900 +width = 900 +max_width = 900 diff --git a/default/walker/themes/omarchy-default.css b/default/walker/themes/omarchy-default.css new file mode 100644 index 0000000..e0f9a0c --- /dev/null +++ b/default/walker/themes/omarchy-default.css @@ -0,0 +1,166 @@ +@import url("file://~/.config/omarchy/current/theme/walker.css"); + +/* Reset all elements */ +#window, +#box, +#search, +#password, +#input, +#prompt, +#clear, +#typeahead, +#list, +child, +scrollbar, +slider, +#item, +#text, +#label, +#sub, +#activationlabel { + all: unset; +} + +* { + font-family: 'CaskaydiaMono Nerd Font', monospace; + font-size: 18px; +} + +/* Window */ +#window { + background: transparent; + color: @text; +} + +/* Main box container */ +#box { + background: alpha(@base, 0.95); + padding: 20px; + border: 2px solid @border; + border-radius: 0px; +} + +/* Search container */ +#search { + background: @base; + padding: 10px; + margin-bottom: 0; +} + +/* Hide prompt icon */ +#prompt { + opacity: 0; + min-width: 0; + margin: 0; +} + +/* Hide clear button */ +#clear { + opacity: 0; + min-width: 0; +} + +/* Input field */ +#input { + background: none; + color: @text; + padding: 0; +} + +#input placeholder { + opacity: 0.5; + color: @text; +} + +/* Hide typeahead */ +#typeahead { + opacity: 0; +} + +/* List */ +#list { + background: transparent; +} + +/* List items */ +child { + padding: 0px 12px; + background: transparent; + border-radius: 0; +} + +child:selected, +child:hover { + background: transparent; +} + +/* Item layout */ +#item { + padding: 0; +} + +/* Icon */ +#icon { + margin-right: 10px; + -gtk-icon-transform: scale(0.7); +} + +/* Text */ +#text { + color: @text; + padding: 14px 0; +} + +#label { + font-weight: normal; +} + +/* Selected state */ +child:selected #text, +child:selected #label, +child:hover #text, +child:hover #label { + color: @selected-text; +} + +/* Hide sub text */ +#sub { + opacity: 0; + font-size: 0; + min-height: 0; +} + +/* Hide activation label */ +#activationlabel { + opacity: 0; + min-width: 0; +} + +/* Scrollbar styling */ +scrollbar { + opacity: 0; +} + +/* Hide spinner */ +#spinner { + opacity: 0; +} + +/* Hide AI elements */ +#aiScroll, +#aiList, +.aiItem { + opacity: 0; + min-height: 0; +} + +/* Bar entry (switcher) */ +#bar { + opacity: 0; + min-height: 0; +} + +.barentry { + opacity: 0; +} + diff --git a/default/walker/themes/omarchy-default.toml b/default/walker/themes/omarchy-default.toml new file mode 100644 index 0000000..9abc5d8 --- /dev/null +++ b/default/walker/themes/omarchy-default.toml @@ -0,0 +1,16 @@ +[ui.window.box] +width = 664 +min_width = 664 +max_width = 664 +height = 396 +min_height = 396 +max_height = 396 + +# List constraints are critical - without these, the window shrinks when empty +[ui.window.box.scroll.list] +height = 300 +min_height = 300 +max_height = 300 + +[ui.window.box.scroll.list.item.icon] +pixel_size = 40 diff --git a/install.sh b/install.sh index 0c5af8a..a329185 100755 --- a/install.sh +++ b/install.sh @@ -21,4 +21,7 @@ done # Ensure locate is up to date now that everything has been installed sudo updatedb +# Update all built-in packages +sudo pacman -Syu --noconfirm + gum confirm "Reboot to apply all settings?" && reboot diff --git a/install/2-identification.sh b/install/2-identification.sh index 26c07d7..f31b1e8 100644 --- a/install/2-identification.sh +++ b/install/2-identification.sh @@ -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> ") diff --git a/install/3-terminal.sh b/install/3-terminal.sh index 91b9e21..2df35f9 100644 --- a/install/3-terminal.sh +++ b/install/3-terminal.sh @@ -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 diff --git a/install/desktop.sh b/install/desktop.sh index 33dfd9d..0b2b320 100644 --- a/install/desktop.sh +++ b/install/desktop.sh @@ -1,8 +1,16 @@ #!/bin/bash yay -S --noconfirm --needed \ - brightnessctl playerctl pamixer pavucontrol wireplumber \ - fcitx5 fcitx5-gtk fcitx5-qt fcitx5-configtool wl-clip-persist \ + brightnessctl playerctl pamixer wiremix wireplumber \ + fcitx5 fcitx5-gtk fcitx5-qt wl-clip-persist \ nautilus sushi ffmpegthumbnailer \ + slurp satty \ mpv evince imv \ chromium + +# Add screen recorder based on GPU +if lspci | grep -qi 'nvidia'; then + yay -S --noconfirm --needed wf-recorder +else + yay -S --noconfirm --needed wl-screenrec +fi diff --git a/install/detect-keyboard-layout.sh b/install/detect-keyboard-layout.sh new file mode 100755 index 0000000..d80c8af --- /dev/null +++ b/install/detect-keyboard-layout.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +conf="/etc/vconsole.conf" +hyprconf="$HOME/.config/hypr/hyprland.conf" + +layout=$(grep '^XKBLAYOUT=' "$conf" | cut -d= -f2 | tr -d '"') +variant=$(grep '^XKBVARIANT=' "$conf" | cut -d= -f2 | tr -d '"') + +if [[ -n "$layout" ]]; then + sed -i "/^[[:space:]]*kb_options *=/i\ kb_layout = $layout" "$hyprconf" +fi + +if [[ -n "$variant" ]]; then + sed -i "/^[[:space:]]*kb_options *=/i\ kb_variant = $variant" "$hyprconf" +fi diff --git a/install/firewall.sh b/install/firewall.sh index f12fe8f..5510434 100644 --- a/install/firewall.sh +++ b/install/firewall.sh @@ -1,7 +1,7 @@ #!/bin/bash if ! command -v ufw &>/dev/null; then - yay -Sy --noconfirm --needed ufw ufw-docker + yay -S --noconfirm --needed ufw ufw-docker # Allow nothing in, everything out sudo ufw default deny incoming diff --git a/install/fonts.sh b/install/fonts.sh index 87afc3d..b1a7ea0 100644 --- a/install/fonts.sh +++ b/install/fonts.sh @@ -1,9 +1,9 @@ #!/bin/bash if [ -z "$OMARCHY_BARE" ]; then - yay -Sy --noconfirm --needed ttf-font-awesome noto-fonts noto-fonts-emoji noto-fonts-cjk noto-fonts-extra + yay -S --noconfirm --needed ttf-font-awesome noto-fonts noto-fonts-emoji noto-fonts-cjk noto-fonts-extra else - yay -Sy --noconfirm --needed ttf-font-awesome noto-fonts noto-fonts-emoji + yay -S --noconfirm --needed ttf-font-awesome noto-fonts noto-fonts-emoji fi mkdir -p ~/.local/share/fonts diff --git a/install/hyprlandia.sh b/install/hyprlandia.sh index a13fccc..e5d9368 100644 --- a/install/hyprlandia.sh +++ b/install/hyprlandia.sh @@ -2,5 +2,5 @@ yay -S --noconfirm --needed \ hyprland hyprshot hyprpicker hyprlock hypridle polkit-gnome hyprland-qtutils \ - wofi waybar mako swaybg \ + walker-bin libqalculate waybar mako swaybg swayosd \ xdg-desktop-portal-hyprland xdg-desktop-portal-gtk diff --git a/install/nvidia.sh b/install/nvidia.sh index c78d3c2..0f76f50 100644 --- a/install/nvidia.sh +++ b/install/nvidia.sh @@ -47,7 +47,7 @@ if [ -n "$(lspci | grep -i 'nvidia')" ]; then "qt6-wayland" ) - yay -Syu --needed --noconfirm "${PACKAGES_TO_INSTALL[@]}" + yay -S --needed --noconfirm "${PACKAGES_TO_INSTALL[@]}" # Configure modprobe for early KMS echo "options nvidia_drm modeset=1" | sudo tee /etc/modprobe.d/nvidia.conf >/dev/null diff --git a/install/webapps.sh b/install/webapps.sh index 8059419..fbaf3a3 100644 --- a/install/webapps.sh +++ b/install/webapps.sh @@ -12,4 +12,5 @@ if [ -z "$OMARCHY_BARE" ]; then web2app "YouTube" https://youtube.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/youtube.png web2app "GitHub" https://github.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/github-light.png web2app "X" https://x.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/x-light.png + web2app "Omarchy Manual" https://manuals.omamix.org/2/the-omarchy-manual https://manuals.omamix.org/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NDgsInB1ciI6ImJsb2JfaWQifX0=--c26606490139480f5bcb3cf91b09fc45825007f6/omarchy.jpg?disposition=attachment fi diff --git a/install/xtras.sh b/install/xtras.sh index 32b7920..36c88e9 100644 --- a/install/xtras.sh +++ b/install/xtras.sh @@ -6,14 +6,14 @@ if [ -z "$OMARCHY_BARE" ]; then obsidian-bin libreoffice obs-studio kdenlive \ xournalpp localsend-bin - yay -S --noconfirm --needed pinta || - echo -e "\e[31mFailed to install Pinta. Continuing without!\e[0m" + # Packages known to be flaky or having key signing issues are run one-by-one + for pkg in pinta typora spotify zoom; do + yay -S --noconfirm --needed "$pkg" || + echo -e "\e[31mFailed to install $pkg. Continuing without!\e[0m" + done - yay -S --noconfirm --needed typora || - echo -e "\e[31mFailed to install Typora. Continuing without!\e[0m" - - yay -S --noconfirm --needed spotify dropbox-cli 1password-beta 1password-cli || - echo -e "\e[31mFailed to install Spotify, Dropbox, and/or 1password because of a keyserver problem. Continuing without!\e[0m" + yay -S --noconfirm --needed 1password-beta 1password-cli || + echo -e "\e[31mFailed to install 1password. Continuing without!\e[0m" fi # Copy over Omarchy applications diff --git a/migrations/1751225707.sh b/migrations/1751225707.sh index c1e8acf..7c9896c 100644 --- a/migrations/1751225707.sh +++ b/migrations/1751225707.sh @@ -1,4 +1,6 @@ echo "Fixing persistent workspaces in waybar config" -sed -i 's/"persistent_workspaces":/"persistent-workspaces":/' ~/.config/waybar/config -pkill waybar -setsid waybar >/dev/null 2>&1 & + +if [[ -f ~/.config/waybar/config ]]; then + sed -i 's/"persistent_workspaces":/"persistent-workspaces":/' ~/.config/waybar/config + pkill -SIGUSR2 waybar +fi diff --git a/migrations/1751510848.sh b/migrations/1751510848.sh index 4a4e93e..4888bb2 100644 --- a/migrations/1751510848.sh +++ b/migrations/1751510848.sh @@ -1,2 +1,5 @@ echo "Installing missing fd terminal tool for finding files" -yay -S --noconfirm --needed fd + +if ! command -v fd &>/dev/null; then + yay -S --noconfirm --needed fd +fi diff --git a/migrations/1751672984.sh b/migrations/1751672984.sh index 842df4a..056cff7 100644 --- a/migrations/1751672984.sh +++ b/migrations/1751672984.sh @@ -1,2 +1,5 @@ echo "Add LocalSend as new default application" -yay -S --noconfirm --needed localsend-bin + +if ! command -v localsend &>/dev/null; then + yay -S --noconfirm --needed localsend-bin +fi diff --git a/migrations/1751679069.sh b/migrations/1751679069.sh index e42dc62..57feb12 100644 --- a/migrations/1751679069.sh +++ b/migrations/1751679069.sh @@ -1,2 +1,5 @@ echo "Install ffmpegthumbnailer for video thumbnails in the file manager" -yay -S --noconfirm --needed ffmpegthumbnailer + +if ! command -v ffmpegthumbnailer &>/dev/null; then + yay -S --noconfirm --needed ffmpegthumbnailer +fi diff --git a/migrations/1751821819.sh b/migrations/1751821819.sh index 0978dc0..a34d82e 100644 --- a/migrations/1751821819.sh +++ b/migrations/1751821819.sh @@ -1,2 +1,5 @@ echo "Install bash-completion" -yay -S --noconfirm --needed bash-completion + +if ! pacman -Q bash-completion &>/dev/null; then + yay -S --noconfirm --needed bash-completion +fi diff --git a/migrations/1752082381.sh b/migrations/1752082381.sh index eb6df91..a3b937d 100644 --- a/migrations/1752082381.sh +++ b/migrations/1752082381.sh @@ -1,2 +1,5 @@ echo "Adding gnome-keyring to make 1password work with 2FA codes" -yay -S --noconfirm --needed gnome-keyring + +if ! command -v gnome-keyring &>/dev/null; then + yay -S --noconfirm --needed gnome-keyring +fi diff --git a/migrations/1752168292.sh b/migrations/1752168292.sh index 188d50f..0f52913 100755 --- a/migrations/1752168292.sh +++ b/migrations/1752168292.sh @@ -1,14 +1,10 @@ echo "Enable battery low notifications for laptops" -if ls /sys/class/power_supply/BAT* &>/dev/null; then +if ls /sys/class/power_supply/BAT* &>/dev/null && [[ ! -f ~/.local/share/omarchy/config/systemd/user/omarchy-battery-monitor.service ]]; then mkdir -p ~/.config/systemd/user cp ~/.local/share/omarchy/config/systemd/user/omarchy-battery-monitor.* ~/.config/systemd/user/ systemctl --user daemon-reload systemctl --user enable --now omarchy-battery-monitor.timer || true - - echo "Battery monitoring enabled - you'll receive notifications at 10% battery" -else - echo "No battery detected - skipping battery monitor setup" fi diff --git a/migrations/1752292967.sh b/migrations/1752292967.sh index 8a6cde3..54e8d4c 100644 --- a/migrations/1752292967.sh +++ b/migrations/1752292967.sh @@ -1,18 +1,19 @@ echo "Update to use UWSM and seamless login" -sudo rm /etc/systemd/system/getty@tty1.service.d/override.conf -sudo rmdir /etc/systemd/system/getty@tty1.service.d/ 2>/dev/null || true +if ! command -v uwsm &>/dev/null; then + sudo rm -f /etc/systemd/system/getty@tty1.service.d/override.conf + sudo rmdir /etc/systemd/system/getty@tty1.service.d/ 2>/dev/null || true -if [ -f "$HOME/.bash_profile" ]; then - # Remove the specific line - sed -i '/^\[\[ -z \$DISPLAY && \$(tty) == \/dev\/tty1 \]\] && exec Hyprland$/d' "$HOME/.bash_profile" - echo "Cleaned up .bash_profile" + if [ -f "$HOME/.bash_profile" ]; then + # Remove the specific line + sed -i '/^\[\[ -z \$DISPLAY && \$(tty) == \/dev\/tty1 \]\] && exec Hyprland$/d' "$HOME/.bash_profile" + echo "Cleaned up .bash_profile" + fi + + if [ -f "$HOME/.config/environment.d/fcitx.conf" ]; then + echo "Removing GTK_IM_MODULE from fcitx config for Wayland..." + sed -i 's/^GTK_IM_MODULE=fcitx$//' "$HOME/.config/environment.d/fcitx.conf" + fi + + omarchy-refresh-plymouth -y + source ~/.local/share/omarchy/install/login.sh fi - -if [ -f "$HOME/.config/environment.d/fcitx.conf" ]; then - echo "Removing GTK_IM_MODULE from fcitx config for Wayland..." - sed -i 's/^GTK_IM_MODULE=fcitx$//' "$HOME/.config/environment.d/fcitx.conf" -fi - -omarchy-refresh-plymouth -y - -source ~/.local/share/omarchy/install/login.sh diff --git a/migrations/1752365998.sh b/migrations/1752365998.sh index 8eff5a3..5b759f6 100644 --- a/migrations/1752365998.sh +++ b/migrations/1752365998.sh @@ -1,7 +1,10 @@ echo "Add override to only require one network interface to be online" -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 </dev/null; then + yay -S --noconfirm --needed docker-buildx +fi diff --git a/migrations/1752797704.sh b/migrations/1752797704.sh index 0f74fbe..f51aa70 100644 --- a/migrations/1752797704.sh +++ b/migrations/1752797704.sh @@ -1,15 +1,17 @@ echo "Prevent docker from requiring network readiness on boot" -sudo mkdir -p /etc/systemd/system/docker.service.d/ -sudo tee /etc/systemd/system/docker.service.d/no-block-boot.conf <<'EOF' +if [[ ! -f /etc/systemd/system/docker.service.d/no-block-boot.conf ]]; then + sudo mkdir -p /etc/systemd/system/docker.service.d/ + sudo tee /etc/systemd/system/docker.service.d/no-block-boot.conf <<'EOF' [Unit] DefaultDependencies=no EOF -sudo mkdir -p /etc/systemd/system/plymouth-quit.service.d/ -sudo tee /etc/systemd/system/plymouth-quit.service.d/wait-for-graphical.conf <<'EOF' + sudo mkdir -p /etc/systemd/system/plymouth-quit.service.d/ + sudo tee /etc/systemd/system/plymouth-quit.service.d/wait-for-graphical.conf <<'EOF' [Unit] After=multi-user.target EOF -sudo systemctl daemon-reload -sudo systemctl mask plymouth-quit-wait.service + sudo systemctl daemon-reload + sudo systemctl mask plymouth-quit-wait.service +fi diff --git a/migrations/1752874371.sh b/migrations/1752874371.sh new file mode 100644 index 0000000..649adc7 --- /dev/null +++ b/migrations/1752874371.sh @@ -0,0 +1,4 @@ +echo "Add Catppuccin Latte light theme" +if [[ ! -L "~/.config/omarchy/themes/catppuccin-latte" ]]; then + ln -snf ~/.local/share/omarchy/themes/catppuccin-latte ~/.config/omarchy/themes/ +fi diff --git a/migrations/1752885858.sh b/migrations/1752885858.sh new file mode 100644 index 0000000..900d3cf --- /dev/null +++ b/migrations/1752885858.sh @@ -0,0 +1,5 @@ +echo "Install slurp + wl-screenrec for new ALT+PrintScreen screen recorder" + +if ! command -v wl-screenrec &>/dev/null || ! command -v slurp &>/dev/null; then + yay -S --noconfirm --needed slurp wl-screenrec +fi diff --git a/migrations/1752896442.sh b/migrations/1752896442.sh new file mode 100644 index 0000000..012acfc --- /dev/null +++ b/migrations/1752896442.sh @@ -0,0 +1,9 @@ +echo "Replace volume control GUI with a TUI" + +if ! command -v wiremix &>/dev/null; then + yay -S --noconfirm --needed wiremix + yay -Rns --noconfirm pavucontrol + + omarchy-refresh-applications + omarchy-refresh-waybar +fi diff --git a/migrations/1752897642.sh b/migrations/1752897642.sh new file mode 100644 index 0000000..034b78f --- /dev/null +++ b/migrations/1752897642.sh @@ -0,0 +1,4 @@ +echo "Remove needless fcitx5-configtool package" +if yay -Qe fcitx5-configtool &>/dev/null; then + yay -Rns --noconfirm fcitx5-configtool +fi diff --git a/migrations/1752899588.sh b/migrations/1752899588.sh new file mode 100644 index 0000000..ba778cd --- /dev/null +++ b/migrations/1752899588.sh @@ -0,0 +1,2 @@ +echo "Update .config/hypr/hyprlock.conf to include failed attempt counter" +omarchy-refresh-hyprlock diff --git a/migrations/1752955912.sh b/migrations/1752955912.sh new file mode 100644 index 0000000..8c59fb2 --- /dev/null +++ b/migrations/1752955912.sh @@ -0,0 +1,5 @@ +echo "Install satty for the new screenshot flow" + +if ! command -v satty &>/dev/null; then + yay -S --noconfirm --needed satty +fi diff --git a/migrations/1752981882.sh b/migrations/1752981882.sh new file mode 100644 index 0000000..9a37ae1 --- /dev/null +++ b/migrations/1752981882.sh @@ -0,0 +1,5 @@ +echo "Add missing libappindicator-gtk3 for Dropbox icon tray to work right" + +if ! pacman -Q libappindicator-gtk3 &>/dev/null; then + yay -S --noconfirm --needed libappindicator-gtk3 +fi diff --git a/migrations/1752981883.sh b/migrations/1752981883.sh new file mode 100644 index 0000000..73ba041 --- /dev/null +++ b/migrations/1752981883.sh @@ -0,0 +1,13 @@ +echo "Replace wofi with walker as the default launcher" + +if ! command -v walker &>/dev/null; then + yay -Sy --noconfirm --needed walker-bin libqalculate + + yay -Rns --noconfirm wofi + rm -rf ~/.config/wofi + + mkdir -p ~/.config/walker + cp -r ~/.local/share/omarchy/config/walker/* ~/.config/walker/ + + setsid uwsm app -- walker --gapplication-service & +fi diff --git a/migrations/1752983008.sh b/migrations/1752983008.sh new file mode 100644 index 0000000..672ca78 --- /dev/null +++ b/migrations/1752983008.sh @@ -0,0 +1,5 @@ +echo "Add missing installation of Zoom" + +if ! command -v zoom &>/dev/null; then + yay -S --noconfirm --needed zoom +fi diff --git a/migrations/1753062084.sh b/migrations/1753062084.sh new file mode 100644 index 0000000..abfe326 --- /dev/null +++ b/migrations/1753062084.sh @@ -0,0 +1,5 @@ +echo "Fix dancing workspace numbers in Waybar" + +if ! grep -q 'min-width: 9px' ~/.config/waybar/style.css; then + omarchy-refresh-waybar +fi diff --git a/migrations/1753064164.sh b/migrations/1753064164.sh new file mode 100644 index 0000000..8ac2757 --- /dev/null +++ b/migrations/1753064164.sh @@ -0,0 +1,6 @@ +echo "Add missing Dropbox dependencies" + +# Dropbox is still there, but the dependencies aren't yet +if command -v dropbox-cli &>/dev/null && ! pacman -Q libappindicator-gtk3 &>/dev/null; then + yay -S --noconfirm --needed dropbox libappindicator-gtk3 python-gpgme nautilus-dropbox +fi diff --git a/migrations/1753138691.sh b/migrations/1753138691.sh new file mode 100644 index 0000000..b37208f --- /dev/null +++ b/migrations/1753138691.sh @@ -0,0 +1,6 @@ +echo "Install swayOSD to show volume status" + +if ! command -v swayosd &>/dev/null; then + yay -S --noconfirm --needed swayosd + setsid uwsm app -- swayosd-server &>/dev/null & +fi diff --git a/migrations/1753176520.sh b/migrations/1753176520.sh new file mode 100644 index 0000000..8b21187 --- /dev/null +++ b/migrations/1753176520.sh @@ -0,0 +1,11 @@ +echo "Install wf-recorder for screen recording for nvidia" + +if lspci | grep -qi 'nvidia'; then + if ! command -v wf-recorder &>/dev/null; then + yay -S --noconfirm --needed wf-recorder + fi + + if command -v wl-screenrec &>/dev/null; then + yay -R --noconfirm wl-screenrec + fi +fi diff --git a/themes/catppuccin-latte/alacritty.toml b/themes/catppuccin-latte/alacritty.toml new file mode 100644 index 0000000..3fcf61e --- /dev/null +++ b/themes/catppuccin-latte/alacritty.toml @@ -0,0 +1,67 @@ +# https://raw.githubusercontent.com/catppuccin/alacritty/main/catppuccin-latte.toml + +[colors.primary] +background = "#eff1f5" +foreground = "#4c4f69" +dim_foreground = "#8c8fa1" +bright_foreground = "#4c4f69" + +[colors.cursor] +text = "#eff1f5" +cursor = "#dc8a78" + +[colors.vi_mode_cursor] +text = "#eff1f5" +cursor = "#7287fd" + +[colors.search.matches] +foreground = "#eff1f5" +background = "#6c6f85" + +[colors.search.focused_match] +foreground = "#eff1f5" +background = "#40a02b" + +[colors.footer_bar] +foreground = "#eff1f5" +background = "#6c6f85" + +[colors.hints.start] +foreground = "#eff1f5" +background = "#df8e1d" + +[colors.hints.end] +foreground = "#eff1f5" +background = "#6c6f85" + +[colors.selection] +text = "#eff1f5" +background = "#dc8a78" + +[colors.normal] +black = "#bcc0cc" +red = "#d20f39" +green = "#40a02b" +yellow = "#df8e1d" +blue = "#1e66f5" +magenta = "#ea76cb" +cyan = "#179299" +white = "#5c5f77" + +[colors.bright] +black = "#acb0be" +red = "#d20f39" +green = "#40a02b" +yellow = "#df8e1d" +blue = "#1e66f5" +magenta = "#ea76cb" +cyan = "#179299" +white = "#6c6f85" + +[[colors.indexed_colors]] +index = 16 +color = "#fe640b" + +[[colors.indexed_colors]] +index = 17 +color = "#dc8a78" diff --git a/themes/catppuccin-latte/backgrounds/1-catppuccin-latte.png b/themes/catppuccin-latte/backgrounds/1-catppuccin-latte.png new file mode 100644 index 0000000..ee0cd94 Binary files /dev/null and b/themes/catppuccin-latte/backgrounds/1-catppuccin-latte.png differ diff --git a/themes/catppuccin-latte/btop.theme b/themes/catppuccin-latte/btop.theme new file mode 100644 index 0000000..87ed181 --- /dev/null +++ b/themes/catppuccin-latte/btop.theme @@ -0,0 +1,84 @@ +# https://github.com/catppuccin/btop/blob/main/themes/catppuccin_latte.theme +# Main background, empty for terminal default, need to be empty if you want transparent background +theme[main_bg]="#eff1f5" + +# Main text color +theme[main_fg]="#4c4f69" + +# Title color for boxes +theme[title]="#4c4f69" + +# Highlight color for keyboard shortcuts +theme[hi_fg]="#1e66f5" + +# Background color of selected item in processes box +theme[selected_bg]="#bcc0cc" + +# Foreground color of selected item in processes box +theme[selected_fg]="#1e66f5" + +# Color of inactive/disabled text +theme[inactive_fg]="#8c8fa1" + +# Color of text appearing on top of graphs, i.e uptime and current network graph scaling +theme[graph_text]="#dc8a78" + +# Background color of the percentage meters +theme[meter_bg]="#bcc0cc" + +# Misc colors for processes box including mini cpu graphs, details memory graph and details status text +theme[proc_misc]="#dc8a78" + +# CPU, Memory, Network, Proc box outline colors +theme[cpu_box]="#8839ef" #Mauve +theme[mem_box]="#40a02b" #Green +theme[net_box]="#e64553" #Maroon +theme[proc_box]="#1e66f5" #Blue + +# Box divider line and small boxes line color +theme[div_line]="#9ca0b0" + +# Temperature graph color (Green -> Yellow -> Red) +theme[temp_start]="#40a02b" +theme[temp_mid]="#df8e1d" +theme[temp_end]="#d20f39" + +# CPU graph colors (Teal -> Lavender) +theme[cpu_start]="#179299" +theme[cpu_mid]="#209fb5" +theme[cpu_end]="#7287fd" + +# Mem/Disk free meter (Mauve -> Lavender -> Blue) +theme[free_start]="#8839ef" +theme[free_mid]="#7287fd" +theme[free_end]="#1e66f5" + +# Mem/Disk cached meter (Sapphire -> Lavender) +theme[cached_start]="#209fb5" +theme[cached_mid]="#1e66f5" +theme[cached_end]="#7287fd" + +# Mem/Disk available meter (Peach -> Red) +theme[available_start]="#fe640b" +theme[available_mid]="#e64553" +theme[available_end]="#d20f39" + +# Mem/Disk used meter (Green -> Sky) +theme[used_start]="#40a02b" +theme[used_mid]="#179299" +theme[used_end]="#04a5e5" + +# Download graph colors (Peach -> Red) +theme[download_start]="#fe640b" +theme[download_mid]="#e64553" +theme[download_end]="#d20f39" + +# Upload graph colors (Green -> Sky) +theme[upload_start]="#40a02b" +theme[upload_mid]="#179299" +theme[upload_end]="#04a5e5" + +# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve) +theme[process_start]="#209fb5" +theme[process_mid]="#7287fd" +theme[process_end]="#8839ef" diff --git a/themes/catppuccin-latte/hyprland.conf b/themes/catppuccin-latte/hyprland.conf new file mode 100644 index 0000000..3d8d7e9 --- /dev/null +++ b/themes/catppuccin-latte/hyprland.conf @@ -0,0 +1,8 @@ +# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors + +$latte_blue = rgb(1e66f5) + +general { + col.active_border = $latte_blue +} + diff --git a/themes/catppuccin-latte/hyprlock.conf b/themes/catppuccin-latte/hyprlock.conf new file mode 100644 index 0000000..c47e518 --- /dev/null +++ b/themes/catppuccin-latte/hyprlock.conf @@ -0,0 +1,6 @@ +$color = rgba(239,241,245,1.0) +$inner_color = rgba(239,241,245,0.8) +$outer_color = rgba(30,102,245,1.0) +$font_color = rgba(76,79,105,1.0) +$check_color = rgba(4,165,229,1.0) + diff --git a/themes/catppuccin-latte/light.mode b/themes/catppuccin-latte/light.mode new file mode 100644 index 0000000..66bb2d0 --- /dev/null +++ b/themes/catppuccin-latte/light.mode @@ -0,0 +1 @@ +# This will set "prefer-light" and use "Adwaita" as the theme diff --git a/themes/catppuccin-latte/mako.ini b/themes/catppuccin-latte/mako.ini new file mode 100644 index 0000000..b123ca6 --- /dev/null +++ b/themes/catppuccin-latte/mako.ini @@ -0,0 +1,22 @@ +text-color=#4c4f69 +border-color=#dce0e8 +background-color=#eff1f5 +width=420 +height=110 +padding=10 +border-size=2 +font=Liberation Sans 11 +anchor=top-right +outer-margin=20 +default-timeout=5000 +max-icon-size=32 + +[app-name=Spotify] +invisible=1 + +[mode=do-not-disturb] +invisible=true + +[mode=do-not-disturb app-name=notify-send] +invisible=false + diff --git a/themes/catppuccin-latte/neovim.lua b/themes/catppuccin-latte/neovim.lua new file mode 100644 index 0000000..07a53cf --- /dev/null +++ b/themes/catppuccin-latte/neovim.lua @@ -0,0 +1,19 @@ +return { + { + "catppuccin/nvim", + name = "catppuccin", + priority = 1000, + config = function() + require("catppuccin").setup({ + flavour = "latte", -- other options: "mocha", "frappe", "macchiato" + }) + vim.cmd.colorscheme("catppuccin-latte") + end, + }, + { + "LazyVim/LazyVim", + opts = { + colorscheme = "catppuccin-latte", + }, + }, +} diff --git a/themes/catppuccin-latte/walker.css b/themes/catppuccin-latte/walker.css new file mode 100644 index 0000000..30e54bd --- /dev/null +++ b/themes/catppuccin-latte/walker.css @@ -0,0 +1,6 @@ +@define-color selected-text #1e66f5; +@define-color text #4c4f69; +@define-color base #eff1f5; +@define-color border #dce0e8; +@define-color foreground #4c4f69; +@define-color background #eff1f5; diff --git a/themes/catppuccin-latte/waybar.css b/themes/catppuccin-latte/waybar.css new file mode 100644 index 0000000..5918ec6 --- /dev/null +++ b/themes/catppuccin-latte/waybar.css @@ -0,0 +1,4 @@ +@define-color foreground #4c4f69; /* text */ +@define-color background #eff1f5; /* base */ +@define-color border #dce0e8; /* crust */ +@define-color accent #1e66f5; /* blue */ diff --git a/themes/catppuccin/hyprlock.conf b/themes/catppuccin/hyprlock.conf index 600af77..4bd905b 100644 --- a/themes/catppuccin/hyprlock.conf +++ b/themes/catppuccin/hyprlock.conf @@ -1,12 +1,5 @@ -# ──────────────────────────────────────────────────────────── -# Hyprlock — Catppuccin theme -# ──────────────────────────────────────────────────────────── - -$color = rgba(24,24,36,1.0) # #181824 solid color - -$inner_color = rgba(24,24,36,0.8) # #181824 with opacity -$outer_color = rgba(205,214,244,1.0) # #cdd6f4 - +$color = rgba(24,24,36,1.0) +$inner_color = rgba(24,24,36,0.8) +$outer_color = rgba(205,214,244,1.0) $font_color = rgba(205,214,244,1.0) -$placeholder_color = rgba(205,214,244,0.6) $check_color = rgba(68, 157, 171, 1.0) diff --git a/themes/catppuccin/walker.css b/themes/catppuccin/walker.css new file mode 100644 index 0000000..4b0d346 --- /dev/null +++ b/themes/catppuccin/walker.css @@ -0,0 +1,6 @@ +@define-color selected-text #8caaee; +@define-color text #c6d0f5; +@define-color base #24273a; +@define-color border #c6d0f5; +@define-color foreground #c6d0f5; +@define-color background #24273a; diff --git a/themes/catppuccin/wofi.css b/themes/catppuccin/wofi.css deleted file mode 100644 index 7dd3bb5..0000000 --- a/themes/catppuccin/wofi.css +++ /dev/null @@ -1,4 +0,0 @@ -@define-color selected-text #8caaee; -@define-color text #c6d0f5; -@define-color base #24273a; -@define-color border #c6d0f5; diff --git a/themes/everforest/hyprlock.conf b/themes/everforest/hyprlock.conf index 7752c38..1135952 100644 --- a/themes/everforest/hyprlock.conf +++ b/themes/everforest/hyprlock.conf @@ -1,13 +1,5 @@ -# ──────────────────────────────────────────────────────────── -# Hyprlock — Everforest theme -# ──────────────────────────────────────────────────────────── - -$color = rgba(45,53,59,1.0) # #2d353b solid color - -$inner_color = rgba(45,53,59,0.8) # #2d353b with opacity -$outer_color = rgba(211,198,170,1.0) # #d3c6aa - +$color = rgba(45,53,59,1.0) +$inner_color = rgba(45,53,59,0.8) +$outer_color = rgba(211,198,170,1.0) $font_color = rgba(211,198,170,1.0) - -$placeholder_color = rgba(211,198,170,0.6) $check_color = rgba(131, 192, 146, 1.0) diff --git a/themes/everforest/walker.css b/themes/everforest/walker.css new file mode 100644 index 0000000..56d6e56 --- /dev/null +++ b/themes/everforest/walker.css @@ -0,0 +1,6 @@ +@define-color selected-text #dbbc7f; +@define-color text #d3c6aa; +@define-color base #2d353b; +@define-color border #d3c6aa; +@define-color foreground #d3c6aa; +@define-color background #2d353b; diff --git a/themes/everforest/wofi.css b/themes/everforest/wofi.css deleted file mode 100644 index e4ea073..0000000 --- a/themes/everforest/wofi.css +++ /dev/null @@ -1,4 +0,0 @@ -@define-color selected-text #dbbc7f; -@define-color text #d3c6aa; -@define-color base #2d353b; -@define-color border #d3c6aa; diff --git a/themes/gruvbox/hyprlock.conf b/themes/gruvbox/hyprlock.conf index 4001a99..1d18e4f 100644 --- a/themes/gruvbox/hyprlock.conf +++ b/themes/gruvbox/hyprlock.conf @@ -1,13 +1,5 @@ -# ──────────────────────────────────────────────────────────── -# Hyprlock — Gruvbox theme -# ──────────────────────────────────────────────────────────── - -$color = rgba(40,40,40,1.0) # #282828 solid color - -$inner_color = rgba(40,40,40,0.8) # #282828 with opacity -$outer_color = rgba(212,190,152,1.0) # #d4be98 - +$color = rgba(40,40,40,1.0) +$inner_color = rgba(40,40,40,0.8) +$outer_color = rgba(212,190,152,1.0) $font_color = rgba(212,190,152,1.0) - -$placeholder_color = rgba(212,190,152,0.6) $check_color = rgba(214, 153, 92, 1.0) diff --git a/themes/gruvbox/walker.css b/themes/gruvbox/walker.css new file mode 100644 index 0000000..6192cd6 --- /dev/null +++ b/themes/gruvbox/walker.css @@ -0,0 +1,6 @@ +@define-color selected-text #fabd2f; +@define-color text #ebdbb2; +@define-color base #282828; +@define-color border #ebdbb2; +@define-color foreground #ebdbb2; +@define-color background #282828; diff --git a/themes/gruvbox/wofi.css b/themes/gruvbox/wofi.css deleted file mode 100644 index 42d68ef..0000000 --- a/themes/gruvbox/wofi.css +++ /dev/null @@ -1,4 +0,0 @@ -@define-color selected-text #fabd2f; -@define-color text #ebdbb2; -@define-color base #282828; -@define-color border #ebdbb2; diff --git a/themes/kanagawa/hyprlock.conf b/themes/kanagawa/hyprlock.conf index 7979661..7608b2c 100644 --- a/themes/kanagawa/hyprlock.conf +++ b/themes/kanagawa/hyprlock.conf @@ -1,13 +1,5 @@ -# ──────────────────────────────────────────────────────────── -# Hyprlock — Kanagawa theme -# ──────────────────────────────────────────────────────────── - -$color = rgba(31,31,40,1.0) # #1f1f28 solid color - -$inner_color = rgba(31,31,40,0.8) # #1f1f28 with opacity -$outer_color = rgba(220,215,186,1.0) # #dcd7ba - +$color = rgba(31,31,40,1.0) +$inner_color = rgba(31,31,40,0.8) +$outer_color = rgba(220,215,186,1.0) $font_color = rgba(220,215,186,1.0) - -$placeholder_color = rgba(220,215,186,0.6) $check_color = rgba(126, 156, 216, 1.0) diff --git a/themes/kanagawa/walker.css b/themes/kanagawa/walker.css new file mode 100644 index 0000000..8284746 --- /dev/null +++ b/themes/kanagawa/walker.css @@ -0,0 +1,6 @@ +@define-color selected-text #dca561; +@define-color text #dcd7ba; +@define-color base #1f1f28; +@define-color border #dcd7ba; +@define-color foreground #dcd7ba; +@define-color background #1f1f28; diff --git a/themes/kanagawa/wofi.css b/themes/kanagawa/wofi.css deleted file mode 100644 index 8c45967..0000000 --- a/themes/kanagawa/wofi.css +++ /dev/null @@ -1,4 +0,0 @@ -@define-color selected-text #dca561; -@define-color text #dcd7ba; -@define-color base #1f1f28; -@define-color border #dcd7ba; diff --git a/themes/matte-black/hyprlock.conf b/themes/matte-black/hyprlock.conf index 33f91b4..54f4947 100644 --- a/themes/matte-black/hyprlock.conf +++ b/themes/matte-black/hyprlock.conf @@ -1,9 +1,5 @@ -$color = rgba(12,12,12,1.0) # #333333 matte black - -$inner_color = rgba(138,138,141,0.3) # #8a8a8d with opacity -$outer_color = rgba(234,234,234,0.5) # #EAEAEA - -$font_color = rgba(234,234,234,1.0) # #EAEAEA - -$placeholder_color = rgba(234,234,234,0.6) # #EAEAEA with opacity -$check_color = rgba(245,158,11,1.0) # #f59e0b amber accent +$color = rgba(12,12,12,1.0) +$inner_color = rgba(138,138,141,0.3) +$outer_color = rgba(234,234,234,0.5) +$font_color = rgba(234,234,234,1.0) +$check_color = rgba(245,158,11,1.0) diff --git a/themes/matte-black/neovim.lua b/themes/matte-black/neovim.lua index f2d9f43..1ecffe3 100644 --- a/themes/matte-black/neovim.lua +++ b/themes/matte-black/neovim.lua @@ -16,10 +16,10 @@ return { local matte_black_palette = { -- Base "Matte Black" Palette Overrides bg0 = "#0D0D0D", bg1 = "#121212", bg2 = "#1E1E1E", bg3 = "#2C2C2C", bg4 = "#333333", - fg0 = "#FFFFFF", fg1 = "#BEBEBE", fg2 = "#BEBEBE", fg3 = "#8A8A8D", + fg0 = "#FFFFFF", fg1 = "#EAEAEA", fg2 = "#BEBEBE", fg3 = "#8A8A8D", sel0 = "#2C2C2C", sel1 = c.from_hex("#2C2C2C"):blend(c.from_hex("#F59E0B"), 0.2):to_css(), - comment = "#333333", + comment = "#8A8A8D", red = Shade.new("#D35F5F", c.from_hex("#D35F5F"):lighten(8):to_css(), "#B91C1C"), orange = Shade.new("#F59E0B", "#FFC107", c.from_hex("#F59E0B"):lighten(-8):to_css()), yellow = Shade.new("#FFC107", c.from_hex("#FFC107"):lighten(10):to_css(), "#F59E0B"), @@ -82,6 +82,8 @@ return { Whitespace = { fg = "palette.black.bright" }, NonText = { fg = "palette.black.bright" }, IncSearch = { bg = "palette.sel1" }, + CursorLine = { bg = "palette.bg2" }, + Normal = { fg = "palette.fg1" }, -- Noice Cmdline Overrides NoiceCmdlinePopupBorder = { fg = "palette.fg3" }, diff --git a/themes/matte-black/walker.css b/themes/matte-black/walker.css new file mode 100644 index 0000000..d3d606b --- /dev/null +++ b/themes/matte-black/walker.css @@ -0,0 +1,6 @@ +@define-color selected-text #B91C1C; +@define-color text #EAEAEA; +@define-color base #121212; +@define-color border #EAEAEA88; +@define-color foreground #EAEAEA; +@define-color background #121212; diff --git a/themes/matte-black/wofi.css b/themes/matte-black/wofi.css deleted file mode 100644 index a699672..0000000 --- a/themes/matte-black/wofi.css +++ /dev/null @@ -1,8 +0,0 @@ -@define-color selected-text #B91C1C; -@define-color text #EAEAEA; -@define-color base #121212; - -@define-color selected-text #B91C1C; -@define-color text #EAEAEA; -@define-color base #121212; -@define-color border #EAEAEA; diff --git a/themes/nord/hyprlock.conf b/themes/nord/hyprlock.conf index a6471d8..7726df4 100644 --- a/themes/nord/hyprlock.conf +++ b/themes/nord/hyprlock.conf @@ -1,13 +1,5 @@ -# ──────────────────────────────────────────────────────────── -# Hyprlock — Nord theme -# ──────────────────────────────────────────────────────────── - -$color = rgba(46,52,64,1.0) # #2e3440 solid color - -$inner_color = rgba(46,52,64,0.8) # #2e3440 with opacity -$outer_color = rgba(216,222,233,1.0) # #d8dee9 - +$color = rgba(46,52,64,1.0) +$inner_color = rgba(46,52,64,0.8) +$outer_color = rgba(216,222,233,1.0) $font_color = rgba(216,222,233,1.0) - -$placeholder_color = rgba(216,222,233,0.6) $check_color = rgba(136, 192, 208, 1.0) diff --git a/themes/nord/walker.css b/themes/nord/walker.css new file mode 100644 index 0000000..2e20d17 --- /dev/null +++ b/themes/nord/walker.css @@ -0,0 +1,6 @@ +@define-color selected-text #88C0D0; +@define-color text #D8DEE9; +@define-color base #2E3440; +@define-color border #D8DEE9; +@define-color foreground #D8DEE9; +@define-color background #2E3440; diff --git a/themes/nord/wofi.css b/themes/nord/wofi.css deleted file mode 100644 index 17190dd..0000000 --- a/themes/nord/wofi.css +++ /dev/null @@ -1,4 +0,0 @@ -@define-color selected-text #88C0D0; -@define-color text #D8DEE9; -@define-color base #2E3440; -@define-color border #D8DEE9; diff --git a/themes/rose-pine/hyprlock.conf b/themes/rose-pine/hyprlock.conf index 097ff5c..890e7e5 100644 --- a/themes/rose-pine/hyprlock.conf +++ b/themes/rose-pine/hyprlock.conf @@ -1,9 +1,5 @@ $color = rgba(250, 244, 237,1.0) - $inner_color = rgba(250, 244, 237,0.8) $outer_color = rgba(57,52,79,1.0) - $font_color = rgba(57,52,79,1.0) - -$placeholder_color = rgba(216,222,233,0.6) $check_color = rgba(136, 192, 208, 1.0) diff --git a/themes/rose-pine/walker.css b/themes/rose-pine/walker.css new file mode 100644 index 0000000..a6188c8 --- /dev/null +++ b/themes/rose-pine/walker.css @@ -0,0 +1,6 @@ +@define-color selected-text #88C0D0; +@define-color text #575279; +@define-color base #faf4ed; +@define-color border #575279; +@define-color foreground #575279; +@define-color background #faf4ed; diff --git a/themes/rose-pine/wofi.css b/themes/rose-pine/wofi.css deleted file mode 100644 index 51bf573..0000000 --- a/themes/rose-pine/wofi.css +++ /dev/null @@ -1,4 +0,0 @@ -@define-color selected-text #88C0D0; -@define-color text #575279; -@define-color base #faf4ed; -@define-color border #575279; diff --git a/themes/tokyo-night/backgrounds/3-scenery-pink-lakeside-sunset-lake-landscape-scenic-panorama-7680x3215-144.png b/themes/tokyo-night/backgrounds/3-scenery-pink-lakeside-sunset-lake-landscape-scenic-panorama-7680x3215-144.png new file mode 100644 index 0000000..d806728 Binary files /dev/null and b/themes/tokyo-night/backgrounds/3-scenery-pink-lakeside-sunset-lake-landscape-scenic-panorama-7680x3215-144.png differ diff --git a/themes/tokyo-night/hyprlock.conf b/themes/tokyo-night/hyprlock.conf index 5b3e45f..7ef8abb 100644 --- a/themes/tokyo-night/hyprlock.conf +++ b/themes/tokyo-night/hyprlock.conf @@ -1,13 +1,5 @@ -# ──────────────────────────────────────────────────────────── -# Hyprlock — Tokyo Night theme -# ──────────────────────────────────────────────────────────── - -$color = rgba(26,27,38,1.0) # #1a1b26 solid color - -$inner_color = rgba(26,27,38,0.8) # #1a1b26 with opacity -$outer_color = rgba(205,214,244,1.0) # #cdd6f4 - +$color = rgba(26,27,38,1.0) +$inner_color = rgba(26,27,38,0.8) +$outer_color = rgba(205,214,244,1.0) $font_color = rgba(205,214,244,1.0) - -$placeholder_color = rgba(205,214,244,0.6) $check_color = rgba(68, 157, 171, 1.0) diff --git a/themes/tokyo-night/walker.css b/themes/tokyo-night/walker.css new file mode 100644 index 0000000..aeb271d --- /dev/null +++ b/themes/tokyo-night/walker.css @@ -0,0 +1,6 @@ +@define-color selected-text #7dcfff; +@define-color text #cfc9c2; +@define-color base #1a1b26; +@define-color border #33ccff; +@define-color foreground #cfc9c2; +@define-color background #1a1b26; diff --git a/themes/tokyo-night/wofi.css b/themes/tokyo-night/wofi.css deleted file mode 100644 index 0c21483..0000000 --- a/themes/tokyo-night/wofi.css +++ /dev/null @@ -1,4 +0,0 @@ -@define-color selected-text #7dcfff; -@define-color text #cfc9c2; -@define-color base #1a1b26; -@define-color border #33ccff;