Merge branch 'dev' into prevent-screenshot-stacking

This commit is contained in:
Ryan Hughes
2025-07-25 19:22:09 -04:00
committed by GitHub
59 changed files with 191 additions and 275 deletions

View File

@ -4,7 +4,8 @@ OMARCHY_VERSION=$(git -C ~/.local/share/omarchy describe --tags --abbrev=0 2>/de
PATH="$PATH:$HOME/.local/share/omarchy/bin" PATH="$PATH:$HOME/.local/share/omarchy/bin"
show_ascii_art() { show_ascii_art() {
source ~/.local/share/omarchy/ansi.sh clear
tte -i ~/.local/share/omarchy/logo.txt --frame-rate 640 expand
echo " $OMARCHY_VERSION" echo " $OMARCHY_VERSION"
} }
@ -95,9 +96,10 @@ remove_theme_prompt() {
setup_menu() { setup_menu() {
show_ascii_art 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=( local commands=(
"omarchy-setup-dropbox" "omarchy-setup-dropbox"
"omarchy-setup-steam"
"setup_docker_dbs" "setup_docker_dbs"
"omarchy-setup-fingerprint" "omarchy-setup-fingerprint"
"omarchy-setup-fido2" "omarchy-setup-fido2"
@ -126,10 +128,10 @@ setup_docker_dbs() {
if [[ -n "$choices" ]]; then if [[ -n "$choices" ]]; then
for db in $choices; do for db in $choices; do
case $db in 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 ;; 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 ;; 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 esac
done done
fi fi

View File

@ -2,8 +2,10 @@
# Set recorder based on GPU # Set recorder based on GPU
OUTPUT_DIR="${OMARCHY_SCREENRECORD_DIR:-$HOME/Videos}"
screenrecording() { 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 notify-send "Screen recording starting..." -t 1000
sleep 1 sleep 1

View File

@ -1,8 +1,10 @@
#!/bin/bash #!/bin/bash
OUTPUT_DIR="${OMARCHY_SCREENSHOT_DIR:-$HOME/Pictures}"
pkill slurp || hyprshot -m ${1:-region} --raw | pkill slurp || hyprshot -m ${1:-region} --raw |
satty --filename - \ 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 \ --early-exit \
--actions-on-enter save-to-clipboard \ --actions-on-enter save-to-clipboard \
--save-after-copy \ --save-after-copy \

9
bin/omarchy-setup-steam Executable file
View File

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

View File

@ -12,9 +12,6 @@ REPO_URL="$1"
THEMES_DIR="$HOME/.config/omarchy/themes" THEMES_DIR="$HOME/.config/omarchy/themes"
THEME_NAME=$(basename "$REPO_URL" .git | sed -E 's/^omarchy-//; s/-theme$//') THEME_NAME=$(basename "$REPO_URL" .git | sed -E 's/^omarchy-//; s/-theme$//')
THEME_PATH="$THEMES_DIR/$THEME_NAME" 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 # Remove existing theme if present
if [ -d "$THEME_PATH" ]; then if [ -d "$THEME_PATH" ]; then
@ -27,10 +24,5 @@ if ! git clone "$REPO_URL" "$THEME_PATH"; then
exit 1 exit 1
fi 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 # Apply the new theme with omarchy-theme-set
omarchy-theme-set $THEME_NAME omarchy-theme-set $THEME_NAME

View File

@ -10,6 +10,7 @@ ansi_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄
▀██████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ████████▀ ███ █▀ ▀█████▀ ▀██████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ████████▀ ███ █▀ ▀█████▀
███ ███ ' ███ ███ '
clear
echo -e "\n$ansi_art\n" echo -e "\n$ansi_art\n"
sudo pacman -Sy --noconfirm --needed git sudo pacman -Sy --noconfirm --needed git

View File

@ -2,6 +2,7 @@ general {
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances. lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
before_sleep_cmd = loginctl lock-session # lock before suspend. 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. 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 { listener {

View File

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

View File

@ -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) windowrule = center, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?|All Files|Save)
# Float Steam, fullscreen RetroArch # Float Steam, fullscreen RetroArch
windowrule = float, class:^(steam)$ windowrule = float, class:steam
windowrule = center, class:steam
windowrule = fullscreen, class:^(com.libretro.RetroArch)$ windowrule = fullscreen, class:^(com.libretro.RetroArch)$
# Just dash of opacity # Just dash of opacity

View File

@ -3,6 +3,8 @@
# Exit immediately if a command exits with a non-zero status # Exit immediately if a command exits with a non-zero status
set -e set -e
OMARCHY_INSTALL=~/.local/share/omarchy/install
# Give people a chance to retry running the installation # Give people a chance to retry running the installation
catch_errors() { catch_errors() {
echo -e "\n\e[31mOmarchy installation failed!\e[0m" echo -e "\n\e[31mOmarchy installation failed!\e[0m"
@ -12,16 +14,70 @@ catch_errors() {
trap catch_errors ERR trap catch_errors ERR
# Install everything show_logo() {
for f in ~/.local/share/omarchy/install/*.sh; do clear
echo -e "\nRunning installer: $f" tte -i ~/.local/share/omarchy/logo.txt --frame-rate ${2:-120} ${1:-expand}
source "$f" echo
done }
# 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 sudo updatedb
# Update all built-in packages
sudo pacman -Syu --noconfirm 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

View File

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

View File

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

View File

@ -1,6 +1,9 @@
#!/bin/bash #!/bin/bash
if [ -z "$OMARCHY_BARE" ]; then if [ -z "$OMARCHY_BARE" ]; then
show_logo
show_subtext "Installing default applications..."
yay -S --noconfirm --needed \ yay -S --noconfirm --needed \
gnome-calculator gnome-keyring signal-desktop \ gnome-calculator gnome-keyring signal-desktop \
obsidian-bin libreoffice obs-studio kdenlive \ obsidian-bin libreoffice obs-studio kdenlive \

View File

@ -1,10 +1,4 @@
#!/bin/bash #!/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_NAME=$(gum input --placeholder "Enter full name" --prompt "Name> ")
export OMARCHY_USER_EMAIL=$(gum input --placeholder "Enter email address" --prompt "Email> ") export OMARCHY_USER_EMAIL=$(gum input --placeholder "Enter email address" --prompt "Email> ")

View File

@ -1,6 +1,5 @@
#!/bin/bash #!/bin/bash
# Hyprland launched via UWSM and login directly as user, rely on disk encryption + hyprlock for security
yay -S --noconfirm --needed uwsm yay -S --noconfirm --needed uwsm
# Compile the seamless login helper -- needed to prevent seeing terminal between loader and desktop # Compile the seamless login helper -- needed to prevent seeing terminal between loader and desktop

View File

@ -12,6 +12,9 @@
# --- GPU Detection --- # --- GPU Detection ---
if [ -n "$(lspci | grep -i 'nvidia')" ]; then if [ -n "$(lspci | grep -i 'nvidia')" ]; then
show_logo
show_subtext "Install NVIDIA drivers..."
# --- Driver Selection --- # --- Driver Selection ---
# Turing (16xx, 20xx), Ampere (30xx), Ada (40xx), and newer recommend the open-source kernel modules # 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 if echo "$(lspci | grep -i 'nvidia')" | grep -q -E "RTX [2-9][0-9]|GTX 16"; then

37
install/preflight/aur.sh Normal file
View File

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

View File

@ -0,0 +1,3 @@
#!/bin/bash
yay -S --noconfirm --needed gum python-terminaltexteffects

View File

@ -1,6 +1,4 @@
#!/bin/bash ▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄
ansi_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄
███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ██▄ ███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ██▄
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███▄▄▄███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███▄▄▄███
███ ███ ███ ███ ███ ███ ███ ▄███▄▄▄▄██▀ ███ ▄███▄▄▄▄███▄▄ ▀▀▀▀▀▀███ ███ ███ ███ ███ ███ ███ ███ ▄███▄▄▄▄██▀ ███ ▄███▄▄▄▄███▄▄ ▀▀▀▀▀▀███
@ -8,7 +6,4 @@ ansi_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄
███ ███ ███ ███ ███ ███ ███ ▀███████████ ███ █▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ▀███████████ ███ █▄ ███ ███ ███ ███
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
▀██████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ████████▀ ███ █▀ ▀█████▀ ▀██████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ████████▀ ███ █▀ ▀█████▀
███ ███ ' ███ ███
clear
echo -e "\n$ansi_art\n"

View File

@ -1,6 +1,6 @@
echo "Install swayOSD to show volume status" 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 yay -S --noconfirm --needed swayosd
setsid uwsm app -- swayosd-server &>/dev/null & setsid uwsm app -- swayosd-server &>/dev/null &
fi fi

8
migrations/1753302134.sh Normal file
View File

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

17
migrations/1753352057.sh Executable file
View File

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

4
migrations/1753468218.sh Normal file
View File

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

View File

@ -1,8 +1,4 @@
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
$latte_blue = rgb(1e66f5)
general { general {
col.active_border = $latte_blue col.active_border = rgb(1e66f5)
} }

View File

@ -1,5 +1,5 @@
text-color=#4c4f69 text-color=#4c4f69
border-color=#dce0e8 border-color=#1e66f5
background-color=#eff1f5 background-color=#eff1f5
width=420 width=420
height=110 height=110

View File

@ -1,6 +1,5 @@
@define-color background-color #eff1f5; @define-color background-color #eff1f5;
@define-color border-color #4c4f69; @define-color border-color #1e66f5;
@define-color label #4c4f69; @define-color label #4c4f69;
@define-color image #4c4f69; @define-color image #4c4f69;
@define-color progress #4c4f69; @define-color progress #4c4f69;

View File

@ -1,4 +1,3 @@
general { general {
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgb(c6d0f5) col.active_border = rgb(c6d0f5)
} }

View File

@ -1,6 +1,5 @@
@define-color background-color #24273a; @define-color background-color #24273a;
@define-color border-color #c6d0f5; @define-color border-color #c6d0f5;
@define-color label #c6d0f5; @define-color label #cad3f5;
@define-color image #c6d0f5; @define-color image #cad3f5;
@define-color progress #c6d0f5; @define-color progress #cad3f5;

View File

@ -1,4 +1,3 @@
general { general {
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgb(d3c6aa) col.active_border = rgb(d3c6aa)
} }

View File

@ -1,4 +1,3 @@
general { general {
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgb(a89984) col.active_border = rgb(a89984)
} }

View File

@ -1,5 +1,5 @@
@define-color background-color #282828; @define-color background-color #282828;
@define-color border-color #ebdbb2; @define-color border-color #a89984;
@define-color label #ebdbb2; @define-color label #ebdbb2;
@define-color image #ebdbb2; @define-color image #ebdbb2;
@define-color progress #ebdbb2; @define-color progress #ebdbb2;

View File

@ -1,4 +1,3 @@
general { general {
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgb(dcd7ba) col.active_border = rgb(dcd7ba)
} }

View File

@ -1,4 +1,3 @@
general { general {
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgb(8A8A8D) col.active_border = rgb(8A8A8D)
} }

View File

@ -1,192 +1,9 @@
return { return {
"EdenEast/nightfox.nvim", { "tahayvr/matteblack.nvim", lazy = false, priority = 1000 },
lazy = false, {
priority = 1000, "LazyVim/LazyVim",
dependencies = { opts = {
"folke/snacks.nvim", colorscheme = "matteblack",
"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,
} }

View File

@ -1,6 +1,6 @@
@define-color background-color #121212; @define-color background-color #121212;
@define-color border-color #EAEAEA; @define-color border-color #8A8A8D;
@define-color label #EAEAEA; @define-color label #8A8A8D;
@define-color image #EAEAEA; @define-color image #8A8A8D;
@define-color progress #EAEAEA; @define-color progress #8A8A8D;

View File

@ -1,4 +1,3 @@
general { general {
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgb(D8DEE9) col.active_border = rgb(D8DEE9)
} }

View File

@ -1,4 +1,3 @@
general { general {
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgb(575279) col.active_border = rgb(575279)
} }

View File

@ -1,5 +1,4 @@
general { general {
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
} }

View File

@ -1,6 +1,6 @@
@define-color background-color #1a1b26; @define-color background-color #1a1b26;
@define-color border-color #33ccff; @define-color border-color #33ccff;
@define-color label #33ccff; @define-color label #a9b1d6;
@define-color image #33ccff; @define-color image #a9b1d6;
@define-color progress #33ccff; @define-color progress #a9b1d6;