diff --git a/bin/omarchy b/bin/omarchy index 936aec2..3de2c62 100755 --- a/bin/omarchy +++ b/bin/omarchy @@ -4,7 +4,8 @@ OMARCHY_VERSION=$(git -C ~/.local/share/omarchy describe --tags --abbrev=0 2>/de PATH="$PATH:$HOME/.local/share/omarchy/bin" show_ascii_art() { - source ~/.local/share/omarchy/ansi.sh + clear + tte -i ~/.local/share/omarchy/logo.txt --frame-rate 640 expand echo " $OMARCHY_VERSION" } @@ -95,9 +96,10 @@ remove_theme_prompt() { setup_menu() { show_ascii_art - local menu=("Dropbox" "Docker DBs" "Fingerprint sensor" "Fido2 device" "Back") + local menu=("Dropbox" "Steam" "Docker DBs" "Fingerprint sensor" "Fido2 device" "Back") local commands=( "omarchy-setup-dropbox" + "omarchy-setup-steam" "setup_docker_dbs" "omarchy-setup-fingerprint" "omarchy-setup-fido2" @@ -126,10 +128,10 @@ setup_docker_dbs() { if [[ -n "$choices" ]]; then for db in $choices; do case $db in - MariaDB) sudo docker run -d --restart unless-stopped -p "127.0.0.1:3306:3306" --name=mariadb11 -e MARIADB_ROOT_PASSWORD= -e MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=true mariadb:11.8 ;; 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 ;; + MariaDB) sudo docker run -d --restart unless-stopped -p "127.0.0.1:3306:3306" --name=mariadb11 -e MARIADB_ROOT_PASSWORD= -e MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=true mariadb:11.8 ;; + Redis) sudo docker run -d --restart unless-stopped -p "127.0.0.1:6379:6379" --name=redis redis:7 ;; esac done fi diff --git a/bin/omarchy-cmd-screenrecord b/bin/omarchy-cmd-screenrecord index 20cedfe..9a99f62 100755 --- a/bin/omarchy-cmd-screenrecord +++ b/bin/omarchy-cmd-screenrecord @@ -2,8 +2,10 @@ # Set recorder based on GPU +OUTPUT_DIR="${OMARCHY_SCREENRECORD_DIR:-$HOME/Videos}" + screenrecording() { - filename="$HOME/Videos/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4" + filename="$OUTPUT_DIR/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4" notify-send "Screen recording starting..." -t 1000 sleep 1 diff --git a/bin/omarchy-cmd-screenshot b/bin/omarchy-cmd-screenshot index f270162..04b1937 100755 --- a/bin/omarchy-cmd-screenshot +++ b/bin/omarchy-cmd-screenshot @@ -1,8 +1,10 @@ #!/bin/bash +OUTPUT_DIR="${OMARCHY_SCREENSHOT_DIR:-$HOME/Pictures}" + pkill slurp || hyprshot -m ${1:-region} --raw | satty --filename - \ - --output-filename ~/Pictures/screenshot-$(date +'%Y-%m-%d_%H-%M-%S').png \ + --output-filename "$OUTPUT_DIR/screenshot-$(date +'%Y-%m-%d_%H-%M-%S').png" \ --early-exit \ --actions-on-enter save-to-clipboard \ --save-after-copy \ diff --git a/bin/omarchy-setup-steam b/bin/omarchy-setup-steam new file mode 100755 index 0000000..ae4051c --- /dev/null +++ b/bin/omarchy-setup-steam @@ -0,0 +1,9 @@ +#!/bin/bash + +echo "Adding multilib repository for 32-bit compatibility" +sudo sed -i '/^\s*#\[multilib\]/,/^$/{s/^\s*#//}' /etc/pacman.conf +sudo pacman -Sy + +echo "Now pick dependencies matching your graphics card" +yay -S steam +gtk-launch steam >/dev/null 2>&1 & diff --git a/bin/omarchy-theme-install b/bin/omarchy-theme-install index 67a7909..93b30ab 100755 --- a/bin/omarchy-theme-install +++ b/bin/omarchy-theme-install @@ -12,9 +12,6 @@ REPO_URL="$1" THEMES_DIR="$HOME/.config/omarchy/themes" THEME_NAME=$(basename "$REPO_URL" .git | sed -E 's/^omarchy-//; s/-theme$//') THEME_PATH="$THEMES_DIR/$THEME_NAME" -THEME_BACKGROUND_PATH="$THEME_PATH/backgrounds" -BACKGROUNDS_PATH="$HOME/.config/omarchy/backgrounds" -BACKGROUNDS_THEME_PATH="$BACKGROUNDS_PATH/$THEME_NAME" # Remove existing theme if present if [ -d "$THEME_PATH" ]; then @@ -27,10 +24,5 @@ if ! git clone "$REPO_URL" "$THEME_PATH"; then exit 1 fi -# Link backgrounds if present -if [ -d $THEME_BACKGROUND_PATH ]; then - ln -snf $THEME_BACKGROUND_PATH $BACKGROUNDS_THEME_PATH -fi - # Apply the new theme with omarchy-theme-set omarchy-theme-set $THEME_NAME diff --git a/boot.sh b/boot.sh index 3ff9965..65c1cac 100755 --- a/boot.sh +++ b/boot.sh @@ -10,6 +10,7 @@ ansi_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄ ▀██████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ████████▀ ███ █▀ ▀█████▀ ███ ███ ' +clear echo -e "\n$ansi_art\n" sudo pacman -Sy --noconfirm --needed git diff --git a/config/hypr/hypridle.conf b/config/hypr/hypridle.conf index 8b1449e..e607bda 100644 --- a/config/hypr/hypridle.conf +++ b/config/hypr/hypridle.conf @@ -2,6 +2,7 @@ general { lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances. before_sleep_cmd = loginctl lock-session # lock before suspend. after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display. + on_unlock_cmd = pkill -SIGUSR2 waybar # prevent stacking of waybar when waking } listener { diff --git a/default/hypr/bindings/tiling.conf b/default/hypr/bindings/tiling.conf index 4b9224a..1176e19 100644 --- a/default/hypr/bindings/tiling.conf +++ b/default/hypr/bindings/tiling.conf @@ -5,7 +5,7 @@ bind = SUPER, W, killactive, bind = SUPER, J, togglesplit, # dwindle bind = SUPER, P, pseudo, # dwindle bind = SUPER, V, togglefloating, -bind = , F11, fullscreen, 0 +bind = SHIFT, F11, fullscreen, 0 # Move focus with mainMod + arrow keys bind = SUPER, left, movefocus, l diff --git a/default/hypr/windows.conf b/default/hypr/windows.conf index bf9049d..ec62f32 100644 --- a/default/hypr/windows.conf +++ b/default/hypr/windows.conf @@ -15,7 +15,8 @@ windowrule = float, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Fil windowrule = center, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?|All Files|Save) # Float Steam, fullscreen RetroArch -windowrule = float, class:^(steam)$ +windowrule = float, class:steam +windowrule = center, class:steam windowrule = fullscreen, class:^(com.libretro.RetroArch)$ # Just dash of opacity diff --git a/install.sh b/install.sh index a329185..f393a7f 100755 --- a/install.sh +++ b/install.sh @@ -3,6 +3,8 @@ # Exit immediately if a command exits with a non-zero status set -e +OMARCHY_INSTALL=~/.local/share/omarchy/install + # Give people a chance to retry running the installation catch_errors() { echo -e "\n\e[31mOmarchy installation failed!\e[0m" @@ -12,16 +14,70 @@ catch_errors() { trap catch_errors ERR -# Install everything -for f in ~/.local/share/omarchy/install/*.sh; do - echo -e "\nRunning installer: $f" - source "$f" -done +show_logo() { + clear + tte -i ~/.local/share/omarchy/logo.txt --frame-rate ${2:-120} ${1:-expand} + echo +} -# Ensure locate is up to date now that everything has been installed +show_subtext() { + echo "$1" | tte --frame-rate ${3:-640} ${2:-wipe} + echo +} + +# Install prerequisites +source $OMARCHY_INSTALL/preflight/aur.sh +source $OMARCHY_INSTALL/preflight/presentation.sh + +# Configuration +show_logo beams 240 +show_subtext "Let's install Omarchy! [1/5]" +source $OMARCHY_INSTALL/config/identification.sh +source $OMARCHY_INSTALL/config/config.sh +source $OMARCHY_INSTALL/config/detect-keyboard-layout.sh +source $OMARCHY_INSTALL/config/fix-fkeys.sh +source $OMARCHY_INSTALL/config/network.sh +source $OMARCHY_INSTALL/config/power.sh +source $OMARCHY_INSTALL/config/login.sh +source $OMARCHY_INSTALL/config/plymouth.sh +source $OMARCHY_INSTALL/config/nvidia.sh + +# Development +show_logo decrypt 920 +show_subtext "Installing terminal tools [2/10]" +source $OMARCHY_INSTALL/development/terminal.sh +source $OMARCHY_INSTALL/development/developent.sh +source $OMARCHY_INSTALL/development/nvim.sh +source $OMARCHY_INSTALL/development/ruby.sh +source $OMARCHY_INSTALL/development/docker.sh +source $OMARCHY_INSTALL/development/firewall.sh + +# Desktop +show_logo slice +show_subtext "Installing desktop tools [3/10]" +source $OMARCHY_INSTALL/desktop/desktop.sh +source $OMARCHY_INSTALL/desktop/hyprlandia.sh +source $OMARCHY_INSTALL/dekstop/theme.sh +source $OMARCHY_INSTALL/desktop/bluetooth.sh +source $OMARCHY_INSTALL/desktop/asdcontrol.sh +source $OMARCHY_INSTALL/desktop/fonts.sh +source $OMARCHY_INSTALL/desktop/printer.sh + +# Apps +show_logo expand +show_subtext "Installing default applications [4/5]" +source $OMARCHY_INSTALL/apps/webapps.sh +source $OMARCHY_INSTALL/apps/xtras.sh +source $OMARCHY_INSTALL/apps/mimetypes.sh + +# Updates +show_logo highlight +show_subtext "Updating system packages [5/5]" sudo updatedb - -# Update all built-in packages sudo pacman -Syu --noconfirm -gum confirm "Reboot to apply all settings?" && reboot +# Reboot +show_logo laseretch 920 +show_subtext "You're done! So we'll be rebooting now..." +sleep 2 +reboot diff --git a/install/1-yay.sh b/install/1-yay.sh deleted file mode 100644 index df6a9cd..0000000 --- a/install/1-yay.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -sudo pacman -S --needed --noconfirm base-devel - -if ! command -v yay &>/dev/null; then - cd /tmp - git clone https://aur.archlinux.org/yay-bin.git - cd yay-bin - makepkg -si --noconfirm - cd - - rm -rf yay-bin - cd ~ - - # Add fun and color to the pacman installer - sudo sed -i '/^\[options\]/a Color\nILoveCandy' /etc/pacman.conf -fi diff --git a/install/mimetypes.sh b/install/apps/mimetypes.sh similarity index 100% rename from install/mimetypes.sh rename to install/apps/mimetypes.sh diff --git a/install/webapps.sh b/install/apps/webapps.sh similarity index 86% rename from install/webapps.sh rename to install/apps/webapps.sh index fbaf3a3..6f5c444 100644 --- a/install/webapps.sh +++ b/install/apps/webapps.sh @@ -12,5 +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 + web2app "Omarchy Manual" https://manuals.omamix.org/2/the-omarchy-manual https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/arch-linux.png fi diff --git a/install/xtras.sh b/install/apps/xtras.sh similarity index 91% rename from install/xtras.sh rename to install/apps/xtras.sh index 36c88e9..35eecdb 100644 --- a/install/xtras.sh +++ b/install/apps/xtras.sh @@ -1,6 +1,9 @@ #!/bin/bash if [ -z "$OMARCHY_BARE" ]; then + show_logo + show_subtext "Installing default applications..." + yay -S --noconfirm --needed \ gnome-calculator gnome-keyring signal-desktop \ obsidian-bin libreoffice obs-studio kdenlive \ diff --git a/install/4-config.sh b/install/config/config.sh similarity index 100% rename from install/4-config.sh rename to install/config/config.sh diff --git a/install/detect-keyboard-layout.sh b/install/config/detect-keyboard-layout.sh similarity index 100% rename from install/detect-keyboard-layout.sh rename to install/config/detect-keyboard-layout.sh diff --git a/install/fix-fkeys.sh b/install/config/fix-fkeys.sh similarity index 100% rename from install/fix-fkeys.sh rename to install/config/fix-fkeys.sh diff --git a/install/2-identification.sh b/install/config/identification.sh similarity index 50% rename from install/2-identification.sh rename to install/config/identification.sh index f31b1e8..94e9d7b 100644 --- a/install/2-identification.sh +++ b/install/config/identification.sh @@ -1,10 +1,4 @@ #!/bin/bash -# Need gum to query for input -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/login.sh b/install/config/login.sh similarity index 96% rename from install/login.sh rename to install/config/login.sh index 5e090b7..b0e268d 100644 --- a/install/login.sh +++ b/install/config/login.sh @@ -1,6 +1,5 @@ #!/bin/bash -# Hyprland launched via UWSM and login directly as user, rely on disk encryption + hyprlock for security yay -S --noconfirm --needed uwsm # Compile the seamless login helper -- needed to prevent seeing terminal between loader and desktop diff --git a/install/network.sh b/install/config/network.sh similarity index 100% rename from install/network.sh rename to install/config/network.sh diff --git a/install/nvidia.sh b/install/config/nvidia.sh similarity index 98% rename from install/nvidia.sh rename to install/config/nvidia.sh index 3385e04..e3a475a 100644 --- a/install/nvidia.sh +++ b/install/config/nvidia.sh @@ -12,6 +12,9 @@ # --- GPU Detection --- if [ -n "$(lspci | grep -i 'nvidia')" ]; then + show_logo + show_subtext "Install NVIDIA drivers..." + # --- Driver Selection --- # Turing (16xx, 20xx), Ampere (30xx), Ada (40xx), and newer recommend the open-source kernel modules if echo "$(lspci | grep -i 'nvidia')" | grep -q -E "RTX [2-9][0-9]|GTX 16"; then diff --git a/install/plymouth.sh b/install/config/plymouth.sh similarity index 100% rename from install/plymouth.sh rename to install/config/plymouth.sh diff --git a/install/power.sh b/install/config/power.sh similarity index 100% rename from install/power.sh rename to install/config/power.sh diff --git a/install/asdcontrol.sh b/install/desktop/asdcontrol.sh similarity index 100% rename from install/asdcontrol.sh rename to install/desktop/asdcontrol.sh diff --git a/install/bluetooth.sh b/install/desktop/bluetooth.sh similarity index 100% rename from install/bluetooth.sh rename to install/desktop/bluetooth.sh diff --git a/install/desktop.sh b/install/desktop/desktop.sh similarity index 100% rename from install/desktop.sh rename to install/desktop/desktop.sh diff --git a/install/fonts.sh b/install/desktop/fonts.sh similarity index 100% rename from install/fonts.sh rename to install/desktop/fonts.sh diff --git a/install/hyprlandia.sh b/install/desktop/hyprlandia.sh similarity index 100% rename from install/hyprlandia.sh rename to install/desktop/hyprlandia.sh diff --git a/install/printer.sh b/install/desktop/printer.sh similarity index 100% rename from install/printer.sh rename to install/desktop/printer.sh diff --git a/install/theme.sh b/install/desktop/theme.sh similarity index 100% rename from install/theme.sh rename to install/desktop/theme.sh diff --git a/install/development.sh b/install/development/development.sh similarity index 100% rename from install/development.sh rename to install/development/development.sh diff --git a/install/docker.sh b/install/development/docker.sh similarity index 100% rename from install/docker.sh rename to install/development/docker.sh diff --git a/install/firewall.sh b/install/development/firewall.sh similarity index 100% rename from install/firewall.sh rename to install/development/firewall.sh diff --git a/install/nvim.sh b/install/development/nvim.sh similarity index 100% rename from install/nvim.sh rename to install/development/nvim.sh diff --git a/install/ruby.sh b/install/development/ruby.sh similarity index 100% rename from install/ruby.sh rename to install/development/ruby.sh diff --git a/install/3-terminal.sh b/install/development/terminal.sh similarity index 100% rename from install/3-terminal.sh rename to install/development/terminal.sh diff --git a/install/preflight/aur.sh b/install/preflight/aur.sh new file mode 100644 index 0000000..02ff90d --- /dev/null +++ b/install/preflight/aur.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +# Only add Chaotic-AUR if the architecture is x86_64 so ARM users can build the packages +if [[ "$(uname -m)" == "x86_64" ]]; then + # Import Chaotic-AUR key + sudo pacman-key --recv-key 3056513887B78AEB --keyserver keyserver.ubuntu.com + sudo pacman-key --lsign-key 3056513887B78AEB + + # Install Chaotic-AUR keyring and mirrorlist + sudo pacman -U --noconfirm 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst' + sudo pacman -U --noconfirm 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst' + + # Add Chaotic-AUR repo to pacman config + echo -e '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist' | sudo tee -a /etc/pacman.conf >/dev/null + + # Refresh pacman package databases + sudo pacman -Sy + + # Install yay + sudo pacman -S --needed --noconfirm yay +else + sudo pacman -S --needed --noconfirm base-devel + + if ! command -v yay &>/dev/null; then + cd /tmp + git clone https://aur.archlinux.org/yay-bin.git + cd yay-bin + makepkg -si --noconfirm + cd - + rm -rf yay-bin + cd ~ + fi + +fi + +# Add fun and color to the pacman installer +sudo sed -i '/^\[options\]/a Color\nILoveCandy' /etc/pacman.conf diff --git a/install/preflight/presentation.sh b/install/preflight/presentation.sh new file mode 100644 index 0000000..98957ae --- /dev/null +++ b/install/preflight/presentation.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +yay -S --noconfirm --needed gum python-terminaltexteffects diff --git a/ansi.sh b/logo.txt similarity index 82% rename from ansi.sh rename to logo.txt index 4ce2952..e0d0525 100644 --- a/ansi.sh +++ b/logo.txt @@ -1,6 +1,4 @@ -#!/bin/bash - -ansi_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄ + ▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄ ███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███▄▄▄███ ███ ███ ███ ███ ███ ███ ███ ▄███▄▄▄▄██▀ ███ ▄███▄▄▄▄███▄▄ ▀▀▀▀▀▀███ @@ -8,7 +6,4 @@ ansi_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄ ███ ███ ███ ███ ███ ███ ███ ▀███████████ ███ █▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ▀██████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ████████▀ ███ █▀ ▀█████▀ - ███ ███ ' - -clear -echo -e "\n$ansi_art\n" + ███ ███ diff --git a/migrations/1753138691.sh b/migrations/1753138691.sh index b37208f..04012e4 100644 --- a/migrations/1753138691.sh +++ b/migrations/1753138691.sh @@ -1,6 +1,6 @@ echo "Install swayOSD to show volume status" -if ! command -v swayosd &>/dev/null; then +if ! command -v swayosd-server &>/dev/null; then yay -S --noconfirm --needed swayosd setsid uwsm app -- swayosd-server &>/dev/null & fi diff --git a/migrations/1753302134.sh b/migrations/1753302134.sh new file mode 100644 index 0000000..022ce56 --- /dev/null +++ b/migrations/1753302134.sh @@ -0,0 +1,8 @@ +echo "Reload Waybar on unlock to prevent stacking" + +if ! grep -q 'on_unlock_cmd *= *pkill -SIGUSR2 waybar' ~/.config/hypr/hypridle.conf; then + sed -i '/^general[[:space:]]*{/,/^}/ { + /on_unlock_cmd *=/d + /^}$/ i\ on_unlock_cmd = pkill -SIGUSR2 waybar # prevent stacking of waybar when waking + }' ~/.config/hypr/hypridle.conf +fi diff --git a/migrations/1753352057.sh b/migrations/1753352057.sh new file mode 100755 index 0000000..2d5cded --- /dev/null +++ b/migrations/1753352057.sh @@ -0,0 +1,17 @@ +echo "Add Chaotic-AUR to get compiled binaries" + +if [[ "$(uname -m)" == "x86_64" ]] && ! grep -q '^\[chaotic-aur\]' /etc/pacman.conf; then + # Import Chaotic-AUR key + sudo pacman-key --recv-key 3056513887B78AEB --keyserver keyserver.ubuntu.com + sudo pacman-key --lsign-key 3056513887B78AEB + + # Install Chaotic-AUR keyring and mirrorlist + sudo pacman -U --noconfirm 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst' + sudo pacman -U --noconfirm 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst' + + # Add Chaotic-AUR repo to pacman config + echo -e '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist' | sudo tee -a /etc/pacman.conf >/dev/null + + # Refresh pacman package databases + sudo pacman -Sy +fi diff --git a/migrations/1753468218.sh b/migrations/1753468218.sh new file mode 100644 index 0000000..b9f22e9 --- /dev/null +++ b/migrations/1753468218.sh @@ -0,0 +1,4 @@ +echo "Add Terminal Text Effects for rizzing Omarchy" +if yay -Qe python-terminaltexteffects &>/dev/null; then + yay -S --noconfirm --needed python-terminaltexteffects +fi diff --git a/themes/catppuccin-latte/hyprland.conf b/themes/catppuccin-latte/hyprland.conf index 3d8d7e9..afc429d 100644 --- a/themes/catppuccin-latte/hyprland.conf +++ b/themes/catppuccin-latte/hyprland.conf @@ -1,8 +1,4 @@ -# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors - -$latte_blue = rgb(1e66f5) - general { - col.active_border = $latte_blue + col.active_border = rgb(1e66f5) } diff --git a/themes/catppuccin-latte/mako.ini b/themes/catppuccin-latte/mako.ini index b123ca6..d19a1c3 100644 --- a/themes/catppuccin-latte/mako.ini +++ b/themes/catppuccin-latte/mako.ini @@ -1,5 +1,5 @@ text-color=#4c4f69 -border-color=#dce0e8 +border-color=#1e66f5 background-color=#eff1f5 width=420 height=110 diff --git a/themes/catppuccin-latte/swayosd.css b/themes/catppuccin-latte/swayosd.css index 5b0eaea..c5f23aa 100644 --- a/themes/catppuccin-latte/swayosd.css +++ b/themes/catppuccin-latte/swayosd.css @@ -1,6 +1,5 @@ @define-color background-color #eff1f5; -@define-color border-color #4c4f69; +@define-color border-color #1e66f5; @define-color label #4c4f69; @define-color image #4c4f69; @define-color progress #4c4f69; - diff --git a/themes/catppuccin/hyprland.conf b/themes/catppuccin/hyprland.conf index dd59f04..46ff7e6 100644 --- a/themes/catppuccin/hyprland.conf +++ b/themes/catppuccin/hyprland.conf @@ -1,4 +1,3 @@ general { - # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors col.active_border = rgb(c6d0f5) } diff --git a/themes/catppuccin/swayosd.css b/themes/catppuccin/swayosd.css index a25d38a..0ff80d2 100644 --- a/themes/catppuccin/swayosd.css +++ b/themes/catppuccin/swayosd.css @@ -1,6 +1,5 @@ @define-color background-color #24273a; @define-color border-color #c6d0f5; -@define-color label #c6d0f5; -@define-color image #c6d0f5; -@define-color progress #c6d0f5; - +@define-color label #cad3f5; +@define-color image #cad3f5; +@define-color progress #cad3f5; diff --git a/themes/everforest/hyprland.conf b/themes/everforest/hyprland.conf index 67b51cd..e88f030 100644 --- a/themes/everforest/hyprland.conf +++ b/themes/everforest/hyprland.conf @@ -1,4 +1,3 @@ general { - # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors col.active_border = rgb(d3c6aa) } diff --git a/themes/gruvbox/hyprland.conf b/themes/gruvbox/hyprland.conf index 52331e8..85dbf14 100644 --- a/themes/gruvbox/hyprland.conf +++ b/themes/gruvbox/hyprland.conf @@ -1,4 +1,3 @@ general { - # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors col.active_border = rgb(a89984) } diff --git a/themes/gruvbox/swayosd.css b/themes/gruvbox/swayosd.css index 614748f..16240ae 100644 --- a/themes/gruvbox/swayosd.css +++ b/themes/gruvbox/swayosd.css @@ -1,5 +1,5 @@ @define-color background-color #282828; -@define-color border-color #ebdbb2; +@define-color border-color #a89984; @define-color label #ebdbb2; @define-color image #ebdbb2; @define-color progress #ebdbb2; diff --git a/themes/kanagawa/hyprland.conf b/themes/kanagawa/hyprland.conf index 49c58d7..4972f14 100644 --- a/themes/kanagawa/hyprland.conf +++ b/themes/kanagawa/hyprland.conf @@ -1,4 +1,3 @@ general { - # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors col.active_border = rgb(dcd7ba) } diff --git a/themes/matte-black/hyprland.conf b/themes/matte-black/hyprland.conf index 13020af..bb90b38 100644 --- a/themes/matte-black/hyprland.conf +++ b/themes/matte-black/hyprland.conf @@ -1,4 +1,3 @@ general { - # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors col.active_border = rgb(8A8A8D) } diff --git a/themes/matte-black/neovim.lua b/themes/matte-black/neovim.lua index 1ecffe3..7b3f72b 100644 --- a/themes/matte-black/neovim.lua +++ b/themes/matte-black/neovim.lua @@ -1,192 +1,9 @@ return { - "EdenEast/nightfox.nvim", - lazy = false, - priority = 1000, - dependencies = { - "folke/snacks.nvim", - "nvim-tree/nvim-web-devicons", - "nvim-lualine/lualine.nvim", - }, - - config = function() - local nightfox = require('nightfox') - local Shade = require('nightfox.lib.shade') - local c = require('nightfox.lib.color') - - local matte_black_palette = { - -- Base "Matte Black" Palette Overrides - bg0 = "#0D0D0D", bg1 = "#121212", bg2 = "#1E1E1E", bg3 = "#2C2C2C", bg4 = "#333333", - 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 = "#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"), - white = Shade.new("#EAEAEA", "#FFFFFF", "#BEBEBE"), - black = Shade.new("#333333", "#8A8A8D", "#1E1E1E"), - green = Shade.new("#8A9A7B", "#A5B799", "#6F7C62"), - cyan = Shade.new("#88AABB", "#A2C4D3", "#6E8A99"), - blue = Shade.new("#8A9FBE", "#A4BBDD", "#7084A1"), - magenta = Shade.new("#C1A1C1", "#D9B9D9", "#A989A9"), - pink = Shade.new("#D398A7", "#EBC0CB", "#B97E8D"), - - -- Lualine Palette Extensions - lualine_normal_bg = "#F59E0B", - lualine_insert_bg = "#B91C1C", - lualine_visual_bg = "#C1A1C1", - lualine_command_bg = "#F59E0B", - lualine_inactive_bg = c.from_hex("#121212"):lighten(5):to_css(), - - -- Treesitter Palette Extensions - ts_parameter = "#D398A7", - ts_property = "#EAEAEA", - } - - local final_palettes = { - carbonfox = require('nightfox.lib.collect').deep_extend( - require('nightfox.palette').load('carbonfox'), - matte_black_palette - ) - } - - local specs = { - carbonfox = { - syntax = { - keyword = "red", -- "local", "function", "if" - conditional = "red", - statement = "red", - func = "orange", - string = "orange.dim", - number = "orange", - operator = "yellow", - variable = "white", - ident = "white.dim", - const = "white", - type = "white", - field = "white.dim", - comment = "comment", - }, - diag = { - error = "red", - warn = "red", - info = "cyan", - hint = "magenta", - } - } - } - - local groups = { - all = { - -- Base Groups - 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" }, - NoiceCmdlinePopupTitle = { fg = "palette.fg3", style = "bold" }, - NoiceCmdlinePopupBorderSearch = { fg = "palette.fg3" }, - NoiceCmdlinePopupTitleSearch = { fg = "palette.fg3", style = "bold" }, - NoiceCmdLineIcon = { fg = "palette.red" }, - - -- Neo-tree overrides - NeoTreeNormal = { bg = "palette.bg0" }, - NeoTreeNormalNC = { link = "NeoTreeNormal" }, - NeoTreeDirectoryName = { fg = "palette.fg3" }, - NeoTreeDirectoryIcon = { fg = "palette.fg3" }, - NeoTreeRootName = { fg = "palette.orange", style = "bold" }, - NeoTreeGitAdded = { fg = "palette.green" }, - NeoTreeGitModified = { fg = "palette.yellow" }, - NeoTreeGitDeleted = { fg = "palette.red" }, - NeoTreeGitIgnored = { fg = "palette.comment" }, - NeoTreeC = { fg = "palette.orange", bg = "palette.sel0" }, - - -- Dashboard overrides - SnacksDashboardHeader = { fg = "palette.fg3" }, - SnacksDashboardIcon = { fg = "palette.fg1" }, - SnacksDashboardDir = { fg = "palette.orange" }, - SnacksDashboardFile = { fg = "palette.fg3" }, - SnacksDashboardFooter = { fg = "palette.fg3" }, - SnacksDashboardKey = { fg = "palette.orange" }, - SnacksDashboardDesc = { fg = "palette.fg1" }, - SnacksDashboardSpecial = { fg = "palette.fg1" }, - - -- Treesitter overrides - ["@comment"] = { fg = "palette.comment", style = "italic" }, - ["@keyword"] = { fg = "palette.red", style = "bold" }, - ["@keyword.function"] = { fg = "palette.red", style = "bold" }, - ["@keyword.operator"] = { fg = "palette.red", style = "bold" }, - ["@function"] = { fg = "palette.orange", style = "bold" }, - ["@function.builtin"] = { fg = "palette.orange", style = "bold" }, - ["@function.call"] = { fg = "palette.orange" }, - ["@string"] = { fg = "palette.orange" }, - ["@number"] = { fg = "palette.orange" }, - ["@operator"] = { fg = "palette.yellow" }, - ["@variable"] = { fg = "palette.white" }, - ["@constant"] = { fg = "palette.white" }, - ["@type"] = { fg = "palette.white.dim" }, - ["@variable.parameter"] = { fg = "palette.ts_parameter", style = "italic" }, - ["@property"] = { fg = "palette.ts_property" }, - ["@field"] = { fg = "palette.ts_property" }, - } - } - - nightfox.setup({ - options = { - style = "carbonfox", - terminal_colors = true, - dim_inactive = true, - styles = { comments = "italic", functions = "bold", keywords = "bold" }, - modules = { - neotree = true, - treesitter = true, - }, - }, - palettes = final_palettes, - specs = specs, - groups = groups - }) - - vim.cmd("colorscheme carbonfox") - - -- Lualine overrides - local lualine_theme = { - normal = { - a = { fg = matte_black_palette.bg0, bg = matte_black_palette.lualine_normal_bg, gui = "bold" }, - b = { fg = matte_black_palette.fg1, bg = matte_black_palette.lualine_inactive_bg }, - c = { fg = matte_black_palette.fg2, bg = matte_black_palette.lualine_inactive_bg }, - }, - insert = { - a = { fg = matte_black_palette.bg0, bg = matte_black_palette.lualine_insert_bg, gui = "bold" }, - b = { fg = matte_black_palette.fg1, bg = matte_black_palette.lualine_inactive_bg }, - c = { fg = matte_black_palette.fg2, bg = matte_black_palette.lualine_inactive_bg }, - }, - visual = { - a = { fg = matte_black_palette.bg0, bg = matte_black_palette.lualine_visual_bg, gui = "bold" }, - b = { fg = matte_black_palette.fg1, bg = matte_black_palette.lualine_inactive_bg }, - c = { fg = matte_black_palette.fg2, bg = matte_black_palette.lualine_inactive_bg }, - }, - command = { - a = { fg = matte_black_palette.bg0, bg = matte_black_palette.lualine_command_bg, gui = "bold" }, - b = { fg = matte_black_palette.fg1, bg = matte_black_palette.lualine_inactive_bg }, - c = { fg = matte_black_palette.fg2, bg = matte_black_palette.lualine_inactive_bg }, - }, - inactive = { - a = { fg = matte_black_palette.fg3, bg = matte_black_palette.lualine_inactive_bg }, - b = { fg = matte_black_palette.fg3, bg = matte_black_palette.lualine_inactive_bg }, - c = { fg = matte_black_palette.comment, bg = matte_black_palette.lualine_inactive_bg }, - }, - } - - require('lualine').setup({ - options = { - theme = lualine_theme, - }, - }) - - end, - + { "tahayvr/matteblack.nvim", lazy = false, priority = 1000 }, + { + "LazyVim/LazyVim", + opts = { + colorscheme = "matteblack", + }, + }, } \ No newline at end of file diff --git a/themes/matte-black/swayosd.css b/themes/matte-black/swayosd.css index 08c28d7..3f24dbb 100644 --- a/themes/matte-black/swayosd.css +++ b/themes/matte-black/swayosd.css @@ -1,6 +1,6 @@ @define-color background-color #121212; -@define-color border-color #EAEAEA; -@define-color label #EAEAEA; -@define-color image #EAEAEA; -@define-color progress #EAEAEA; +@define-color border-color #8A8A8D; +@define-color label #8A8A8D; +@define-color image #8A8A8D; +@define-color progress #8A8A8D; diff --git a/themes/nord/hyprland.conf b/themes/nord/hyprland.conf index e5fd3b8..bce729f 100644 --- a/themes/nord/hyprland.conf +++ b/themes/nord/hyprland.conf @@ -1,4 +1,3 @@ general { - # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors col.active_border = rgb(D8DEE9) } diff --git a/themes/rose-pine/hyprland.conf b/themes/rose-pine/hyprland.conf index c39b9e7..ae0f2b6 100644 --- a/themes/rose-pine/hyprland.conf +++ b/themes/rose-pine/hyprland.conf @@ -1,4 +1,3 @@ general { - # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors col.active_border = rgb(575279) } diff --git a/themes/tokyo-night/hyprland.conf b/themes/tokyo-night/hyprland.conf index 0611c0a..f0b824a 100644 --- a/themes/tokyo-night/hyprland.conf +++ b/themes/tokyo-night/hyprland.conf @@ -1,5 +1,4 @@ general { - # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg } diff --git a/themes/tokyo-night/swayosd.css b/themes/tokyo-night/swayosd.css index 14c0dcd..1300b6a 100644 --- a/themes/tokyo-night/swayosd.css +++ b/themes/tokyo-night/swayosd.css @@ -1,6 +1,6 @@ @define-color background-color #1a1b26; @define-color border-color #33ccff; -@define-color label #33ccff; -@define-color image #33ccff; -@define-color progress #33ccff; +@define-color label #a9b1d6; +@define-color image #a9b1d6; +@define-color progress #a9b1d6;