diff --git a/applications/icons/Google Maps.png b/applications/icons/Google Maps.png new file mode 100644 index 00000000..f4fc834d Binary files /dev/null and b/applications/icons/Google Maps.png differ diff --git a/bin/omarchy-battery-remaining b/bin/omarchy-battery-remaining index 855b4c6b..a6083352 100755 --- a/bin/omarchy-battery-remaining +++ b/bin/omarchy-battery-remaining @@ -1,6 +1,7 @@ #!/bin/bash # Returns the battery percentage remaining as an integer. +# Used by the battery monitor and the Ctrl + Shift + Super + B hotkey. upower -i $(upower -e | grep BAT) \ | awk -F: '/percentage/ { diff --git a/bin/omarchy-branch-set b/bin/omarchy-branch-set index a6af4fa3..f67d9174 100755 --- a/bin/omarchy-branch-set +++ b/bin/omarchy-branch-set @@ -1,5 +1,7 @@ #!/bin/bash +# Set the branch for Omarchy's git repository. + if (($# == 0)); then echo "Usage: omarchy-branch-set [master|dev]" exit 1 diff --git a/bin/omarchy-channel-set b/bin/omarchy-channel-set index c0b98a5f..342ee2e2 100755 --- a/bin/omarchy-channel-set +++ b/bin/omarchy-channel-set @@ -1,5 +1,18 @@ #!/bin/bash +# Set the Omarchy channel, which dictates what git branch and package repository is used. +# +# Stable uses the master branch, which only sees updates on official releases, and +# the stable package repository, which typically lags the edge by a month to ensure +# better compatibility. +# +# Edge tracks the latest package repository, but still relies on the master branch, +# so new packages which require config changes may cause conflicts or errors. +# +# Dev tracks the active development dev branch, which may include partial or broken updates, +# as well as the latest package repository. This should only be used by Omarchy developers +# and people with a lot of experience managing Linux systems. + if (($# == 0)); then echo "Usage: omarchy-channel-set [stable|edge|dev]" exit 1 @@ -8,7 +21,7 @@ else fi case "$channel" in -"stable") omarchy-branch-set "master" && omarchy-refresh-pacman "stable" ;; +"stable") omarchy-branch-set "master" && omarchy-refresh-pacman "stable" && sudo pacman -Suu --noconfirm ;; "edge") omarchy-branch-set "master" && omarchy-refresh-pacman "edge" ;; "dev") omarchy-branch-set "dev" && omarchy-refresh-pacman "edge" ;; *) echo "Unknown channel: $channel"; exit 1; ;; diff --git a/bin/omarchy-cmd-apple-display-brightness b/bin/omarchy-cmd-apple-display-brightness index 7ba3d20a..d4d7968e 100755 --- a/bin/omarchy-cmd-apple-display-brightness +++ b/bin/omarchy-cmd-apple-display-brightness @@ -1,5 +1,7 @@ #!/bin/bash +# Adjust the brightness on Apple Studio Displays and Apple XDR Displays using asdcontrol. + if [[ $# -eq 0 ]]; then echo "Adjust Apple Display Brightness by passing +5000 or -5000 (or any range from 0-60000)" else diff --git a/bin/omarchy-cmd-audio-switch b/bin/omarchy-cmd-audio-switch index d73205c3..299eeb19 100755 --- a/bin/omarchy-cmd-audio-switch +++ b/bin/omarchy-cmd-audio-switch @@ -1,5 +1,7 @@ #!/bin/bash +# Switch between audio outputs while preserving the mute status. By default mapped to Super + Mute. + focused_monitor="$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')" sinks=$(pactl -f json list sinks | jq '[.[] | select((.ports | length == 0) or ([.ports[]? | .availability != "not available"] | any))]') diff --git a/bin/omarchy-cmd-first-run b/bin/omarchy-cmd-first-run index b400a584..db3b229b 100755 --- a/bin/omarchy-cmd-first-run +++ b/bin/omarchy-cmd-first-run @@ -1,5 +1,7 @@ #!/bin/bash +# Finish the installation of Omarchy with items that can only be done after logging in. + set -e FIRST_RUN_MODE=~/.local/state/omarchy/first-run.mode diff --git a/bin/omarchy-cmd-missing b/bin/omarchy-cmd-missing index 4658d37b..6f14ec29 100755 --- a/bin/omarchy-cmd-missing +++ b/bin/omarchy-cmd-missing @@ -1,5 +1,7 @@ #!/bin/bash +# Returns true if any of the commands passed in as arguments are missing on the system. + for cmd in "$@"; do if ! command -v "$cmd" &>/dev/null; then exit 0 diff --git a/bin/omarchy-cmd-present b/bin/omarchy-cmd-present index fecdc943..f1e96be2 100755 --- a/bin/omarchy-cmd-present +++ b/bin/omarchy-cmd-present @@ -1,5 +1,7 @@ #!/bin/bash +# Returns true if all the commands passed in as arguments exit on the system. + for cmd in "$@"; do command -v "$cmd" &>/dev/null || exit 1 done diff --git a/bin/omarchy-cmd-reboot b/bin/omarchy-cmd-reboot index c1f6472d..ec5f7cbc 100755 --- a/bin/omarchy-cmd-reboot +++ b/bin/omarchy-cmd-reboot @@ -1,6 +1,13 @@ #!/bin/bash +# Reboot command that first closes all application windows (thus giving them a chance to save state). +# This is particularly helpful for applications like Chromium that otherwise won't shutdown cleanly. + omarchy-state clear re*-required + +# Schedule the reboot to happen after closing windows (detached from terminal) +nohup bash -c "sleep 2 && systemctl reboot --no-wall" >/dev/null 2>&1 & + +# Now close all windows omarchy-hyprland-window-close-all sleep 1 # Allow apps like Chrome to shutdown correctly -systemctl reboot --no-wall diff --git a/bin/omarchy-cmd-screenrecord b/bin/omarchy-cmd-screenrecord index ec243ddb..b115f358 100755 --- a/bin/omarchy-cmd-screenrecord +++ b/bin/omarchy-cmd-screenrecord @@ -1,5 +1,8 @@ #!/bin/bash +# Start and stop a screenrecording, which will be saved to ~/Videos by default. +# Alternative location can be set via OMARCHY_SCREENRECORD_DIR or XDG_VIDEOS_DIR ENVs. + [[ -f ~/.config/user-dirs.dirs ]] && source ~/.config/user-dirs.dirs OUTPUT_DIR="${OMARCHY_SCREENRECORD_DIR:-${XDG_VIDEOS_DIR:-$HOME/Videos}}" diff --git a/bin/omarchy-cmd-screensaver b/bin/omarchy-cmd-screensaver index 9a0db812..7dd64786 100755 --- a/bin/omarchy-cmd-screensaver +++ b/bin/omarchy-cmd-screensaver @@ -1,11 +1,13 @@ #!/bin/bash +# Run the Omarchy screensaver using random effects from TTE. + screensaver_in_focus() { hyprctl activewindow -j | jq -e '.class == "org.omarchy.screensaver"' >/dev/null 2>&1 } exit_screensaver() { - hyprctl keyword cursor:invisible false + hyprctl keyword cursor:invisible false &>/dev/null || true pkill -x tte 2>/dev/null pkill -f org.omarchy.screensaver 2>/dev/null exit 0 @@ -13,8 +15,6 @@ exit_screensaver() { # Exit the screensaver on signals and input from keyboard and mouse trap exit_screensaver SIGINT SIGTERM SIGHUP SIGQUIT -printf '\e[?1000h\e[?1003h' # Enable mouse tracking (clicks: 1000, movement: 1003) -while read -rsn1 -t 0.1; do :; done # Flush any pending input printf '\033]11;rgb:00/00/00\007' # Set background color to black @@ -29,7 +29,7 @@ while true; do --no-eol --no-restore-cursor & while pgrep -t "${tty#/dev/}" -x tte >/dev/null; do - if read -rsn1 -t 1 || ! screensaver_in_focus; then + if read -n1 -t 1 || ! screensaver_in_focus; then exit_screensaver fi done diff --git a/bin/omarchy-cmd-screenshot b/bin/omarchy-cmd-screenshot index f4450f89..b988a3b7 100755 --- a/bin/omarchy-cmd-screenshot +++ b/bin/omarchy-cmd-screenshot @@ -1,5 +1,8 @@ #!/bin/bash +# Take a screenshot of the whole screen, a specific window, or a user-drawn region. +# Saves to ~/Pictures by default, but that can be changed via OMARCHY_SCREENSHOT_DIR or XDG_PICTURES_DIR ENVs. + [[ -f ~/.config/user-dirs.dirs ]] && source ~/.config/user-dirs.dirs OUTPUT_DIR="${OMARCHY_SCREENSHOT_DIR:-${XDG_PICTURES_DIR:-$HOME/Pictures}}" diff --git a/bin/omarchy-cmd-share b/bin/omarchy-cmd-share index 78113a13..96fd3d38 100755 --- a/bin/omarchy-cmd-share +++ b/bin/omarchy-cmd-share @@ -1,5 +1,7 @@ #!/bin/bash +# Share clipboard, file, or folder using LocalSend. Bound to Super + Ctrl + S by default. + if (($# == 0)); then echo "Usage: omarchy-cmd-share [clipboard|file|folder]" exit 1 diff --git a/bin/omarchy-cmd-shutdown b/bin/omarchy-cmd-shutdown index cd5748ed..be1a69d0 100755 --- a/bin/omarchy-cmd-shutdown +++ b/bin/omarchy-cmd-shutdown @@ -1,6 +1,13 @@ #!/bin/bash +# Shutdown command that first closes all application windows (thus giving them a chance to save state). +# This is particularly helpful for applications like Chromium that otherwise won't shutdown cleanly. + omarchy-state clear re*-required + +# Schedule the shutdown to happen after closing windows (detached from terminal) +nohup bash -c "sleep 2 && systemctl poweroff --no-wall" >/dev/null 2>&1 & + +# Now close all windows omarchy-hyprland-window-close-all sleep 1 # Allow apps like Chrome to shutdown correctly -systemctl poweroff --no-wall diff --git a/bin/omarchy-cmd-terminal-cwd b/bin/omarchy-cmd-terminal-cwd index b651148d..81fb91c2 100755 --- a/bin/omarchy-cmd-terminal-cwd +++ b/bin/omarchy-cmd-terminal-cwd @@ -1,5 +1,8 @@ #!/bin/bash +# Returns the current working directory of the active terminal window, +# so a new terminal window can be started in the same directory. + # Go from current active terminal to its child shell process and run cwd there terminal_pid=$(hyprctl activewindow | awk '/pid:/ {print $2}') shell_pid=$(pgrep -P "$terminal_pid" | tail -n1) diff --git a/bin/omarchy-debug b/bin/omarchy-debug index 05c35df8..e63057ae 100755 --- a/bin/omarchy-debug +++ b/bin/omarchy-debug @@ -1,7 +1,36 @@ #!/bin/bash +# Return exhaustive debugging information about the system to help diagnose problems. + +NO_SUDO=false +PRINT_ONLY=false + +while [[ $# -gt 0 ]]; do + case "$1" in + --no-sudo) + NO_SUDO=true + shift + ;; + --print) + PRINT_ONLY=true + shift + ;; + *) + echo "Unknown option: $1" + echo "Usage: omarchy-debug [--no-sudo] [--print]" + exit 1 + ;; + esac +done + LOG_FILE="/tmp/omarchy-debug.log" +if [ "$NO_SUDO" = true ]; then + DMESG_OUTPUT="(skipped - --no-sudo flag used)" +else + DMESG_OUTPUT="$(sudo dmesg)" +fi + cat > "$LOG_FILE" </dev/null; comm -13 <(pacman -Sql | sort) <(pacman -Qqe | sort) | xargs -r expac -Q '%n %v (AUR)'; } | sort) EOF +if [ "$PRINT_ONLY" = true ]; then + cat "$LOG_FILE" + exit 0 +fi + OPTIONS=("View log" "Save in current directory") if ping -c 1 8.8.8.8 >/dev/null 2>&1; then OPTIONS=("Upload log" "${OPTIONS[@]}") diff --git a/bin/omarchy-dev-add-migration b/bin/omarchy-dev-add-migration index 21eea4f7..c662bc56 100755 --- a/bin/omarchy-dev-add-migration +++ b/bin/omarchy-dev-add-migration @@ -1,6 +1,14 @@ #!/bin/bash +# Creates a new Omarchy migration named after the unix timestamp of the last commit. +# Only intended for Omarchy developers. + 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 + +if [[ "$1" != "--no-edit" ]]; then + nvim $migration_file +fi + +echo $migration_file diff --git a/bin/omarchy-drive-info b/bin/omarchy-drive-info index 10fb223e..51a57692 100755 --- a/bin/omarchy-drive-info +++ b/bin/omarchy-drive-info @@ -1,6 +1,7 @@ #!/bin/bash -# Drive, like /dev/nvme0, to display information about +# Returns drive information about a given volumne, like /dev/nvme0, which is used by omarchy-drive-select. + if (($# == 0)); then echo "Usage: omarchy-drive-info [/dev/drive]" exit 1 diff --git a/bin/omarchy-drive-select b/bin/omarchy-drive-select index 9168eb7d..a4b82a5e 100755 --- a/bin/omarchy-drive-select +++ b/bin/omarchy-drive-select @@ -1,6 +1,6 @@ #!/bin/bash -# Select a drive from a list with info that includes space and brand +# Select a drive from a list with info that includes space and brand. Used by omarchy-drive-set-password. if (($# == 0)); then drives=$(lsblk -dpno NAME | grep -E '/dev/(sd|hd|vd|nvme|mmcblk|xv)') diff --git a/bin/omarchy-drive-set-password b/bin/omarchy-drive-set-password index 88a9c58f..e014f6dd 100755 --- a/bin/omarchy-drive-set-password +++ b/bin/omarchy-drive-set-password @@ -1,5 +1,7 @@ #!/bin/bash +# Set a new encryption password for a drive selected. + encrypted_drives=$(blkid -t TYPE=crypto_LUKS -o device) if [[ -n $encrypted_drives ]]; then diff --git a/bin/omarchy-font-current b/bin/omarchy-font-current index feea8d6b..dfb3ddd6 100755 --- a/bin/omarchy-font-current +++ b/bin/omarchy-font-current @@ -1,3 +1,6 @@ #!/bin/bash +# Returns the name of the current monospace font being used by extracting it from the Waybar stylesheet. +# This can be changed using omarchy-font-set. + grep -oP 'font-family:\s*["'\'']?\K[^;"'\'']+' ~/.config/waybar/style.css | head -n1 diff --git a/bin/omarchy-font-list b/bin/omarchy-font-list index 32150d9e..f2bc5e53 100755 --- a/bin/omarchy-font-list +++ b/bin/omarchy-font-list @@ -1,3 +1,5 @@ #!/bin/bash +# Returns a list of all the monospace fonts available on the system that can be set using omarchy-font-set. + fc-list :spacing=100 -f "%{family[0]}\n" | grep -v -i -E 'emoji|signwriting|omarchy' | sort -u diff --git a/bin/omarchy-font-set b/bin/omarchy-font-set index d8f19742..3aacc8c6 100755 --- a/bin/omarchy-font-set +++ b/bin/omarchy-font-set @@ -1,8 +1,11 @@ #!/bin/bash +# Set the system-wide monospace font that should be used by the terminal, hyprlock, waybar, swayosd, etc. +# The font name must be one of the ones returned by omarchy-font-list. + font_name="$1" -if [[ -n "$font_name" && "$font_name" != "CNCLD" ]]; then +if [[ -n "$font_name" ]]; then if fc-list | grep -iq "$font_name"; then if [[ -f ~/.config/alacritty/alacritty.toml ]]; then sed -i "s/family = \".*\"/family = \"$font_name\"/g" ~/.config/alacritty/alacritty.toml diff --git a/bin/omarchy-hibernation-available b/bin/omarchy-hibernation-available new file mode 100755 index 00000000..575a8391 --- /dev/null +++ b/bin/omarchy-hibernation-available @@ -0,0 +1,18 @@ +#!/bin/bash + +# Check if hibernation is supported +if [[ ! -f /sys/power/image_size ]]; then + exit 1 +fi + +# Sum all swap sizes (excluding zram) +SWAPSIZE_KB=$(awk '!/Filename|zram/ {sum += $3} END {print sum+0}' /proc/swaps) +SWAPSIZE=$(( 1024 * ${SWAPSIZE_KB:-0} )) + +HIBERNATION_IMAGE_SIZE=$(cat /sys/power/image_size) + +if [[ "$SWAPSIZE" -gt "$HIBERNATION_IMAGE_SIZE" ]] && [[ -f /etc/mkinitcpio.conf.d/omarchy_resume.conf ]]; then + exit 0 +else + exit 1 +fi diff --git a/bin/omarchy-hibernation-remove b/bin/omarchy-hibernation-remove new file mode 100755 index 00000000..aad216f9 --- /dev/null +++ b/bin/omarchy-hibernation-remove @@ -0,0 +1,59 @@ +#!/bin/bash + +# Removes hibernation setup: disables swap, removes swapfile, removes fstab entry, +# removes resume hook, and removes suspend-then-hibernate configuration. + +MKINITCPIO_CONF="/etc/mkinitcpio.conf.d/omarchy_resume.conf" + +# Check if hibernation is configured +if [ ! -f "$MKINITCPIO_CONF" ] || ! grep -q "^HOOKS+=(resume)$" "$MKINITCPIO_CONF"; then + echo "Hibernation is not set up" + exit 0 +fi + +if ! gum confirm "Remove hibernation setup?"; then + exit 0 +fi + +SWAP_SUBVOLUME="/swap" +SWAP_FILE="$SWAP_SUBVOLUME/swapfile" + +# Disable swap if active +if swapon --show | grep -q "$SWAP_FILE"; then + echo "Disabling swap on $SWAP_FILE" + sudo swapoff "$SWAP_FILE" +fi + +# Remove swapfile +if [ -f "$SWAP_FILE" ]; then + echo "Removing swapfile" + sudo rm "$SWAP_FILE" +fi + +# Remove swap subvolume +if sudo btrfs subvolume show "$SWAP_SUBVOLUME" &>/dev/null; then + echo "Removing Btrfs subvolume $SWAP_SUBVOLUME" + sudo btrfs subvolume delete "$SWAP_SUBVOLUME" +fi + +# Remove fstab entry +if grep -Fq "$SWAP_FILE" /etc/fstab; then + echo "Removing swapfile from /etc/fstab" + sudo cp -a /etc/fstab "/etc/fstab.$(date +%Y%m%d%H%M%S).back" + sudo sed -i "\|$SWAP_FILE|d" /etc/fstab + sudo sed -i '/^# Btrfs swapfile for system hibernation$/d' /etc/fstab +fi + +# Remove suspend-then-hibernate configuration +echo "Removing suspend-then-hibernate configuration" +sudo rm -f /etc/systemd/logind.conf.d/lid.conf +sudo rm -f /etc/systemd/sleep.conf.d/hibernate.conf + +# Remove mkinitcpio resume hook +echo "Removing resume hook" +sudo rm "$MKINITCPIO_CONF" + +echo "Regenerating initramfs..." +sudo limine-mkinitcpio + +echo "Hibernation removed" diff --git a/bin/omarchy-hibernation-setup b/bin/omarchy-hibernation-setup new file mode 100755 index 00000000..8a423cbd --- /dev/null +++ b/bin/omarchy-hibernation-setup @@ -0,0 +1,70 @@ +#!/bin/bash + +# Creates a swap file in the btrfs subvolume, adds the swap file to /etc/fstab, +# adds a resume hook to mkinitcpio, and configures suspend-then-hibernate. + +if [[ ! -f /sys/power/image_size ]]; then + echo -e "\033[31mError: Hibernation is not supported on your system\033[0m" >&2 + exit 1 +fi + + +MKINITCPIO_CONF="/etc/mkinitcpio.conf.d/omarchy_resume.conf" + +# Check if hibernation is already configured +if [ -f "$MKINITCPIO_CONF" ] && grep -q "^HOOKS+=(resume)$" "$MKINITCPIO_CONF"; then + echo "Hibernation is already set up" + exit 0 +fi + +MEM_TOTAL_HUMAN=$(free --human | awk '/Mem/ {print $2}') +if ! gum confirm "Use $MEM_TOTAL_HUMAN on boot drive to make hibernation available?"; then + exit 0 +fi + +SWAP_SUBVOLUME="/swap" +SWAP_FILE="$SWAP_SUBVOLUME/swapfile" + +# Create btrfs subvolume for swap +if ! sudo btrfs subvolume show "$SWAP_SUBVOLUME" &>/dev/null; then + echo "Creating Btrfs subvolume" + sudo btrfs subvolume create "$SWAP_SUBVOLUME" + sudo chattr +C "$SWAP_SUBVOLUME" +fi + +# Create swapfile +if ! sudo swaplabel "$SWAP_FILE" &>/dev/null; then + echo "Creating swapfile in Btrfs subvolume" + MEM_TOTAL_KB="$(awk '/MemTotal/ {print $2}' /proc/meminfo)k" + sudo btrfs filesystem mkswapfile -s "$MEM_TOTAL_KB" "$SWAP_FILE" +fi + +# Add swapfile to fstab +if ! grep -Fq "$SWAP_FILE" /etc/fstab; then + echo "Adding swapfile to /etc/fstab" + sudo cp -a /etc/fstab "/etc/fstab.$(date +%Y%m%d%H%M%S).back" + printf "\n# Btrfs swapfile for system hibernation\n%s none swap defaults,pri=0 0 0\n" "$SWAP_FILE" | sudo tee -a /etc/fstab >/dev/null +fi + +# Enable swap +if ! swapon --show | grep -q "$SWAP_FILE"; then + echo "Enabling swap on $SWAP_FILE" + sudo swapon -p 0 "$SWAP_FILE" +fi + +# Add resume hook to mkinitcpio +sudo mkdir -p /etc/mkinitcpio.conf.d +echo "Adding resume hook to $MKINITCPIO_CONF" +echo "HOOKS+=(resume)" | sudo tee "$MKINITCPIO_CONF" >/dev/null + +# Configure suspend-then-hibernate +echo "Configuring suspend-then-hibernate" +sudo mkdir -p /etc/systemd/logind.conf.d /etc/systemd/sleep.conf.d +sudo cp "$OMARCHY_PATH/default/systemd/lid.conf" /etc/systemd/logind.conf.d/ +sudo cp "$OMARCHY_PATH/default/systemd/hibernate.conf" /etc/systemd/sleep.conf.d/ + +# Regenerate initramfs +echo "Regenerating initramfs..." +sudo limine-mkinitcpio + +echo "Hibernation enabled" diff --git a/bin/omarchy-hook b/bin/omarchy-hook index 30b7b1f6..75033bfc 100755 --- a/bin/omarchy-hook +++ b/bin/omarchy-hook @@ -1,5 +1,7 @@ #!/bin/bash +# Run a named hook, like post-update (available in ~/.config/omarchy/hooks/post-update). + set -e if [[ $# -lt 1 ]]; then diff --git a/bin/omarchy-hyprland-workspace-toggle-gaps b/bin/omarchy-hyprland-workspace-toggle-gaps index f7882305..b9b4c928 100755 --- a/bin/omarchy-hyprland-workspace-toggle-gaps +++ b/bin/omarchy-hyprland-workspace-toggle-gaps @@ -1,5 +1,7 @@ #!/bin/bash +# Toggles the window gaps on the active workspace between no gaps and the default 10/5/2. + workspace_id=$(hyprctl activeworkspace -j | jq -r .id) gaps=$(hyprctl workspacerules -j | jq -r ".[] | select(.workspaceString==\"$workspace_id\") | .gapsOut[0] // 0") diff --git a/bin/omarchy-install-chromium-google-account b/bin/omarchy-install-chromium-google-account index 5087cee8..71492056 100755 --- a/bin/omarchy-install-chromium-google-account +++ b/bin/omarchy-install-chromium-google-account @@ -1,5 +1,8 @@ #!/bin/bash +# Allow Chromium to sign in to Google accounts by adding the correct +# oauth client id and secret to ~/.config/chromium-flags.conf. + if [[ -f ~/.config/chromium-flags.conf ]]; then CONF=~/.config/chromium-flags.conf diff --git a/bin/omarchy-install-dev-env b/bin/omarchy-install-dev-env index ca9925a0..07d6f968 100755 --- a/bin/omarchy-install-dev-env +++ b/bin/omarchy-install-dev-env @@ -1,5 +1,7 @@ #!/bin/bash +# Install one of the supported development environments. Usually called via Install > Development > * in the Omarchy Menu. + if [[ -z "$1" ]]; then echo "Usage: omarchy-install-dev-env " >&2 exit 1 @@ -41,7 +43,7 @@ install_php() { install_node() { echo -e "Installing Node.js...\n" - mise use --global node@lts + mise use --global node } case "$1" in diff --git a/bin/omarchy-install-docker-dbs b/bin/omarchy-install-docker-dbs index 658a2b08..4d29878a 100755 --- a/bin/omarchy-install-docker-dbs +++ b/bin/omarchy-install-docker-dbs @@ -1,5 +1,8 @@ #!/bin/bash +# Install one of the supported databases in a Docker container with the suitable development options. +# Usually called via Install > Development > Docker DB from the Omarchy Menu. + options=("MySQL" "PostgreSQL" "Redis" "MongoDB" "MariaDB" "MSSQL") if [[ "$#" -eq 0 ]]; then @@ -12,7 +15,7 @@ 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 ;; - PostgreSQL) sudo docker run -d --restart unless-stopped -p "127.0.0.1:5432:5432" --name=postgres17 -e POSTGRES_HOST_AUTH_METHOD=trust postgres:17 ;; + PostgreSQL) sudo docker run -d --restart unless-stopped -p "127.0.0.1:5432:5432" --name=postgres18 -e POSTGRES_HOST_AUTH_METHOD=trust postgres:18 ;; 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 ;; MongoDB) sudo docker run -d --restart unless-stopped -p "127.0.0.1:27017:27017" --name mongodb -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=admin123 mongo:noble ;; diff --git a/bin/omarchy-install-dropbox b/bin/omarchy-install-dropbox index 7473e9e8..5b261563 100755 --- a/bin/omarchy-install-dropbox +++ b/bin/omarchy-install-dropbox @@ -1,5 +1,7 @@ #!/bin/bash +# Install and start the Dropbox service. Must then be authenticated via the web. + echo "Installing all dependencies..." omarchy-pkg-add dropbox dropbox-cli libappindicator-gtk3 python-gpgme nautilus-dropbox diff --git a/bin/omarchy-install-steam b/bin/omarchy-install-steam index a5764bb4..2d3b7cd9 100755 --- a/bin/omarchy-install-steam +++ b/bin/omarchy-install-steam @@ -1,5 +1,7 @@ #!/bin/bash +# Install and launch Steam after first letting the user pick the correct grahics card drivers. + set -e echo "Now pick dependencies matching your graphics card" diff --git a/bin/omarchy-install-tailscale b/bin/omarchy-install-tailscale index c6dbe03f..b439744c 100755 --- a/bin/omarchy-install-tailscale +++ b/bin/omarchy-install-tailscale @@ -1,5 +1,7 @@ #!/bin/bash +# Install the Tailscale mesh VPN service, the tsui TUI management app, and a web app for the Tailscale Admin Console. + curl -fsSL https://tailscale.com/install.sh | sh curl -fsSL https://neuralink.com/tsui/install.sh | bash diff --git a/bin/omarchy-install-terminal b/bin/omarchy-install-terminal index e962f3f3..4b051ae4 100755 --- a/bin/omarchy-install-terminal +++ b/bin/omarchy-install-terminal @@ -1,5 +1,7 @@ #!/bin/bash +# Install one of the approved terminals and set it as the default for Omarchy (Super + Return etc). + if (($# == 0)); then echo "Usage: omarchy-install-terminal [alacritty|ghostty|kitty]" exit 1 diff --git a/bin/omarchy-install-vscode b/bin/omarchy-install-vscode index 4c5b036a..cd6a32b3 100755 --- a/bin/omarchy-install-vscode +++ b/bin/omarchy-install-vscode @@ -1,5 +1,7 @@ #!/bin/bash +# Install VSCode and configure it to use the gnome-libsecret password store, not to update automatically, and to use the current Omarchy theme. + echo "Installing VSCode..." omarchy-pkg-add visual-studio-code-bin diff --git a/bin/omarchy-install-xbox-controllers b/bin/omarchy-install-xbox-controllers index b50067b0..07dd0e4c 100755 --- a/bin/omarchy-install-xbox-controllers +++ b/bin/omarchy-install-xbox-controllers @@ -1,5 +1,7 @@ #!/bin/bash +# Install support for using Xbox controllers with Steam/RetroArch/etc. + set -e # Install xpadneo to ensure controllers work out of the box diff --git a/bin/omarchy-launch-about b/bin/omarchy-launch-about index 135f4d79..ee5dfdeb 100755 --- a/bin/omarchy-launch-about +++ b/bin/omarchy-launch-about @@ -1,3 +1,5 @@ #!/bin/bash +# Launch the fastfetch TUI that gives information about the current system. + exec omarchy-launch-or-focus-tui "bash -c 'fastfetch; read -n 1 -s'" diff --git a/bin/omarchy-launch-audio b/bin/omarchy-launch-audio new file mode 100755 index 00000000..b5e5e4c1 --- /dev/null +++ b/bin/omarchy-launch-audio @@ -0,0 +1,5 @@ +#!/bin/bash + +# Launch the Omarchy audio controls TUI (provided by wiremix). + +omarchy-launch-or-focus-tui wiremix diff --git a/bin/omarchy-launch-bluetooth b/bin/omarchy-launch-bluetooth index 8eb823b7..5e343308 100755 --- a/bin/omarchy-launch-bluetooth +++ b/bin/omarchy-launch-bluetooth @@ -1,4 +1,7 @@ #!/bin/bash +# Launch the Omarchy bluetooth controls TUI (provided by bluetui). +# Also attempts to unblock bluetooth service if rfkill had blocked it. + rfkill unblock bluetooth exec omarchy-launch-or-focus-tui bluetui diff --git a/bin/omarchy-launch-browser b/bin/omarchy-launch-browser index a262f671..0d168978 100755 --- a/bin/omarchy-launch-browser +++ b/bin/omarchy-launch-browser @@ -1,5 +1,8 @@ #!/bin/bash +# Launch the default browser as determined by xdg-settings. +# Automatically converts --private into the correct flag for the given browser. + default_browser=$(xdg-settings get default-web-browser) browser_exec=$(sed -n 's/^Exec=\([^ ]*\).*/\1/p' {~/.local,~/.nix-profile,/usr}/share/applications/$default_browser 2>/dev/null | head -1) diff --git a/bin/omarchy-launch-editor b/bin/omarchy-launch-editor index 7597cfcc..56afc614 100755 --- a/bin/omarchy-launch-editor +++ b/bin/omarchy-launch-editor @@ -1,9 +1,12 @@ #!/bin/bash +# Launch the default editor as determined by $EDITOR (set via ~/.config/uwsm/default) (or nvim if missing). +# Starts suitable editors in a terminal window and otherwise as a regular application. + omarchy-cmd-present "$EDITOR" || EDITOR=nvim case "$EDITOR" in -nvim | vim | nano | micro | hx | helix) +nvim | vim | nano | micro | hx | helix | fresh) exec omarchy-launch-tui "$EDITOR" "$@" ;; *) diff --git a/bin/omarchy-launch-floating-terminal-with-presentation b/bin/omarchy-launch-floating-terminal-with-presentation index cc779efd..b85fed2e 100755 --- a/bin/omarchy-launch-floating-terminal-with-presentation +++ b/bin/omarchy-launch-floating-terminal-with-presentation @@ -1,4 +1,7 @@ #!/bin/bash +# Launch a floating terminal with the Omarchy logo presentation, then execute the command passed in, and finally end with the omarchy-show-done presentation. +# Used by actions such as Update System. + cmd="$*" -exec setsid uwsm-app -- xdg-terminal-exec --app-id=org.omarchy.terminal --title=Omarchy -e bash -c "omarchy-show-logo; $cmd; omarchy-show-done" +exec setsid uwsm-app -- xdg-terminal-exec --app-id=org.omarchy.terminal --title=Omarchy -e bash -c "omarchy-show-logo; $cmd; if [ \$? -ne 130 ]; then omarchy-show-done; fi" diff --git a/bin/omarchy-launch-or-focus b/bin/omarchy-launch-or-focus index ce932fb7..85ab3d6c 100755 --- a/bin/omarchy-launch-or-focus +++ b/bin/omarchy-launch-or-focus @@ -1,5 +1,8 @@ #!/bin/bash +# Launch or focus on a given command identified by the passed in window-pattern. +# Use by some default bindings, like the one for Spotify, to ensure there is only one instance of the application open. + if (($# == 0)); then echo "Usage: omarchy-launch-or-focus [window-pattern] [launch-command]" exit 1 diff --git a/bin/omarchy-launch-or-focus-tui b/bin/omarchy-launch-or-focus-tui index 8c9cdfcc..bbbfeb5e 100755 --- a/bin/omarchy-launch-or-focus-tui +++ b/bin/omarchy-launch-or-focus-tui @@ -1,6 +1,9 @@ #!/bin/bash -APP_ID="org.omarchy.$(basename $1)" +# Launch or focus on a given TUI identified by the passed in as the command. +# Use by commands like omarchy-launch-wifi to ensure there is only one wifi configuration screen open. + +APP_ID="org.omarchy.$(basename "$1")" LAUNCH_COMMAND="omarchy-launch-tui $@" exec omarchy-launch-or-focus "$APP_ID" "$LAUNCH_COMMAND" diff --git a/bin/omarchy-launch-or-focus-webapp b/bin/omarchy-launch-or-focus-webapp index aa56db73..c8f094e2 100755 --- a/bin/omarchy-launch-or-focus-webapp +++ b/bin/omarchy-launch-or-focus-webapp @@ -1,5 +1,8 @@ #!/bin/bash +# Launch or focus on a given web app identified by the window-pattern. +# Use by some default bindings, like the one for WhatsApp, to ensure there is only one instance of the application open. + if (($# == 0)); then echo "Usage: omarchy-launch-or-focus-webapp [window-pattern] [url-and-flags...]" exit 1 @@ -9,4 +12,4 @@ WINDOW_PATTERN="$1" shift LAUNCH_COMMAND="omarchy-launch-webapp $@" -exec omarchy-launch-or-focus "$WINDOW_PATTERN" "$LAUNCH_COMMAND" \ No newline at end of file +exec omarchy-launch-or-focus "$WINDOW_PATTERN" "$LAUNCH_COMMAND" diff --git a/bin/omarchy-launch-screensaver b/bin/omarchy-launch-screensaver index 44b38f0e..eac88745 100755 --- a/bin/omarchy-launch-screensaver +++ b/bin/omarchy-launch-screensaver @@ -1,5 +1,7 @@ #!/bin/bash +# Launch the Omarchy screensaver in the default terminal on the system with the correct font configuration. + # Exit early if we don't have the tte show if ! command -v tte &>/dev/null; then exit 1 diff --git a/bin/omarchy-launch-tui b/bin/omarchy-launch-tui index 67440b2b..3968ea65 100755 --- a/bin/omarchy-launch-tui +++ b/bin/omarchy-launch-tui @@ -1,3 +1,5 @@ #!/bin/bash +# Launch the TUI command passed in as an argument in the default terminal with an org.omarchy.COMMAND app id for styling. + exec setsid uwsm-app -- xdg-terminal-exec --app-id=org.omarchy.$(basename $1) -e "$1" "${@:2}" diff --git a/bin/omarchy-launch-walker b/bin/omarchy-launch-walker index 805da5c1..3d92b6b0 100755 --- a/bin/omarchy-launch-walker +++ b/bin/omarchy-launch-walker @@ -1,5 +1,7 @@ #!/bin/bash +# Launch the Walker application launcher while ensuring that it's data provider (called elephant) is runnig first. + # Ensure elephant is running before launching walker if ! pgrep -x elephant > /dev/null; then setsid uwsm-app -- elephant & diff --git a/bin/omarchy-launch-webapp b/bin/omarchy-launch-webapp index 09a6fc30..607ef6ce 100755 --- a/bin/omarchy-launch-webapp +++ b/bin/omarchy-launch-webapp @@ -1,5 +1,7 @@ #!/bin/bash +# Launch the passed in URL as a web app in the default browser (or chromium if the default doesn't support --app). + browser=$(xdg-settings get default-web-browser) case $browser in diff --git a/bin/omarchy-launch-wifi b/bin/omarchy-launch-wifi index d942f680..9af1fc82 100755 --- a/bin/omarchy-launch-wifi +++ b/bin/omarchy-launch-wifi @@ -1,4 +1,7 @@ #!/bin/bash +# Launch the Omarchy wifi controls (provided by the Impala TUI). +# Attempts to unblock the wifi service first in case it should be been blocked. + rfkill unblock wifi omarchy-launch-or-focus-tui impala diff --git a/bin/omarchy-lock-screen b/bin/omarchy-lock-screen index b16c56a2..df40b335 100755 --- a/bin/omarchy-lock-screen +++ b/bin/omarchy-lock-screen @@ -1,5 +1,7 @@ #!/bin/bash +# Locks the system using hyprlock, but not before ensuring 1password has also been locked, and the screensaver stopped. + # Lock the screen pidof hyprlock || hyprlock & diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 5ddf81f3..445b35bd 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -1,5 +1,7 @@ #!/bin/bash +# Launch the Omarchy Menu or takes a parameter to jump straight to a submenu. + export PATH="$HOME/.local/share/omarchy/bin:$PATH" # Set to true when going directly to a submenu, so we can exit directly @@ -167,20 +169,20 @@ show_font_menu() { } show_setup_menu() { - local options=" Audio\n Wifi\n󰂯 Bluetooth\n󱐋 Power Profile\n󰍹 Monitors" + local options=" Audio\n Wifi\n󰂯 Bluetooth\n󱐋 Power Profile\n System Sleep\n󰍹 Monitors" [ -f ~/.config/hypr/bindings.conf ] && options="$options\n Keybindings" [ -f ~/.config/hypr/input.conf ] && options="$options\n Input" - options="$options\n Defaults\n󰱔 DNS\n Security\n Config" + options="$options\n󰱔 DNS\n Security\n Config" case $(menu "Setup" "$options") in - *Audio*) omarchy-launch-or-focus-tui wiremix ;; + *Audio*) omarchy-launch-audio ;; *Wifi*) omarchy-launch-wifi ;; *Bluetooth*) omarchy-launch-bluetooth ;; *Power*) show_setup_power_menu ;; + *System*) show_setup_system_menu ;; *Monitors*) open_in_editor ~/.config/hypr/monitors.conf ;; *Keybindings*) open_in_editor ~/.config/hypr/bindings.conf ;; *Input*) open_in_editor ~/.config/hypr/input.conf ;; - *Defaults*) open_in_editor ~/.config/uwsm/default ;; *DNS*) present_terminal omarchy-setup-dns ;; *Security*) show_setup_security_menu ;; *Config*) show_setup_config_menu ;; @@ -198,8 +200,17 @@ show_setup_power_menu() { fi } +show_setup_security_menu() { + case $(menu "Setup" "󰈷 Fingerprint\n Fido2") in + *Fingerprint*) present_terminal omarchy-setup-fingerprint ;; + *Fido2*) present_terminal omarchy-setup-fido2 ;; + *) show_setup_menu ;; + esac +} + show_setup_config_menu() { - case $(menu "Setup" " Hyprland\n Hypridle\n Hyprlock\n Hyprsunset\n Swayosd\n󰌧 Walker\n󰍜 Waybar\n󰞅 XCompose") in + case $(menu "Setup" " Defaults\n Hyprland\n Hypridle\n Hyprlock\n Hyprsunset\n Swayosd\n󰌧 Walker\n󰍜 Waybar\n󰞅 XCompose") in + *Defaults*) open_in_editor ~/.config/uwsm/default ;; *Hyprland*) open_in_editor ~/.config/hypr/hyprland.conf ;; *Hypridle*) open_in_editor ~/.config/hypr/hypridle.conf && omarchy-restart-hypridle ;; *Hyprlock*) open_in_editor ~/.config/hypr/hyprlock.conf ;; @@ -208,14 +219,29 @@ show_setup_config_menu() { *Walker*) open_in_editor ~/.config/walker/config.toml && omarchy-restart-walker ;; *Waybar*) open_in_editor ~/.config/waybar/config.jsonc && omarchy-restart-waybar ;; *XCompose*) open_in_editor ~/.XCompose && omarchy-restart-xcompose ;; - *) show_main_menu ;; + *) show_setup_menu ;; esac } -show_setup_security_menu() { - case $(menu "Setup" "󰈷 Fingerprint\n Fido2") in - *Fingerprint*) present_terminal omarchy-setup-fingerprint ;; - *Fido2*) present_terminal omarchy-setup-fido2 ;; +show_setup_system_menu() { + local options="" + + if [ -f ~/.local/state/omarchy/toggles/suspend-on ]; then + options="$options󰒲 Disable Suspend" + else + options="$options󰒲 Enable Suspend" + fi + + if omarchy-hibernation-available; then + options="$options\n󰤁 Disable Hibernate" + else + options="$options\n󰤁 Enable Hibernate" + fi + + case $(menu "System" "$options") in + *Suspend*) omarchy-toggle-suspend ;; + *"Enable Hibernate"*) present_terminal omarchy-hibernation-setup ;; + *"Disable Hibernate"*) present_terminal omarchy-hibernation-remove ;; *) show_setup_menu ;; esac } @@ -276,15 +302,16 @@ show_install_ai_menu() { echo ollama ) - case $(menu "Install" "󱚤 Claude Code\n󱚤 Cursor CLI\n󱚤 Gemini\n󱚤 OpenAI Codex\n󱚤 LM Studio\n󱚤 Ollama\n󱚤 Crush\n󱚤 opencode") in + case $(menu "Install" " Dictation\n󱚤 Claude Code\n󱚤 Copilot CLI\n󱚤 Cursor CLI\n󱚤 Gemini\n󱚤 OpenAI Codex\n󱚤 LM Studio\n󱚤 Ollama\n󱚤 Crush") in + *Dictation*) present_terminal omarchy-voxtype-install ;; *Claude*) install "Claude Code" "claude-code" ;; + *Copilot*) install "Copilot CLI" "github-copilot-cli" ;; *Cursor*) install "Cursor CLI" "cursor-cli" ;; - *OpenAI*) install "OpenAI Codex" "openai-codex-bin" ;; *Gemini*) install "Gemini" "gemini-cli" ;; + *OpenAI*) install "OpenAI Codex" "openai-codex" ;; *Studio*) install "LM Studio" "lmstudio" ;; *Ollama*) install "Ollama" $ollama_pkg ;; *Crush*) install "Crush" "crush-bin" ;; - *opencode*) install "opencode" "opencode" ;; *) show_install_menu ;; esac } @@ -302,7 +329,7 @@ show_install_gaming_menu() { show_install_style_menu() { case $(menu "Install" "󰸌 Theme\n Background\n Font") in *Theme*) present_terminal omarchy-theme-install ;; - *Background*) nautilus ~/.config/omarchy/current/theme/backgrounds ;; + *Background*) omarchy-theme-bg-install ;; *Font*) show_install_font_menu ;; *) show_install_menu ;; esac @@ -365,10 +392,12 @@ show_install_elixir_menu() { } show_remove_menu() { - case $(menu "Remove" "󰣇 Package\n Web App\n TUI\n󰸌 Theme\n󰍲 Windows\n󰈷 Fingerprint\n Fido2") in + case $(menu "Remove" "󰣇 Package\n Web App\n TUI\n󰵮 Development\n Dictation\n󰸌 Theme\n󰍲 Windows\n󰈷 Fingerprint\n Fido2") in *Package*) terminal omarchy-pkg-remove ;; *Web*) present_terminal omarchy-webapp-remove ;; *TUI*) present_terminal omarchy-tui-remove ;; + *Development*) show_remove_development_menu ;; + *Dictation*) present_terminal omarchy-voxtype-remove ;; *Theme*) present_terminal omarchy-theme-remove ;; *Windows*) present_terminal "omarchy-windows-vm remove" ;; *Fingerprint*) present_terminal "omarchy-setup-fingerprint --remove" ;; @@ -377,6 +406,50 @@ show_remove_menu() { esac } +show_remove_development_menu() { + case $(menu "Remove" "󰫏 Ruby on Rails\n JavaScript\n Go\n PHP\n Python\n Elixir\n Zig\n Rust\n Java\n .NET\n OCaml\n Clojure") in + *Rails*) present_terminal "omarchy-remove-dev-env ruby" ;; + *JavaScript*) show_remove_javascript_menu ;; + *Go*) present_terminal "omarchy-remove-dev-env go" ;; + *PHP*) show_remove_php_menu ;; + *Python*) present_terminal "omarchy-remove-dev-env python" ;; + *Elixir*) show_remove_elixir_menu ;; + *Zig*) present_terminal "omarchy-remove-dev-env zig" ;; + *Rust*) present_terminal "omarchy-remove-dev-env rust" ;; + *Java*) present_terminal "omarchy-remove-dev-env java" ;; + *NET*) present_terminal "omarchy-remove-dev-env dotnet" ;; + *OCaml*) present_terminal "omarchy-remove-dev-env ocaml" ;; + *Clojure*) present_terminal "omarchy-remove-dev-env clojure" ;; + *) show_remove_menu ;; + esac +} + +show_remove_javascript_menu() { + case $(menu "Remove" " Node.js\n Bun\n Deno") in + *Node*) present_terminal "omarchy-remove-dev-env node" ;; + *Bun*) present_terminal "omarchy-remove-dev-env bun" ;; + *Deno*) present_terminal "omarchy-remove-dev-env deno" ;; + *) show_remove_development_menu ;; + esac +} + +show_remove_php_menu() { + case $(menu "Remove" " PHP\n Laravel\n Symfony") in + *PHP*) present_terminal "omarchy-remove-dev-env php" ;; + *Laravel*) present_terminal "omarchy-remove-dev-env laravel" ;; + *Symfony*) present_terminal "omarchy-remove-dev-env symfony" ;; + *) show_remove_development_menu ;; + esac +} + +show_remove_elixir_menu() { + case $(menu "Remove" " Elixir\n Phoenix") in + *Elixir*) present_terminal "omarchy-remove-dev-env elixir" ;; + *Phoenix*) present_terminal "omarchy-remove-dev-env phoenix" ;; + *) show_remove_development_menu ;; + esac +} + show_update_menu() { case $(menu "Update" " Omarchy\n󰔫 Channel\n Config\n󰸌 Extra Themes\n Process\n󰇅 Hardware\n Firmware\n Password\n Timezone\n Time") in *Omarchy*) present_terminal omarchy-update ;; @@ -444,9 +517,16 @@ show_update_password_menu() { } show_system_menu() { - case $(menu "System" " Lock\n󱄄 Screensaver\n󰜉 Restart\n󰐥 Shutdown") in + local options=" Lock\n󱄄 Screensaver" + [ -f ~/.local/state/omarchy/toggles/suspend-on ] && options="$options\n󰒲 Suspend" + omarchy-hibernation-available && options="$options\n󰤁 Hibernate" + options="$options\n󰜉 Restart\n󰐥 Shutdown" + + case $(menu "System" "$options") in *Lock*) omarchy-lock-screen ;; *Screensaver*) omarchy-launch-screensaver force ;; + *Suspend*) systemctl suspend ;; + *Hibernate*) systemctl hibernate ;; *Restart*) omarchy-cmd-reboot ;; *Shutdown*) omarchy-cmd-shutdown ;; *) back_to show_main_menu ;; @@ -477,6 +557,10 @@ go_to_menu() { esac } +# Allow user extensions and overrides +USER_EXTENSIONS="$HOME/.config/omarchy/extensions/menu.sh" +[[ -f $USER_EXTENSIONS ]] && source "$USER_EXTENSIONS" + if [[ -n "$1" ]]; then BACK_TO_EXIT=true go_to_menu "$1" diff --git a/bin/omarchy-menu-keybindings b/bin/omarchy-menu-keybindings index 39a9e0b6..fcd31a98 100755 --- a/bin/omarchy-menu-keybindings +++ b/bin/omarchy-menu-keybindings @@ -1,7 +1,6 @@ #!/bin/bash -# A script to display Hyprland keybindings defined in your configuration -# using walker for an interactive search menu. +# Display Hyprland keybindings defined in your configuration using walker for an interactive search menu. declare -A KEYCODE_SYM_MAP @@ -176,28 +175,37 @@ prioritize_entries() { if (match(line, /System menu/)) prio = 5 if (match(line, /Theme menu/)) prio = 6 if (match(line, /Full screen/)) prio = 7 - if (match(line, /Close window/)) prio = 8 - if (match(line, /Toggle window floating/)) prio = 9 - if (match(line, /Toggle window split/)) prio = 10 - if (match(line, /Universal/)) prio = 11 - if (match(line, /Clipboard/)) prio = 12 - if (match(line, /Emoji picker/)) prio = 13 - if (match(line, /Color picker/)) prio = 14 - if (match(line, /Screenshot/)) prio = 15 - if (match(line, /Screenrecording/)) prio = 16 - if (match(line, /(Switch|Next|Former|Previous).*workspace/)) prio = 17 - if (match(line, /Move window to workspace/)) prio = 18 - if (match(line, /Swap window/)) prio = 19 - if (match(line, /Move window focus/)) prio = 20 - if (match(line, /Move window$/)) prio = 21 - if (match(line, /Resize window/)) prio = 22 - if (match(line, /Expand window/)) prio = 23 - if (match(line, /Shrink window/)) prio = 24 - if (match(line, /scratchpad/)) prio = 25 - if (match(line, /notification/)) prio = 26 - if (match(line, /Toggle window transparency/)) prio = 27 - if (match(line, /Toggle workspace gaps/)) prio = 28 - if (match(line, /Toggle nightlight/)) prio = 29 + if (match(line, /Full width/)) prio = 8 + if (match(line, /Close window/)) prio = 9 + if (match(line, /Close all windows/)) prio = 10 + if (match(line, /Lock system/)) prio = 11 + if (match(line, /Toggle window floating/)) prio = 12 + if (match(line, /Toggle window split/)) prio = 13 + if (match(line, /Pop window/)) prio = 14 + if (match(line, /Universal/)) prio = 15 + if (match(line, /Clipboard/)) prio = 16 + if (match(line, /Audio controls/)) prio = 17 + if (match(line, /Bluetooth controls/)) prio = 18 + if (match(line, /Wifi controls/)) prio = 19 + if (match(line, /Emoji picker/)) prio = 20 + if (match(line, /Color picker/)) prio = 21 + if (match(line, /Screenshot/)) prio = 22 + if (match(line, /Screenrecording/)) prio = 23 + if (match(line, /(Switch|Next|Former|Previous).*workspace/)) prio = 24 + if (match(line, /Move window to workspace/)) prio = 25 + if (match(line, /Move window silently to workspace/)) prio = 26 + if (match(line, /Swap window/)) prio = 27 + if (match(line, /Move window focus/)) prio = 28 + if (match(line, /Move window$/)) prio = 29 + if (match(line, /Resize window/)) prio = 30 + if (match(line, /Expand window/)) prio = 31 + if (match(line, /Shrink window/)) prio = 32 + if (match(line, /scratchpad/)) prio = 33 + if (match(line, /notification/)) prio = 34 + if (match(line, /Toggle window transparency/)) prio = 35 + if (match(line, /Toggle workspace gaps/)) prio = 36 + if (match(line, /Toggle nightlight/)) prio = 37 + if (match(line, /Toggle locking/)) prio = 38 if (match(line, /group/)) prio = 94 if (match(line, /Scroll active workspace/)) prio = 95 if (match(line, /Cycle to/)) prio = 96 @@ -212,18 +220,26 @@ prioritize_entries() { cut -f2- } -monitor_height=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .height') -menu_height=$((monitor_height * 40 / 100)) +output_keybindings() { + build_keymap_cache -build_keymap_cache + { + dynamic_bindings + static_bindings + } | + sort -u | + parse_keycodes | + parse_bindings | + prioritize_entries +} -{ - dynamic_bindings - static_bindings -} | - sort -u | - parse_keycodes | - parse_bindings | - prioritize_entries | - walker --dmenu -p 'Keybindings' --width 800 --height "$menu_height" +if [[ "$1" == "--print" || "$1" == "-p" ]]; then + output_keybindings +else + monitor_height=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .height') + menu_height=$((monitor_height * 40 / 100)) + + output_keybindings | + walker --dmenu -p 'Keybindings' --width 800 --height "$menu_height" +fi diff --git a/bin/omarchy-migrate b/bin/omarchy-migrate index 45cf1ede..2bb5a468 100755 --- a/bin/omarchy-migrate +++ b/bin/omarchy-migrate @@ -1,5 +1,7 @@ #!/bin/bash +# Run all pending migrations to bring the system in line with the installed version. + # Where we store an empty file for each migration that has already been performed. STATE_DIR="$HOME/.local/state/omarchy/migrations" mkdir -p "$STATE_DIR" diff --git a/bin/omarchy-notification-dismiss b/bin/omarchy-notification-dismiss index ee2a0625..72964b84 100755 --- a/bin/omarchy-notification-dismiss +++ b/bin/omarchy-notification-dismiss @@ -1,5 +1,7 @@ #!/bin/bash +# Dismiss a mako notification on the basis of its summary. Used by the first-run notifications to dismiss them after clicking for action. + if (($# == 0)); then echo "Usage: omarchy-notification-dismiss " exit 1 diff --git a/bin/omarchy-pkg-add b/bin/omarchy-pkg-add index 486a2f45..15c803d4 100755 --- a/bin/omarchy-pkg-add +++ b/bin/omarchy-pkg-add @@ -1,5 +1,7 @@ #!/bin/bash +# Add the named packages to the system if they're missing. Returns false if it couldn't be done. + if omarchy-pkg-missing "$@"; then sudo pacman -S --noconfirm --needed "$@" || exit 1 fi diff --git a/bin/omarchy-pkg-aur-accessible b/bin/omarchy-pkg-aur-accessible index 5dd3e2d8..3800880e 100755 --- a/bin/omarchy-pkg-aur-accessible +++ b/bin/omarchy-pkg-aur-accessible @@ -1,4 +1,7 @@ #!/bin/bash +# Returns true if the AUR is up and available. +# Used by omarchy-update-system-pkgs to ensure the AUR is available before updating packages from it. + curl -sf --connect-timeout 30 --retry 3 --retry-delay 3 -A "omarchy-update" \ "https://aur.archlinux.org/rpc/?v=5&type=info&arg=base" >/dev/null diff --git a/bin/omarchy-pkg-aur-add b/bin/omarchy-pkg-aur-add new file mode 100755 index 00000000..332a0f60 --- /dev/null +++ b/bin/omarchy-pkg-aur-add @@ -0,0 +1,17 @@ +#!/bin/bash + +# Add the named packages to the system from the AUR if they're missing. Returns false if it couldn't be done. + +if omarchy-pkg-missing "$@"; then + yay -S --noconfirm --needed "$@" || exit 1 +fi + +for pkg in "$@"; do + # Secondary check to handle states where pacman doesn't actually register an error + if ! pacman -Q "$pkg" &>/dev/null; then + echo -e "\033[31mError: Package '$pkg' did not install\033[0m" >&2 + exit 1 + fi +done + +exit 0 diff --git a/bin/omarchy-pkg-aur-install b/bin/omarchy-pkg-aur-install index da0d5884..8fb849c0 100755 --- a/bin/omarchy-pkg-aur-install +++ b/bin/omarchy-pkg-aur-install @@ -1,5 +1,7 @@ #!/bin/bash +# Show a fuzzy-finder TUI for picking new AUR packages to install. + fzf_args=( --multi --preview 'yay -Siia {1}' diff --git a/bin/omarchy-pkg-drop b/bin/omarchy-pkg-drop index fc9da0d6..125c9c98 100755 --- a/bin/omarchy-pkg-drop +++ b/bin/omarchy-pkg-drop @@ -1,5 +1,7 @@ #!/bin/bash +# Remove all the named packages from the system if they're installed (otherwise ignore). + for pkg in "$@"; do if pacman -Q "$pkg" &>/dev/null; then sudo pacman -Rns --noconfirm "$pkg" diff --git a/bin/omarchy-pkg-install b/bin/omarchy-pkg-install index 49f7b33b..9a964119 100755 --- a/bin/omarchy-pkg-install +++ b/bin/omarchy-pkg-install @@ -1,5 +1,7 @@ #!/bin/bash +# Show a fuzzy-finder TUI for picking new Arch and OPR packages to install. + fzf_args=( --multi --preview 'pacman -Sii {1}' diff --git a/bin/omarchy-pkg-missing b/bin/omarchy-pkg-missing index 2556afe3..c2bab7a7 100755 --- a/bin/omarchy-pkg-missing +++ b/bin/omarchy-pkg-missing @@ -1,5 +1,7 @@ #!/bin/bash +# Returns true if any of the named packages are missing from the system (or false if they're all there). + for pkg in "$@"; do if ! pacman -Q "$pkg" &>/dev/null; then exit 0 diff --git a/bin/omarchy-pkg-pinned b/bin/omarchy-pkg-pinned deleted file mode 100755 index 503d5c76..00000000 --- a/bin/omarchy-pkg-pinned +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -PINNED_PACKAGES_FILE="$OMARCHY_PATH/install/packages.pinned" - -if [[ -f $PINNED_PACKAGES_FILE ]]; then - tr '\r\n' ',' <"$PINNED_PACKAGES_FILE" | sed 's/,$//' -fi diff --git a/bin/omarchy-pkg-present b/bin/omarchy-pkg-present index 6afb1f5c..03a5d9af 100755 --- a/bin/omarchy-pkg-present +++ b/bin/omarchy-pkg-present @@ -1,5 +1,7 @@ #!/bin/bash +# Returns true if all of the named packages are installed on the system (or false if any of them are missing). + for pkg in "$@"; do pacman -Q "$pkg" &>/dev/null || exit 1 done diff --git a/bin/omarchy-pkg-remove b/bin/omarchy-pkg-remove index 1da761f9..aba8d0e3 100755 --- a/bin/omarchy-pkg-remove +++ b/bin/omarchy-pkg-remove @@ -1,5 +1,7 @@ #!/bin/bash +# Show a fuzzy-finder TUI for picking packages installed on the system to be removed. + fzf_args=( --multi --preview 'yay -Qi {1}' diff --git a/bin/omarchy-powerprofiles-list b/bin/omarchy-powerprofiles-list index b0b5d82d..d8717ce3 100755 --- a/bin/omarchy-powerprofiles-list +++ b/bin/omarchy-powerprofiles-list @@ -1,5 +1,8 @@ #!/bin/bash +# Returns a list of all the available power profiles on the system. +# Used by the Omarchy Menu under Setup > Power Profile. + powerprofilesctl list | awk '/^\s*[* ]\s*[a-zA-Z0-9\-]+:$/ { gsub(/^[*[:space:]]+|:$/,""); print }' | tac diff --git a/bin/omarchy-refresh-applications b/bin/omarchy-refresh-applications index bf666f5d..0c39e5bc 100755 --- a/bin/omarchy-refresh-applications +++ b/bin/omarchy-refresh-applications @@ -1,5 +1,7 @@ #!/bin/bash +# Ensure all default .desktop, web apps, and TUIs are installed. + # Copy and sync icon files mkdir -p ~/.local/share/icons/hicolor/48x48/apps/ cp ~/.local/share/omarchy/applications/icons/*.png ~/.local/share/icons/hicolor/48x48/apps/ @@ -10,8 +12,9 @@ mkdir -p ~/.local/share/applications cp ~/.local/share/omarchy/applications/*.desktop ~/.local/share/applications/ cp ~/.local/share/omarchy/applications/hidden/*.desktop ~/.local/share/applications/ -# Refresh the webapps +# Refresh the webapps and TUIs bash $OMARCHY_PATH/install/packaging/icons.sh bash $OMARCHY_PATH/install/packaging/webapps.sh +bash $OMARCHY_PATH/install/packaging/tuis.sh update-desktop-database ~/.local/share/applications diff --git a/bin/omarchy-refresh-chromium b/bin/omarchy-refresh-chromium new file mode 100755 index 00000000..ee447b93 --- /dev/null +++ b/bin/omarchy-refresh-chromium @@ -0,0 +1,21 @@ +#!/bin/bash + +# Refresh the ~/.config/chromium-flags.conf file from the Omarchy defaults. + +CONFIG_FILE="$HOME/.config/chromium-flags.conf" +INSTALL_GOOGLE_ACCOUNTS=false + +# Check if google accounts were installed +if [[ -f "$CONFIG_FILE" ]] && \ + grep -q -- "--oauth2-client-id" "$CONFIG_FILE" && \ + grep -q -- "--oauth2-client-secret" "$CONFIG_FILE"; then + INSTALL_GOOGLE_ACCOUNTS=true +fi + +# Refresh the Chromium configuration +omarchy-refresh-config chromium-flags.conf + +# Re-install Google accounts if previously configured +if [[ "$INSTALL_GOOGLE_ACCOUNTS" == true ]]; then + omarchy-install-chromium-google-account +fi diff --git a/bin/omarchy-refresh-config b/bin/omarchy-refresh-config index 99036c8e..f3692429 100755 --- a/bin/omarchy-refresh-config +++ b/bin/omarchy-refresh-config @@ -1,6 +1,8 @@ #!/bin/bash -# This script deploys ~/.local/share/omarchy/config/X/Y/Z -> ~/.config/X/Y/Z +# Copies the named config from ~/.local/share/omarchy/config/X/Y/Z -> ~/.config/X/Y/Z. +# If the config already exists, a backup of the existing will be taken as .bak.TIMESTAMP. + config_file=$1 if [[ -z "$config_file" ]]; then @@ -9,8 +11,8 @@ if [[ -z "$config_file" ]]; then Must provide a file path from the .config directory to be refreshed. To copy ~/.local/share/omarchy/config/hypr/hyprlock.conf to ~/.config/hypr/hyprlock.conf - - $0 hypr/hyprlock.conf + + $0 hypr/hyprlock.conf USAGE exit 1 fi diff --git a/bin/omarchy-refresh-fastfetch b/bin/omarchy-refresh-fastfetch index 879c327f..15587d3e 100755 --- a/bin/omarchy-refresh-fastfetch +++ b/bin/omarchy-refresh-fastfetch @@ -1,3 +1,5 @@ #!/bin/bash +# Overwrite the user config for fastfetch with the Omarchy default. + omarchy-refresh-config fastfetch/config.jsonc diff --git a/bin/omarchy-refresh-hypridle b/bin/omarchy-refresh-hypridle index f555f0f2..c2ade21d 100755 --- a/bin/omarchy-refresh-hypridle +++ b/bin/omarchy-refresh-hypridle @@ -1,4 +1,6 @@ #!/bin/bash +# Overwrite the user config for hypridle with the Omarchy default and restart the service. + omarchy-refresh-config hypr/hypridle.conf omarchy-restart-hypridle diff --git a/bin/omarchy-refresh-hyprland b/bin/omarchy-refresh-hyprland index 1f1ab0cc..10e02674 100755 --- a/bin/omarchy-refresh-hyprland +++ b/bin/omarchy-refresh-hyprland @@ -1,5 +1,7 @@ #!/bin/bash +# Overwrite all the user configs in ~/.config/hypr with the Omarchy defaults. + omarchy-refresh-config hypr/autostart.conf omarchy-refresh-config hypr/bindings.conf omarchy-refresh-config hypr/input.conf diff --git a/bin/omarchy-refresh-hyprlock b/bin/omarchy-refresh-hyprlock index fde6dc47..7d8575fc 100755 --- a/bin/omarchy-refresh-hyprlock +++ b/bin/omarchy-refresh-hyprlock @@ -1,3 +1,5 @@ #!/bin/bash +# Overwrite the user config for hyprlock with the Omarchy default. + omarchy-refresh-config hypr/hyprlock.conf diff --git a/bin/omarchy-refresh-hyprsunset b/bin/omarchy-refresh-hyprsunset index ca2ab1a6..1cbfc522 100755 --- a/bin/omarchy-refresh-hyprsunset +++ b/bin/omarchy-refresh-hyprsunset @@ -1,4 +1,6 @@ #!/bin/bash +# Overwrite the user config for hyprsunset with the Omarchy default and restart the service. +# omarchy-refresh-config hypr/hyprsunset.conf omarchy-restart-hyprsunset diff --git a/bin/omarchy-refresh-limine b/bin/omarchy-refresh-limine index 33adb097..61261634 100755 --- a/bin/omarchy-refresh-limine +++ b/bin/omarchy-refresh-limine @@ -1,5 +1,7 @@ #!/bin/bash +# Overwrite the user config for the Limine bootloader and rebuild it. + if [[ -f /boot/EFI/Linux/omarchy_linux.efi ]] && [[ -f /boot/EFI/Linux/$(cat /etc/machine-id)_linux.efi ]]; then echo "Cleanup extra UKI" sudo rm -f /boot/EFI/Linux/$(cat /etc/machine-id)_linux.efi @@ -8,27 +10,7 @@ echo "Resetting limine config" sudo mv /boot/limine.conf /boot/limine.conf.bak -sudo tee /boot/limine.conf </dev/null -### Read more at config document: https://github.com/limine-bootloader/limine/blob/trunk/CONFIG.md -#timeout: 3 -default_entry: 2 -interface_branding: Omarchy Bootloader -interface_branding_color: 2 -hash_mismatch_panic: no - -term_background: 1a1b26 -backdrop: 1a1b26 - -# Terminal colors (Tokyo Night palette) -term_palette: 15161e;f7768e;9ece6a;e0af68;7aa2f7;bb9af7;7dcfff;a9b1d6 -term_palette_bright: 414868;f7768e;9ece6a;e0af68;7aa2f7;bb9af7;7dcfff;c0caf5 - -# Text colors -term_foreground: c0caf5 -term_foreground_bright: c0caf5 -term_background_bright: 24283b - -EOF +sudo cp ~/.local/share/omarchy/default/limine/limine.conf /boot/limine.conf sudo limine-update sudo limine-snapper-sync diff --git a/bin/omarchy-refresh-pacman b/bin/omarchy-refresh-pacman index d9ab3d2a..3cffd226 100755 --- a/bin/omarchy-refresh-pacman +++ b/bin/omarchy-refresh-pacman @@ -1,18 +1,19 @@ #!/bin/bash +# Overwrite the package configuration for /etc/pacman with the Omarchy default of using its dedicated mirrors and repositories, then update all packages. +# This is used after switching between Omarchy release channels to ensure the right packages for the right channel are available. + # Take backup of existing files sudo cp -f /etc/pacman.conf /etc/pacman.conf.bak sudo cp -f /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak -sudo cp -f ~/.local/share/omarchy/default/pacman/pacman.conf /etc/pacman.conf - if [[ $1 == "edge" ]]; then + sudo cp -f ~/.local/share/omarchy/default/pacman/pacman-edge.conf /etc/pacman.conf sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist-edge /etc/pacman.d/mirrorlist - sudo sed -i 's|https://pkgs.omarchy.org/.*$arch|https://pkgs.omarchy.org/edge/$arch|' /etc/pacman.conf echo "Setting channel to edge" else + sudo cp -f ~/.local/share/omarchy/default/pacman/pacman-stable.conf /etc/pacman.conf sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist-stable /etc/pacman.d/mirrorlist - sudo sed -i 's|https://pkgs.omarchy.org/.*$arch|https://pkgs.omarchy.org/stable/$arch|' /etc/pacman.conf echo "Setting channel to stable" fi diff --git a/bin/omarchy-refresh-plymouth b/bin/omarchy-refresh-plymouth index fce86bf3..bdff7c7f 100755 --- a/bin/omarchy-refresh-plymouth +++ b/bin/omarchy-refresh-plymouth @@ -1,5 +1,7 @@ #!/bin/bash +# Overwrite the user config for the Plymouth drive decryption and boot sequence with the Omarchy default and rebuild it. + sudo cp ~/.local/share/omarchy/default/plymouth/* /usr/share/plymouth/themes/omarchy/ sudo plymouth-set-default-theme omarchy diff --git a/bin/omarchy-refresh-swayosd b/bin/omarchy-refresh-swayosd index 0dd7f0db..ab2fe56f 100755 --- a/bin/omarchy-refresh-swayosd +++ b/bin/omarchy-refresh-swayosd @@ -1,5 +1,7 @@ #!/bin/bash +# Overwrite the user configs for swayosd (controls on-screen feedback for changing volume/songs etc) with the Omarchy defaults and restart the service. + omarchy-refresh-config swayosd/config.toml omarchy-refresh-config swayosd/style.css omarchy-restart-swayosd diff --git a/bin/omarchy-refresh-walker b/bin/omarchy-refresh-walker index 09a47495..a08a29cc 100755 --- a/bin/omarchy-refresh-walker +++ b/bin/omarchy-refresh-walker @@ -1,8 +1,10 @@ #!/bin/bash +# Overwrite the user configs for the Walker application launcher (which also powers the Omarchy Menu) and restart the services. + # Ensure walker is set to autostart mkdir -p ~/.config/autostart/ -cp $OMARCHY_PATH/autostart/walker.desktop ~/.config/autostart/ +cp $OMARCHY_PATH/default/walker/walker.desktop ~/.config/autostart/ systemctl --user daemon-reload omarchy-refresh-config walker/config.toml diff --git a/bin/omarchy-refresh-waybar b/bin/omarchy-refresh-waybar index 3f6af499..1ea9f75c 100755 --- a/bin/omarchy-refresh-waybar +++ b/bin/omarchy-refresh-waybar @@ -1,5 +1,7 @@ #!/bin/bash +# Overwrite the user configs for the Waybar menu bar with the Omarchy defaults and restart the service. + omarchy-refresh-config waybar/config.jsonc omarchy-refresh-config waybar/style.css omarchy-restart-waybar diff --git a/bin/omarchy-reinstall b/bin/omarchy-reinstall index 52c826ca..edfab730 100755 --- a/bin/omarchy-reinstall +++ b/bin/omarchy-reinstall @@ -1,33 +1,14 @@ #!/bin/bash - set -e -if [ "$EUID" -eq 0 ]; then - echo "Error: This script should not be run as root" - exit 1 -fi +# Attempt to reinstall all default Omarchy packages and reset all the default configs. -echo -e "This will reinstall all the default Omarchy packages and reset all default configs.\nWarning: All changes to configs will be lost.\n" +echo -e "This will reinstall all the default Omarchy packages and reset all default configs.\nWarning: All user changes to configs will be lost.\n" if gum confirm "Are you sure you want to reinstall and lose all config changes?"; then - echo "Resetting Omarchy repository" - git clone "https://github.com/basecamp/omarchy.git" ~/.local/share/omarchy-new >/dev/null - rm -rf $OMARCHY_PATH - mv ~/.local/share/omarchy-new $OMARCHY_PATH + omarchy-reinstall-git + omarchy-reinstall-pkgs + omarchy-reinstall-configs - echo "Reinstalling missing Omarchy packages" - mapfile -t packages < <(grep -v '^#' "$OMARCHY_PATH/install/omarchy-base.packages" | grep -v '^$') - sudo pacman -Syu --noconfirm --needed "${packages[@]}" - - echo "Resetting all Omarchy configs" - cp -R ~/.local/share/omarchy/config/* ~/.config/ - cp ~/.local/share/omarchy/default/bashrc ~/.bashrc - echo '[[ -f ~/.bashrc ]] && . ~/.bashrc' | tee ~/.bash_profile >/dev/null - - $(bash $OMARCHY_PATH/install/config/theme.sh) - $(bash $OMARCHY_PATH/install/config/git.sh) - - omarchy-refresh-limine - omarchy-refresh-plymouth - omarchy-nvim-setup + gum confirm "System has been reinstalled. Reboot?" && omarchy-cmd-reboot fi diff --git a/bin/omarchy-reinstall-configs b/bin/omarchy-reinstall-configs new file mode 100755 index 00000000..d1a99c42 --- /dev/null +++ b/bin/omarchy-reinstall-configs @@ -0,0 +1,20 @@ +#!/bin/bash +set -e + +# Overwrite all user configs with the Omarchy defaults. + +if [ "$EUID" -eq 0 ]; then + echo "Error: This script should not be run as root" + exit 1 +fi + +echo "Resetting all Omarchy configs" +cp -R ~/.local/share/omarchy/config/* ~/.config/ +cp ~/.local/share/omarchy/default/bashrc ~/.bashrc +echo '[[ -f ~/.bashrc ]] && . ~/.bashrc' | tee ~/.bash_profile >/dev/null + +$(bash $OMARCHY_PATH/install/config/theme.sh) + +omarchy-refresh-limine +omarchy-refresh-plymouth +omarchy-nvim-setup diff --git a/bin/omarchy-reinstall-git b/bin/omarchy-reinstall-git new file mode 100755 index 00000000..26fab51d --- /dev/null +++ b/bin/omarchy-reinstall-git @@ -0,0 +1,8 @@ +#!/bin/bash +set -e + +# Reinstall the Omarchy configuration directory from the git source. + +git clone "https://github.com/basecamp/omarchy.git" ~/.local/share/omarchy-new >/dev/null +mv $OMARCHY_PATH ~/.local/share/omarchy-old +mv ~/.local/share/omarchy-new $OMARCHY_PATH diff --git a/bin/omarchy-reinstall-pkgs b/bin/omarchy-reinstall-pkgs new file mode 100755 index 00000000..d70d0643 --- /dev/null +++ b/bin/omarchy-reinstall-pkgs @@ -0,0 +1,14 @@ +#!/bin/bash +set -e + +# Reinstall all default Omarchy packages from the stable channel and downgrade any packages that are too new. + +# Set the package repository to the stable mirrors +omarchy-refresh-pacman + +# Downgrade any packages to the stable setup +sudo pacman -Suu --noconfirm + +# Ensure all packages are installed +mapfile -t packages < <(grep -v '^#' "$OMARCHY_PATH/install/omarchy-base.packages" | grep -v '^$') +sudo pacman -Syu --noconfirm --needed "${packages[@]}" diff --git a/bin/omarchy-remove-dev-env b/bin/omarchy-remove-dev-env new file mode 100755 index 00000000..d2320149 --- /dev/null +++ b/bin/omarchy-remove-dev-env @@ -0,0 +1,102 @@ +#!/bin/bash + +if [[ -z "$1" ]]; then + echo "Usage: omarchy-remove-dev-env " >&2 + exit 1 +fi + +remove_php() { + sudo pacman -Rns --noconfirm php composer php-sqlite xdebug 2>/dev/null || true +} + +case "$1" in +ruby) + echo -e "Removing Ruby...\n" + mise uninstall ruby --all + mise rm -g ruby + rm -f ~/.gemrc + ;; +node) + echo -e "Removing Node.js...\n" + mise uninstall node --all + mise rm -g node + ;; +bun) + echo -e "Removing Bun...\n" + mise uninstall bun --all + mise rm -g bun + ;; +deno) + echo -e "Removing Deno...\n" + mise uninstall deno --all + mise rm -g deno + ;; +go) + echo -e "Removing Go...\n" + mise uninstall go --all + mise rm -g go + ;; +php) + echo -e "Removing PHP...\n" + remove_php + ;; +laravel) + echo -e "Removing Laravel...\n" + composer global remove laravel/installer 2>/dev/null || true + ;; +symfony) + echo -e "Removing Symfony CLI...\n" + sudo pacman -Rns --noconfirm symfony-cli 2>/dev/null || true + ;; +python) + echo -e "Removing Python...\n" + mise uninstall python --all + mise rm -g python + rm -rf ~/.local/bin/uv ~/.local/bin/uvx ~/.cargo/bin/uv 2>/dev/null || true + ;; +elixir|phoenix) + echo -e "Removing Elixir/Erlang...\n" + mise uninstall elixir --all + mise uninstall erlang --all + mise rm -g elixir + mise rm -g erlang + ;; +zig) + echo -e "Removing Zig...\n" + mise uninstall zig --all + mise uninstall zls --all + mise rm -g zig + mise rm -g zls + ;; +rust) + echo -e "Removing Rust...\n" + rustup self uninstall -y 2>/dev/null || true + ;; +java) + echo -e "Removing Java...\n" + mise uninstall java --all + mise rm -g java + ;; +dotnet) + echo -e "Removing .NET...\n" + mise uninstall dotnet --all + mise rm -g dotnet + ;; +ocaml) + echo -e "Removing OCaml...\n" + opam switch remove default -y 2>/dev/null || true + rm -rf ~/.opam 2>/dev/null || true + sudo rm -f /usr/local/bin/opam 2>/dev/null || true + ;; +clojure) + echo -e "Removing Clojure...\n" + mise uninstall clojure --all + mise rm -g clojure + ;; +*) + echo "Unknown environment: $1" + exit 1 + ;; +esac + +echo -e "\nDone!" diff --git a/bin/omarchy-restart-btop b/bin/omarchy-restart-btop new file mode 100755 index 00000000..2de58537 --- /dev/null +++ b/bin/omarchy-restart-btop @@ -0,0 +1,5 @@ +#!/bin/bash + +# Reload btop configuration (used by the Omarchy theme switching). + +pkill -SIGUSR2 btop diff --git a/bin/omarchy-restart-hyprctl b/bin/omarchy-restart-hyprctl new file mode 100755 index 00000000..d8362c9f --- /dev/null +++ b/bin/omarchy-restart-hyprctl @@ -0,0 +1,5 @@ +#!/bin/bash + +# Reload hyprland configuration (used by the Omarchy theme switching). + +hyprctl reload >/dev/null diff --git a/bin/omarchy-restart-mako b/bin/omarchy-restart-mako new file mode 100755 index 00000000..f681a405 --- /dev/null +++ b/bin/omarchy-restart-mako @@ -0,0 +1,5 @@ +#!/bin/bash + +# Reload mako configuration (used by the Omarchy theme switching). + +makoctl reload diff --git a/bin/omarchy-restart-opencode b/bin/omarchy-restart-opencode new file mode 100755 index 00000000..2ff22d3e --- /dev/null +++ b/bin/omarchy-restart-opencode @@ -0,0 +1,5 @@ +#!/bin/bash + +# Reload opencode configuration (used by the Omarchy theme switching). + +killall -SIGUSR2 opencode diff --git a/bin/omarchy-restart-terminal b/bin/omarchy-restart-terminal index 6de616ed..69ec8da2 100755 --- a/bin/omarchy-restart-terminal +++ b/bin/omarchy-restart-terminal @@ -4,10 +4,10 @@ if [[ -f ~/.config/alacritty/alacritty.toml ]]; then touch ~/.config/alacritty/alacritty.toml fi -if pgrep -x kitty; then - killall -SIGUSR1 kitty +if pgrep -x kitty >/dev/null; then + killall -SIGUSR1 kitty >/dev/null fi -if pgrep -x ghostty; then +if pgrep -x ghostty >/dev/null; then killall -SIGUSR2 ghostty fi diff --git a/bin/omarchy-restart-walker b/bin/omarchy-restart-walker index 82c366c2..2efb9d53 100755 --- a/bin/omarchy-restart-walker +++ b/bin/omarchy-restart-walker @@ -1,18 +1,22 @@ #!/bin/bash -# Detect if we're running as root (from pacman hook) +restart_services() { + if systemctl --user is-enabled elephant.service &>/dev/null; then + systemctl --user restart elephant.service + fi + + if systemctl --user is-enabled app-walker@autostart.service &>/dev/null; then + systemctl --user restart app-walker@autostart.service + else + echo -e "\e[31mUnable to restart Walker -- RESTART MANUALLY\e[0m" + fi +} + if [[ $EUID -eq 0 ]]; then - # Get the owner of this script to determine which user to run as SCRIPT_OWNER=$(stat -c '%U' "$0") USER_UID=$(id -u "$SCRIPT_OWNER") - - # Restart services as the script owner systemd-run --uid="$SCRIPT_OWNER" --setenv=XDG_RUNTIME_DIR="/run/user/$USER_UID" \ - bash -c " - systemctl --user restart elephant.service - systemctl --user restart app-walker@autostart.service - " + bash -c "$(declare -f restart_services); restart_services" else - systemctl --user restart elephant.service - systemctl --user restart app-walker@autostart.service + restart_services fi diff --git a/bin/omarchy-setup-fingerprint b/bin/omarchy-setup-fingerprint index 5319fdae..105234ff 100755 --- a/bin/omarchy-setup-fingerprint +++ b/bin/omarchy-setup-fingerprint @@ -20,7 +20,11 @@ print_info() { } check_fingerprint_hardware() { - if ! lsusb | grep -Eiq 'fingerprint|synaptics|goodix|elan|validity|FPC'; then + # Get fingerprint devices for the user + devices=$(fprintd-list "$USER" 2>/dev/null) + + # Exit if no devices found + if [[ -z "$devices" ]]; then print_error "\nNo fingerprint sensor detected." return 1 fi diff --git a/bin/omarchy-theme-bg-install b/bin/omarchy-theme-bg-install new file mode 100755 index 00000000..2ba2cb8b --- /dev/null +++ b/bin/omarchy-theme-bg-install @@ -0,0 +1,7 @@ +#!/bin/bash + +CURRENT_THEME_NAME=$(cat "$HOME/.config/omarchy/current/theme.name") +THEME_USER_BACKGROUNDS="$HOME/.config/omarchy/backgrounds/$CURRENT_THEME_NAME" + +mkdir -p "$THEME_USER_BACKGROUNDS" +nautilus "$THEME_USER_BACKGROUNDS" diff --git a/bin/omarchy-theme-bg-next b/bin/omarchy-theme-bg-next index 52c1355e..e073db5c 100755 --- a/bin/omarchy-theme-bg-next +++ b/bin/omarchy-theme-bg-next @@ -2,10 +2,12 @@ # Cycles through the background images available -BACKGROUNDS_DIR="$HOME/.config/omarchy/current/theme/backgrounds/" +THEME_NAME=$(cat "$HOME/.config/omarchy/current/theme.name" 2>/dev/null) +THEME_BACKGROUNDS_PATH="$HOME/.config/omarchy/current/theme/backgrounds/" +USER_BACKGROUNDS_PATH="$HOME/.config/omarchy/backgrounds/$THEME_NAME/" CURRENT_BACKGROUND_LINK="$HOME/.config/omarchy/current/background" -mapfile -d '' -t BACKGROUNDS < <(find -L "$BACKGROUNDS_DIR" -type f -print0 | sort -z) +mapfile -d '' -t BACKGROUNDS < <(find -L "$USER_BACKGROUNDS_PATH" "$THEME_BACKGROUNDS_PATH" -maxdepth 1 -type f -print0 2>/dev/null | sort -z) TOTAL=${#BACKGROUNDS[@]} if [[ $TOTAL -eq 0 ]]; then diff --git a/bin/omarchy-theme-current b/bin/omarchy-theme-current index 40350c53..fc2dab31 100755 --- a/bin/omarchy-theme-current +++ b/bin/omarchy-theme-current @@ -1,3 +1,9 @@ #!/bin/bash -basename "$(realpath "$HOME/.config/omarchy/current/theme")" | sed -E 's/(^|-)([a-z])/\1\u\2/g; s/-/ /g' +THEME_NAME_PATH="$HOME/.config/omarchy/current/theme.name" + +if [[ -f $THEME_NAME_PATH ]]; then + cat $THEME_NAME_PATH | sed -E 's/(^|-)([a-z])/\1\u\2/g; s/-/ /g' +else + echo "Unknown" +fi diff --git a/bin/omarchy-theme-list b/bin/omarchy-theme-list index 944979f4..08678288 100755 --- a/bin/omarchy-theme-list +++ b/bin/omarchy-theme-list @@ -1,5 +1,8 @@ #!/bin/bash -find ~/.config/omarchy/themes/ -mindepth 1 -maxdepth 1 \( -type d -o -type l \) | sort | while read -r path; do - echo "$(basename "$path" | sed -E 's/(^|-)([a-z])/\1\u\2/g; s/-/ /g')" +{ + find ~/.config/omarchy/themes/ -mindepth 1 -maxdepth 1 \( -type d -o -type l \) -printf '%f\n' + find "$OMARCHY_PATH/themes/" -mindepth 1 -maxdepth 1 -type d -printf '%f\n' +} | sort -u | while read -r name; do + echo "$name" | sed -E 's/(^|-)([a-z])/\1\u\2/g; s/-/ /g' done diff --git a/bin/omarchy-theme-next b/bin/omarchy-theme-next deleted file mode 100755 index eb97d907..00000000 --- a/bin/omarchy-theme-next +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash - -THEMES_DIR="$HOME/.config/omarchy/themes/" -CURRENT_THEME_LINK="$HOME/.config/omarchy/current/theme" - -THEMES=($(find "$THEMES_DIR" -mindepth 1 -maxdepth 1 | sort)) -TOTAL=${#THEMES[@]} - -# Get current theme from symlink -if [[ -L "$CURRENT_THEME_LINK" ]]; then - CURRENT_THEME=$(realpath "$CURRENT_THEME_LINK") -else - # Default to first theme if no symlink exists - CURRENT_THEME=$(realpath "${THEMES[0]}") -fi - -# Find current theme index -INDEX=0 -for i in "${!THEMES[@]}"; do - THEMES[$i]=$(realpath "${THEMES[$i]}") - - if [[ "${THEMES[$i]}" == "$CURRENT_THEME" ]]; then - INDEX=$i - break - fi -done - -# Get next theme (wrap around) -NEXT_INDEX=$(((INDEX + 1) % TOTAL)) -NEW_THEME=${THEMES[$NEXT_INDEX]} -NEW_THEME_NAME=$(basename "$NEW_THEME") - -omarchy-theme-set $NEW_THEME_NAME -notify-send "Theme changed to $NEW_THEME_NAME" -t 2000 diff --git a/bin/omarchy-theme-remove b/bin/omarchy-theme-remove index 21959454..ee51d809 100755 --- a/bin/omarchy-theme-remove +++ b/bin/omarchy-theme-remove @@ -31,10 +31,5 @@ if [ ! -d "$THEME_PATH" ]; then exit 1 fi -# Move to the next theme if the current theme is the one being removed -if [ "$(readlink -f "$CURRENT_DIR/theme")" = "$(readlink -f "$THEME_PATH")" ]; then - omarchy-theme-next -fi - # Now remove the theme directory for THEME_NAME rm -rf "$THEME_PATH" diff --git a/bin/omarchy-theme-set b/bin/omarchy-theme-set index 40404265..4132d3b8 100755 --- a/bin/omarchy-theme-set +++ b/bin/omarchy-theme-set @@ -1,24 +1,42 @@ #!/bin/bash -if [[ -z $1 && $1 != "CNCLD" ]]; then +if [[ -z $1 ]]; then echo "Usage: omarchy-theme-set " exit 1 fi -THEMES_DIR="$HOME/.config/omarchy/themes/" -CURRENT_THEME_DIR="$HOME/.config/omarchy/current/theme" +CURRENT_THEME_PATH="$HOME/.config/omarchy/current/theme" +NEXT_THEME_PATH="$HOME/.config/omarchy/current/next-theme" +USER_THEMES_PATH="$HOME/.config/omarchy/themes" +OMARCHY_THEMES_PATH="$OMARCHY_PATH/themes" THEME_NAME=$(echo "$1" | sed -E 's/<[^>]+>//g' | tr '[:upper:]' '[:lower:]' | tr ' ' '-') -THEME_PATH="$THEMES_DIR/$THEME_NAME" -# Check if the theme entered exists -if [[ ! -d "$THEME_PATH" ]]; then - echo "Theme '$THEME_NAME' does not exist in $THEMES_DIR" +if [[ -d "$USER_THEMES_PATH/$THEME_NAME" ]]; then + THEME_PATH="$USER_THEMES_PATH/$THEME_NAME" +elif [[ -d "$OMARCHY_THEMES_PATH/$THEME_NAME" ]]; then + THEME_PATH="$OMARCHY_THEMES_PATH/$THEME_NAME" +else + echo "Theme '$THEME_NAME' does not exist" exit 1 fi -# Update theme symlinks -ln -nsf "$THEME_PATH" "$CURRENT_THEME_DIR" +# Setup clean next theme directory (for atomic theme config swapping) +rm -rf "$NEXT_THEME_PATH" +mkdir -p "$NEXT_THEME_PATH" + +# Copy static configs +cp -r "$THEME_PATH/"* "$NEXT_THEME_PATH/" 2>/dev/null + +# Generate dynamic configs +omarchy-theme-set-templates + +# Swap next theme in as current +rm -rf "$CURRENT_THEME_PATH" +mv "$NEXT_THEME_PATH" "$CURRENT_THEME_PATH" + +# Store theme name for reference +echo "$THEME_NAME" > "$HOME/.config/omarchy/current/theme.name" # Change background with theme omarchy-theme-bg-next @@ -29,14 +47,16 @@ if pgrep -x waybar >/dev/null; then fi omarchy-restart-swayosd omarchy-restart-terminal -hyprctl reload -pkill -SIGUSR2 btop -makoctl reload +omarchy-restart-hyprctl +omarchy-restart-btop +omarchy-restart-opencode +omarchy-restart-mako -# Change gnome, browser, vscode, cursor themes +# Change app-specific themes omarchy-theme-set-gnome omarchy-theme-set-browser omarchy-theme-set-vscode +omarchy-theme-set-vscodium omarchy-theme-set-cursor omarchy-theme-set-obsidian diff --git a/bin/omarchy-theme-set-browser b/bin/omarchy-theme-set-browser index 00afa68f..0b4eff6a 100755 --- a/bin/omarchy-theme-set-browser +++ b/bin/omarchy-theme-set-browser @@ -14,17 +14,17 @@ if omarchy-cmd-present chromium || omarchy-cmd-present helium-browser || omarchy if omarchy-cmd-present chromium; then rm -f /etc/chromium/policies/managed/color.json - chromium --no-startup-window --set-theme-color="$THEME_RGB_COLOR" + chromium --no-startup-window --set-theme-color="$THEME_RGB_COLOR" >/dev/null if [[ -f ~/.config/omarchy/current/theme/light.mode ]]; then - chromium --no-startup-window --set-color-scheme="light" + chromium --no-startup-window --set-color-scheme="light" >/dev/null else - chromium --no-startup-window --set-color-scheme="dark" + chromium --no-startup-window --set-color-scheme="dark" >/dev/null fi fi if omarchy-cmd-present brave; then echo "{\"BrowserThemeColor\": \"$THEME_HEX_COLOR\"}" | tee "/etc/brave/policies/managed/color.json" >/dev/null - brave --refresh-platform-policy --no-startup-window + brave --refresh-platform-policy --no-startup-window >/dev/null fi fi diff --git a/bin/omarchy-theme-set-cursor b/bin/omarchy-theme-set-cursor index 2db672e1..18b962bc 100755 --- a/bin/omarchy-theme-set-cursor +++ b/bin/omarchy-theme-set-cursor @@ -1,4 +1,4 @@ #!/bin/bash # Call the VSCode theme setter with Cursor-specific parameters -omarchy-theme-set-vscode cursor "$HOME/.config/Cursor/User/settings.json" "$HOME/.local/state/omarchy/toggles/skip-cursor-theme-changes" Cursor +omarchy-theme-set-vscode cursor "$HOME/.config/Cursor/User/settings.json" "$HOME/.local/state/omarchy/toggles/skip-cursor-theme-changes" diff --git a/bin/omarchy-theme-set-obsidian b/bin/omarchy-theme-set-obsidian index 83980f6b..6906b28d 100755 --- a/bin/omarchy-theme-set-obsidian +++ b/bin/omarchy-theme-set-obsidian @@ -652,9 +652,6 @@ if [ "${1:-}" = "--reset" ]; then exit 0 fi -# Main update logic -echo "🔄 Updating Obsidian vaults..." - # Step 1: ensure registry exists (bootstrap if needed) ensure_vaults_file @@ -676,9 +673,7 @@ while IFS= read -r vault_path || [ -n "$vault_path" ]; do # Step 3: update theme.css if [ -f "$CURRENT_THEME_DIR/obsidian.css" ]; then cp "$CURRENT_THEME_DIR/obsidian.css" "$THEME_DIR/theme.css" - echo " ✅ $vault_name (custom theme)" else extract_theme_data >"$THEME_DIR/theme.css" - echo " ✅ $vault_name (generated theme)" fi done <"$VAULTS_FILE" diff --git a/bin/omarchy-theme-set-templates b/bin/omarchy-theme-set-templates new file mode 100755 index 00000000..e49bdb50 --- /dev/null +++ b/bin/omarchy-theme-set-templates @@ -0,0 +1,47 @@ +#!/bin/bash + +TEMPLATES_DIR="$OMARCHY_PATH/default/themed" +USER_TEMPLATES_DIR="$HOME/.config/omarchy/themed" +NEXT_THEME_DIR="$HOME/.config/omarchy/current/next-theme" +COLORS_FILE="$NEXT_THEME_DIR/colors.toml" + +# Convert hex color to decimal RGB (e.g., "#1e1e2e" -> "30,30,46") +hex_to_rgb() { + local hex="${1#\#}" + printf "%d,%d,%d" "0x${hex:0:2}" "0x${hex:2:2}" "0x${hex:4:2}" +} + +# Only generate dynamic templates for themes with a colors.toml definition +if [[ -f $COLORS_FILE ]]; then + # Parse TOML using yq (treating it as YAML since the flat key=value structure is compatible) + # We convert 'key = value' to 'key: value' to make it valid YAML, then use yq/jq to generate the replacement commands. + sed_script=$(mktemp) + + # Generate standard and _strip substitutions + sed 's/=/:/' "$COLORS_FILE" | yq -r 'to_entries[] | "s|{{ \(.key) }}|\(.value)|g", "s|{{ \(.key)_strip }}|\(.value | sub("^#";""))|g"' > "$sed_script" + + # Generate _rgb substitutions for hex colors + while IFS='=' read -r key value; do + key=$(echo "$key" | xargs) + value=$(echo "$value" | xargs | tr -d '"') + if [[ $value =~ ^# ]]; then + rgb=$(hex_to_rgb "$value") + echo "s|{{ ${key}_rgb }}|${rgb}|g" >> "$sed_script" + fi + done < "$COLORS_FILE" + + shopt -s nullglob + + # Process user templates first, then built-in templates (user overrides built-in) + for tpl in "$USER_TEMPLATES_DIR"/*.tpl "$TEMPLATES_DIR"/*.tpl; do + filename=$(basename "$tpl" .tpl) + output_path="$NEXT_THEME_DIR/$filename" + + # Don't overwrite configs already exists in the output directory (copied from theme specific folder) + if [[ ! -f $output_path ]]; then + sed -f "$sed_script" "$tpl" > "$output_path" + fi + done + + rm "$sed_script" +fi diff --git a/bin/omarchy-theme-set-vscode b/bin/omarchy-theme-set-vscode index c04010ca..31f95bf1 100755 --- a/bin/omarchy-theme-set-vscode +++ b/bin/omarchy-theme-set-vscode @@ -7,8 +7,6 @@ EDITOR_CMD="${1:-code}" SETTINGS_PATH="${2:-$HOME/.config/Code/User/settings.json}" SKIP_FLAG="${3:-$HOME/.local/state/omarchy/toggles/skip-vscode-theme-changes}" -EDITOR_NAME="${4:-VS Code}" - VS_CODE_THEME="$HOME/.config/omarchy/current/theme/vscode.json" if omarchy-cmd-present "$EDITOR_CMD" && [[ ! -f "$SKIP_FLAG" ]]; then @@ -16,7 +14,7 @@ if omarchy-cmd-present "$EDITOR_CMD" && [[ ! -f "$SKIP_FLAG" ]]; then theme_name=$(jq -r '.name' "$VS_CODE_THEME") extension=$(jq -r '.extension' "$VS_CODE_THEME") - # Install $EDITOR_NAME theme extension + # Install theme extension if [[ -n "$extension" ]] && ! "$EDITOR_CMD" --list-extensions | grep -Fxq "$extension"; then "$EDITOR_CMD" --install-extension "$extension" >/dev/null fi @@ -39,7 +37,7 @@ if omarchy-cmd-present "$EDITOR_CMD" && [[ ! -f "$SKIP_FLAG" ]]; then "s/(\"workbench.colorTheme\"[[:space:]]*:[[:space:]]*\")[^\"]*(\")/\1$theme_name\2/" \ "$SETTINGS_PATH" else - # Remove theme from settings.json when the theme doesn't have $EDITOR_NAME support + # Remove theme from settings.json when the theme doesn't have editor support if [[ -f "$SETTINGS_PATH" ]]; then sed -i --follow-symlinks -E 's/\"workbench\.colorTheme\"[[:space:]]*:[^,}]*,?//' "$SETTINGS_PATH" fi diff --git a/bin/omarchy-theme-set-vscodium b/bin/omarchy-theme-set-vscodium new file mode 100755 index 00000000..3d955c02 --- /dev/null +++ b/bin/omarchy-theme-set-vscodium @@ -0,0 +1,4 @@ +#!/bin/bash + +# Call the VSCode theme setter with VSCodium-specific parameters +omarchy-theme-set-vscode codium "$HOME/.config/VSCodium/User/settings.json" "$HOME/.local/state/omarchy/toggles/skip-codium-theme-changes" diff --git a/bin/omarchy-toggle-suspend b/bin/omarchy-toggle-suspend new file mode 100755 index 00000000..a2464528 --- /dev/null +++ b/bin/omarchy-toggle-suspend @@ -0,0 +1,13 @@ +#!/bin/bash + +STATE_FILE=~/.local/state/omarchy/toggles/suspend-on + +if [[ ! -f $STATE_FILE ]]; then + mkdir -p "$(dirname $STATE_FILE)" + touch $STATE_FILE + notify-send "󰒲 Suspend now available in system menu" +else + mkdir -p "$(dirname $STATE_FILE)" + rm -f $STATE_FILE + notify-send "󰒲 Suspend removed from system menu" +fi diff --git a/bin/omarchy-tui-install b/bin/omarchy-tui-install index 657b70a6..ebd3dfa1 100755 --- a/bin/omarchy-tui-install +++ b/bin/omarchy-tui-install @@ -1,5 +1,7 @@ #!/bin/bash +set -e + if [ "$#" -ne 4 ]; then echo -e "\e[32mLet's create a TUI shortcut you can start with the app launcher.\n\e[0m" APP_NAME=$(gum input --prompt "Name> " --placeholder "My TUI") diff --git a/bin/omarchy-tui-remove b/bin/omarchy-tui-remove index 91e6f6bc..e436776b 100755 --- a/bin/omarchy-tui-remove +++ b/bin/omarchy-tui-remove @@ -1,5 +1,7 @@ #!/bin/bash +set -e + ICON_DIR="$HOME/.local/share/applications/icons" DESKTOP_DIR="$HOME/.local/share/applications/" diff --git a/bin/omarchy-update b/bin/omarchy-update index bab341fb..7b800005 100755 --- a/bin/omarchy-update +++ b/bin/omarchy-update @@ -5,7 +5,6 @@ set -e trap 'echo ""; echo -e "\033[0;31mSomething went wrong during the update!\n\nPlease review the output above carefully, correct the error, and retry the update.\n\nIf you need assistance, get help from the community at https://omarchy.org/discord\033[0m"' ERR if [[ $1 == "-y" ]] || omarchy-update-confirm; then - omarchy-update-without-idle omarchy-snapshot create || [ $? -eq 127 ] omarchy-update-git omarchy-update-perform diff --git a/bin/omarchy-update-git b/bin/omarchy-update-git index 3eca676f..8fef3a19 100755 --- a/bin/omarchy-update-git +++ b/bin/omarchy-update-git @@ -5,4 +5,4 @@ set -e echo -e "\e[32mUpdate Omarchy\e[0m" git -C $OMARCHY_PATH pull --autostash -git -C $OMARCHY_PATH diff --check || git -C $OMARCHY_PATH reset --merge +git -C $OMARCHY_PATH --no-pager diff --check || git -C $OMARCHY_PATH reset --merge diff --git a/bin/omarchy-update-perform b/bin/omarchy-update-perform index f2b7ddc0..82946cfd 100755 --- a/bin/omarchy-update-perform +++ b/bin/omarchy-update-perform @@ -2,6 +2,10 @@ set -e +# Ensure screensaver/sleep doesn't set in during updates +hyprctl dispatch tagwindow +noidle &> /dev/null || true + +# Perform all update steps omarchy-update-time omarchy-update-keyring omarchy-update-available-reset @@ -9,3 +13,6 @@ omarchy-update-system-pkgs omarchy-migrate omarchy-hook post-update omarchy-update-restart + +# Re-enable screensaver/sleep after updates +hyprctl dispatch tagwindow -- -noidle &> /dev/null || true diff --git a/bin/omarchy-update-restart b/bin/omarchy-update-restart index 2811e937..b6b73afe 100755 --- a/bin/omarchy-update-restart +++ b/bin/omarchy-update-restart @@ -1,10 +1,10 @@ #!/bin/bash if [ "$(uname -r | sed 's/-arch/\.arch/')" != "$(pacman -Q linux | awk '{print $2}')" ]; then - gum confirm "Linux kernel has been updated. Reboot?" && omarchy-state clear re*-required && sudo reboot now + gum confirm "Linux kernel has been updated. Reboot?" && omarchy-cmd-reboot elif [ -f "$HOME/.local/state/omarchy/reboot-required" ]; then - gum confirm "Updates require reboot. Ready?" && omarchy-state clear re*-required && sudo reboot now + gum confirm "Updates require reboot. Ready?" && omarchy-cmd-reboot fi for file in "$HOME"/.local/state/omarchy/restart-*-required; do diff --git a/bin/omarchy-update-without-idle b/bin/omarchy-update-without-idle index d1892373..20d1ef10 100755 --- a/bin/omarchy-update-without-idle +++ b/bin/omarchy-update-without-idle @@ -1,4 +1,5 @@ #!/bin/bash -# Ensure screensaver/sleep doesn't set in during updates -hyprctl dispatch tagwindow +noidle &> /dev/null +# No-op now that omarchy-update-perform is responsible for idle management. +# But this file can't be removed since it was referenced in old omarchy-update files, +# which would fail if this file is missing. diff --git a/bin/omarchy-voxtype-config b/bin/omarchy-voxtype-config new file mode 100755 index 00000000..78a3254f --- /dev/null +++ b/bin/omarchy-voxtype-config @@ -0,0 +1,6 @@ +#!/bin/bash +set -e + +# Used by Voxtype waybar module to open config on right click + +exec omarchy-launch-editor ~/.config/voxtype/config.toml diff --git a/bin/omarchy-voxtype-install b/bin/omarchy-voxtype-install new file mode 100755 index 00000000..6522cde5 --- /dev/null +++ b/bin/omarchy-voxtype-install @@ -0,0 +1,18 @@ +#!/bin/bash +set -e + +# Install voxtype and configure it for use. + +if gum confirm "Install Voxtype + AI model (~150MB) to enable dictation?"; then + omarchy-pkg-add wtype voxtype-bin + + # Setup voxtype + mkdir -p ~/.config/voxtype + cp $OMARCHY_PATH/default/voxtype/config.toml ~/.config/voxtype/ + + voxtype setup --download --no-post-install + voxtype setup systemd + + omarchy-restart-waybar + notify-send " Voxtype Dictation Ready" "Hold Super + Ctrl + X to dictate.\nEdit ~/.config/voxtype/config.toml for options." -t 10000 +fi diff --git a/bin/omarchy-voxtype-model b/bin/omarchy-voxtype-model new file mode 100755 index 00000000..b58047d4 --- /dev/null +++ b/bin/omarchy-voxtype-model @@ -0,0 +1,5 @@ +#!/bin/bash +set -e + +omarchy-launch-floating-terminal-with-presentation "voxtype setup model" +omarchy-restart-waybar diff --git a/bin/omarchy-voxtype-remove b/bin/omarchy-voxtype-remove new file mode 100755 index 00000000..b2083d15 --- /dev/null +++ b/bin/omarchy-voxtype-remove @@ -0,0 +1,20 @@ +#!/bin/bash +set -e + +# Remove voxtype and its configurations. + +if omarchy-cmd-present voxtype; then + echo "Uninstall Voxtype to remove dictation." + + # Remove services + systemctl --user stop voxtype.service 2>/dev/null || true + rm -f ~/.config/systemd/user/voxtype* + systemctl --user daemon-reload + + # Remove packages and configs + omarchy-pkg-drop wtype voxtype-bin + rm -rf ~/.config/voxtype + rm -rf ~/.local/share/voxtype +else + echo "Voxtype was not installed." +fi diff --git a/bin/omarchy-voxtype-status b/bin/omarchy-voxtype-status new file mode 100755 index 00000000..039ebca7 --- /dev/null +++ b/bin/omarchy-voxtype-status @@ -0,0 +1,9 @@ +#!/bin/bash + +if omarchy-cmd-present voxtype; then + voxtype status --follow --extended --format json | while read -r line; do + echo "$line" | jq -c '. + {alt: .class}' + done +else + echo '{"alt": "", "tooltip": ""}' +fi diff --git a/bin/omarchy-webapp-install b/bin/omarchy-webapp-install index e954e842..a66dcabd 100755 --- a/bin/omarchy-webapp-install +++ b/bin/omarchy-webapp-install @@ -1,5 +1,7 @@ #!/bin/bash +set -e + if [ "$#" -lt 3 ]; then echo -e "\e[32mLet's create a new web app you can start with the app launcher.\n\e[0m" APP_NAME=$(gum input --prompt "Name> " --placeholder "My favorite web app") diff --git a/bin/omarchy-webapp-remove b/bin/omarchy-webapp-remove index a6f4ea46..2da36b54 100755 --- a/bin/omarchy-webapp-remove +++ b/bin/omarchy-webapp-remove @@ -1,5 +1,7 @@ #!/bin/bash +set -e + ICON_DIR="$HOME/.local/share/applications/icons" DESKTOP_DIR="$HOME/.local/share/applications/" diff --git a/bin/omarchy-windows-vm b/bin/omarchy-windows-vm index 3ef9eb11..f9034d48 100755 --- a/bin/omarchy-windows-vm +++ b/bin/omarchy-windows-vm @@ -254,6 +254,25 @@ remove_windows() { echo "Windows VM removal completed!" } +wait_for_rdp_ready() { + local WIN_USER="$1" + local WIN_PASS="$2" + local TIMEOUT=240 + local SECONDS=0 + + echo "Waiting for Windows VM to be ready..." + + while ! timeout 5s xfreerdp3 /auth-only /cert:ignore /u:"$WIN_USER" /p:"$WIN_PASS" /v:127.0.0.1:3389 &>/dev/null; do + sleep 2 + if [ $SECONDS -gt $TIMEOUT ]; then + echo "❌ Timeout waiting for RDP!" + echo " The VM might still be installing Windows." + echo " Check progress at: http://127.0.0.1:8006" + return 1 + fi + done +} + launch_windows() { KEEP_ALIVE=false if [ "$1" = "--keep-alive" ] || [ "$1" = "-k" ]; then @@ -266,6 +285,14 @@ launch_windows() { exit 1 fi + # Extract credentials from compose file + WIN_USER=$(grep "USERNAME:" "$COMPOSE_FILE" | sed 's/.*USERNAME: "\(.*\)"/\1/') + WIN_PASS=$(grep "PASSWORD:" "$COMPOSE_FILE" | sed 's/.*PASSWORD: "\(.*\)"/\1/') + + # Use defaults if not found + [ -z "$WIN_USER" ] && WIN_USER="docker" + [ -z "$WIN_PASS" ] && WIN_PASS="admin" + # Check if container is already running CONTAINER_STATUS=$(docker inspect --format='{{.State.Status}}' omarchy-windows 2>/dev/null) @@ -282,32 +309,12 @@ launch_windows() { notify-send -u critical "Windows VM" "Failed to start Windows VM" exit 1 fi - - # Wait for RDP to be ready - echo "Waiting for Windows VM to be ready..." - WAIT_COUNT=0 - while ! nc -z 127.0.0.1 3389 2>/dev/null; do - sleep 2 - WAIT_COUNT=$((WAIT_COUNT + 1)) - if [ $WAIT_COUNT -gt 60 ]; then # 2 minutes timeout - echo "❌ Timeout waiting for RDP!" - echo " The VM might still be installing Windows." - echo " Check progress at: http://127.0.0.1:8006" - exit 1 - fi - done - - # Give it a moment more to fully initialize - sleep 5 fi - # Extract credentials from compose file - WIN_USER=$(grep "USERNAME:" "$COMPOSE_FILE" | sed 's/.*USERNAME: "\(.*\)"/\1/') - WIN_PASS=$(grep "PASSWORD:" "$COMPOSE_FILE" | sed 's/.*PASSWORD: "\(.*\)"/\1/') - - # Use defaults if not found - [ -z "$WIN_USER" ] && WIN_USER="docker" - [ -z "$WIN_PASS" ] && WIN_PASS="admin" + if ! wait_for_rdp_ready "$WIN_USER" "$WIN_PASS"; then + notify-send -u critical "Windows VM" "Did not come alive in time." + exit 1 + fi # Build the connection info if [ "$KEEP_ALIVE" = true ]; then diff --git a/boot.sh b/boot.sh index 9593f758..c36b0893 100755 --- a/boot.sh +++ b/boot.sh @@ -3,15 +3,15 @@ # Set install mode to online since boot.sh is used for curl installations export OMARCHY_ONLINE_INSTALL=true -ansi_art=' ▄▄▄ - ▄█████▄ ▄███████████▄ ▄███████ ▄███████ ▄███████ ▄█ █▄ ▄█ █▄ +ansi_art=' ▄▄▄ + ▄█████▄ ▄███████████▄ ▄███████ ▄███████ ▄███████ ▄█ █▄ ▄█ █▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███ ███ ███ ███ ███ ███ ███ ▄███▄▄▄███ ▄███▄▄▄██▀ ███ ▄███▄▄▄███▄ ███▄▄▄███ ███ ███ ███ ███ ███ ▀███▀▀▀███ ▀███▀▀▀▀ ███ ▀▀███▀▀▀███ ▀▀▀▀▀▀███ ███ ███ ███ ███ ███ ███ ███ ██████████ ███ █▄ ███ ███ ▄██ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ - ▀█████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ███████▀ ███ █▀ ▀█████▀ + ▀█████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ███████▀ ███ █▀ ▀█████▀ ███ █▀ ' clear @@ -35,5 +35,12 @@ if [[ $OMARCHY_REF != "master" ]]; then cd - fi +# Set edge mirror for dev installs +if [[ $OMARCHY_REF == "dev" ]]; then + export OMARCHY_MIRROR=edge +else + export OMARCHY_MIRROR=stable +fi + echo -e "\nInstallation starting..." source ~/.local/share/omarchy/install.sh diff --git a/config/hypr/bindings.conf b/config/hypr/bindings.conf index cb4c1ed2..cdb0118c 100644 --- a/config/hypr/bindings.conf +++ b/config/hypr/bindings.conf @@ -5,7 +5,6 @@ bindd = SUPER SHIFT, B, Browser, exec, omarchy-launch-browser bindd = SUPER SHIFT ALT, B, Browser (private), exec, omarchy-launch-browser --private bindd = SUPER SHIFT, M, Music, exec, omarchy-launch-or-focus spotify bindd = SUPER SHIFT, N, Editor, exec, omarchy-launch-editor -bindd = SUPER SHIFT, T, Activity, exec, omarchy-launch-tui btop bindd = SUPER SHIFT, D, Docker, exec, omarchy-launch-tui lazydocker bindd = SUPER SHIFT, G, Signal, exec, omarchy-launch-or-focus ^signal$ "uwsm-app -- signal-desktop" bindd = SUPER SHIFT, O, Obsidian, exec, omarchy-launch-or-focus ^obsidian$ "uwsm-app -- obsidian -disable-gpu --enable-wayland-ime" @@ -15,6 +14,7 @@ bindd = SUPER SHIFT, SLASH, Passwords, exec, uwsm-app -- 1password # If your web app url contains #, type it as ## to prevent hyprland treating it as a comment bindd = SUPER SHIFT, A, ChatGPT, exec, omarchy-launch-webapp "https://chatgpt.com" bindd = SUPER SHIFT ALT, A, Grok, exec, omarchy-launch-webapp "https://grok.com" +bindd = SUPER SHIFT CTRL, A, opencode, exec, omarchy-launch-opencode bindd = SUPER SHIFT, C, Calendar, exec, omarchy-launch-webapp "https://app.hey.com/calendar/weeks/" bindd = SUPER SHIFT, E, Email, exec, omarchy-launch-webapp "https://app.hey.com" bindd = SUPER SHIFT, Y, YouTube, exec, omarchy-launch-webapp "https://youtube.com/" diff --git a/config/hypr/hypridle.conf b/config/hypr/hypridle.conf index f2245a7a..d39c97fd 100644 --- a/config/hypr/hypridle.conf +++ b/config/hypr/hypridle.conf @@ -11,7 +11,7 @@ listener { } listener { - timeout = 300 # 5min + timeout = 151 # 5min on-timeout = loginctl lock-session # lock screen when timeout has passed } diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf index 4786e7e2..6478d1be 100644 --- a/config/hypr/hyprland.conf +++ b/config/hypr/hyprland.conf @@ -20,4 +20,4 @@ source = ~/.config/hypr/looknfeel.conf source = ~/.config/hypr/autostart.conf # Add any other personal Hyprland configuration below -# windowrule = workspace 5, class:qemu +# windowrule = workspace 5, match:class qemu diff --git a/config/hypr/input.conf b/config/hypr/input.conf index 4fce762a..c536e618 100644 --- a/config/hypr/input.conf +++ b/config/hypr/input.conf @@ -25,14 +25,17 @@ input { # Control the speed of your scrolling scroll_factor = 0.4 + # Enable the touchpad while typing + # disable_while_typing = false + # Left-click-and-drag with three fingers # drag_3fg = 1 } } # Scroll nicely in the terminal -windowrule = scrolltouchpad 1.5, class:(Alacritty|kitty) -windowrule = scrolltouchpad 0.2, class:com.mitchellh.ghostty +windowrule = match:class (Alacritty|kitty), scroll_touchpad 1.5 +windowrule = match:class com.mitchellh.ghostty, scroll_touchpad 0.2 # Enable touchpad gestures for changing workspaces # See https://wiki.hyprland.org/Configuring/Gestures/ diff --git a/config/omarchy/extensions/menu.sh b/config/omarchy/extensions/menu.sh new file mode 100644 index 00000000..743002ba --- /dev/null +++ b/config/omarchy/extensions/menu.sh @@ -0,0 +1,14 @@ +# Overwrite parts of the omarchy-menu with user-specific submenus. +# See $OMARCHY_PATH/bin/omarchy-menu for functions that can be overwritten. +# +# WARNING: Overwritten functions will obviously not be updated when Omarchy changes. +# +# Example of minimal system menu: +# +# show_system_menu() { +# case $(menu "System" " Lock\n󰐥 Shutdown") in +# *Lock*) omarchy-lock-screen ;; +# *Shutdown*) omarchy-cmd-shutdown ;; +# *) back_to show_main_menu ;; +# esac +# } diff --git a/config/omarchy/themed/alacritty.toml.tpl.sample b/config/omarchy/themed/alacritty.toml.tpl.sample new file mode 100644 index 00000000..951aba62 --- /dev/null +++ b/config/omarchy/themed/alacritty.toml.tpl.sample @@ -0,0 +1,88 @@ +# Omarchy User Template Example: Alacritty +# +# This is a sample template file demonstrating how to create custom themed +# configurations. Templates use placeholder variables that get replaced with +# your current theme's colors when you switch themes. +# +# HOW TO USE: +# 1. Rename this file to: alacritty.toml.tpl (remove the .sample extension) +# 2. Customize it as needed +# 3. Change your theme to apply the template +# +# User templates in ~/.config/omarchy/themed/ take priority over the built-in +# templates in the Omarchy default/themed/ directory. This lets you override +# any built-in template or create templates for applications not included +# by default. +# +# AVAILABLE VARIABLES: +# {{ background }} - Main background color (e.g., "#1a1b26") +# {{ foreground }} - Main foreground/text color +# {{ cursor }} - Cursor color +# {{ accent }} - Theme accent color +# {{ selection_background }} - Selection highlight background +# {{ selection_foreground }} - Selection highlight foreground +# {{ active_border_color }} - Active window/element border +# {{ active_tab_background }} - Active tab background +# +# {{ color0 }} through {{ color15 }} - Standard 16-color terminal palette +# color0-7: Normal colors (black, red, green, yellow, blue, magenta, cyan, white) +# color8-15: Bright variants +# +# VARIABLE MODIFIERS: +# {{ variable_strip }} - Hex color without the # prefix (e.g., "1a1b26") +# {{ variable_rgb }} - Decimal RGB values (e.g., "26,27,38") +# +# Example using modifiers: +# background = "{{ background }}" -> background = "#1a1b26" +# background = "{{ background_strip }}" -> background = "1a1b26" +# background = "rgb({{ background_rgb }})" -> background = "rgb(26,27,38)" +# +# --------------------------------------------------------------------------- + +[colors.primary] +background = "{{ background }}" +foreground = "{{ foreground }}" + +[colors.cursor] +text = "{{ background }}" +cursor = "{{ cursor }}" + +[colors.vi_mode_cursor] +text = "{{ background }}" +cursor = "{{ cursor }}" + +[colors.search.matches] +foreground = "{{ background }}" +background = "{{ color3 }}" + +[colors.search.focused_match] +foreground = "{{ background }}" +background = "{{ color1 }}" + +[colors.footer_bar] +foreground = "{{ background }}" +background = "{{ foreground }}" + +[colors.selection] +text = "{{ selection_foreground }}" +background = "{{ selection_background }}" + +[colors.normal] +black = "{{ color0 }}" +red = "{{ color1 }}" +green = "{{ color2 }}" +yellow = "{{ color3 }}" +blue = "{{ color4 }}" +magenta = "{{ color5 }}" +cyan = "{{ color6 }}" +white = "{{ color7 }}" + +[colors.bright] +black = "{{ color8 }}" +red = "{{ color9 }}" +green = "{{ color10 }}" +yellow = "{{ color11 }}" +blue = "{{ color12 }}" +magenta = "{{ color13 }}" +cyan = "{{ color14 }}" +white = "{{ color15 }}" diff --git a/config/opencode/opencode.json b/config/opencode/opencode.json new file mode 100644 index 00000000..a03a5cb0 --- /dev/null +++ b/config/opencode/opencode.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://opencode.ai/config.json", + "theme": "system" +} diff --git a/config/waybar/config.jsonc b/config/waybar/config.jsonc index 62863cb0..9100b4ca 100644 --- a/config/waybar/config.jsonc +++ b/config/waybar/config.jsonc @@ -5,7 +5,7 @@ "spacing": 0, "height": 26, "modules-left": ["custom/omarchy", "hyprland/workspaces"], - "modules-center": ["clock", "custom/update", "custom/screenrecording-indicator"], + "modules-center": ["clock", "custom/update", "custom/voxtype", "custom/screenrecording-indicator"], "modules-right": [ "group/tray-expander", "bluetooth", @@ -100,6 +100,7 @@ }, "bluetooth": { "format": "", + "format-off": "󰂲", "format-disabled": "󰂲", "format-connected": "󰂱", "format-no-controller": "", @@ -108,12 +109,13 @@ }, "pulseaudio": { "format": "{icon}", - "on-click": "omarchy-launch-or-focus-tui wiremix", + "on-click": "omarchy-launch-audio", "on-click-right": "pamixer -t", "tooltip-format": "Playing at {volume}%", "scroll-step": 5, "format-muted": "", "format-icons": { + "headphone": "", "default": ["", "", ""] } }, @@ -127,7 +129,11 @@ }, "custom/expand-icon": { "format": "", - "tooltip": false + "tooltip": false, + "on-scroll-up": "", + "on-scroll-down": "", + "on-scroll-left": "", + "on-scroll-right": "" }, "custom/screenrecording-indicator": { "on-click": "omarchy-cmd-screenrecord", @@ -135,6 +141,19 @@ "signal": 8, "return-type": "json" }, + "custom/voxtype": { + "exec": "omarchy-voxtype-status", + "return-type": "json", + "format": "{icon}", + "format-icons": { + "idle": "", + "recording": "󰍬", + "transcribing": "󰔟" + }, + "tooltip": true, + "on-click-right": "omarchy-voxtype-config", + "on-click": "omarchy-voxtype-model" + }, "tray": { "icon-size": 12, "spacing": 17 diff --git a/config/waybar/style.css b/config/waybar/style.css index 7b7a980e..19e934c2 100644 --- a/config/waybar/style.css +++ b/config/waybar/style.css @@ -74,10 +74,20 @@ tooltip { #custom-screenrecording-indicator { min-width: 12px; - margin-left: 8.75px; + margin-left: 5px; font-size: 10px; + padding-bottom: 1px; } #custom-screenrecording-indicator.active { color: #a55555; } + +#custom-voxtype { + min-width: 12px; + margin: 0 0 0 7.5px; +} + +#custom-voxtype.recording { + color: #a55555; +} diff --git a/default/bash/aliases b/default/bash/aliases index eabd0c62..8e485a35 100644 --- a/default/bash/aliases +++ b/default/bash/aliases @@ -31,6 +31,7 @@ alias ...='cd ../..' alias ....='cd ../../..' # Tools +alias c='opencode' alias d='docker' alias r='rails' n() { if [ "$#" -eq 0 ]; then nvim .; else nvim "$@"; fi; } diff --git a/default/chromium/extensions/copy-url/manifest.json b/default/chromium/extensions/copy-url/manifest.json index d1442a1e..3125369a 100644 --- a/default/chromium/extensions/copy-url/manifest.json +++ b/default/chromium/extensions/copy-url/manifest.json @@ -1,5 +1,5 @@ { - "manifest_version": 4, + "manifest_version": 3, "name": "Copy URL", "version": "1.0", "description": "Copy current URL to clipboard, this extension is installed by Omarchy", diff --git a/default/elephant/omarchy_themes.lua b/default/elephant/omarchy_themes.lua index 1f21d847..02baa0a9 100644 --- a/default/elephant/omarchy_themes.lua +++ b/default/elephant/omarchy_themes.lua @@ -4,67 +4,93 @@ Name = "omarchythemes" NamePretty = "Omarchy Themes" +-- Check if file exists using Lua (no subprocess) +local function file_exists(path) + local f = io.open(path, "r") + if f then + f:close() + return true + end + return false +end + +-- Get first matching file from directory using ls (single call for fallback) +local function first_image_in_dir(dir) + local handle = io.popen("ls -1 '" .. dir .. "' 2>/dev/null | head -n 1") + if handle then + local file = handle:read("*l") + handle:close() + if file and file ~= "" then + return dir .. "/" .. file + end + end + return nil +end + -- The main function elephant will call function GetEntries() local entries = {} - local theme_dir = os.getenv("HOME") .. "/.config/omarchy/themes" + local user_theme_dir = os.getenv("HOME") .. "/.config/omarchy/themes" + local omarchy_path = os.getenv("OMARCHY_PATH") or "" + local default_theme_dir = omarchy_path .. "/themes" - -- First, get all theme directories - local find_dirs_cmd = "find -L '" .. theme_dir .. "' -mindepth 1 -maxdepth 1 -type d 2>/dev/null" + local seen_themes = {} - local handle = io.popen(find_dirs_cmd) - if not handle then - return entries - end + -- Helper function to process themes from a directory + local function process_themes_from_dir(theme_dir) + -- Single find call to get all theme directories + local handle = io.popen("find -L '" .. theme_dir .. "' -mindepth 1 -maxdepth 1 -type d 2>/dev/null") + if not handle then + return + end - for theme_path in handle:lines() do - local theme_name = theme_path:match(".*/(.+)$") + for theme_path in handle:lines() do + local theme_name = theme_path:match(".*/(.+)$") - if theme_name then - -- find preview image - local find_preview_cmd = "find -L '" - .. theme_path - .. "' -maxdepth 1 -type f \\( -name 'preview.png' -o -name 'preview.jpg' \\) 2>/dev/null | head -n 1" - local preview_handle = io.popen(find_preview_cmd) - local preview_path = nil + if theme_name and not seen_themes[theme_name] then + seen_themes[theme_name] = true - if preview_handle then - preview_path = preview_handle:read("*l") - preview_handle:close() - end + -- Check for preview images directly (no subprocess) + local preview_path = nil + local preview_png = theme_path .. "/preview.png" + local preview_jpg = theme_path .. "/preview.jpg" - -- If no preview found, use first image from backgrounds folder - if not preview_path or preview_path == "" then - local bg_cmd = "find -L '" - .. theme_path - .. "/backgrounds' -maxdepth 1 -type f \\( -iname '*.png' -o -iname '*.jpg' -o -iname '*.jpeg' \\) 2>/dev/null | head -n 1" - local bg_handle = io.popen(bg_cmd) - if bg_handle then - preview_path = bg_handle:read("*l") - bg_handle:close() + if file_exists(preview_png) then + preview_path = preview_png + elseif file_exists(preview_jpg) then + preview_path = preview_jpg + else + -- Fallback: get first image from backgrounds (one ls call) + preview_path = first_image_in_dir(theme_path .. "/backgrounds") + end + + if preview_path and preview_path ~= "" then + local display_name = theme_name:gsub("_", " "):gsub("%-", " ") + display_name = display_name:gsub("(%a)([%w_']*)", function(first, rest) + return first:upper() .. rest:lower() + end) + display_name = display_name .. " " + + table.insert(entries, { + Text = display_name, + Preview = preview_path, + PreviewType = "file", + Actions = { + activate = "omarchy-theme-set " .. theme_name, + }, + }) end end - - if preview_path and preview_path ~= "" then - local display_name = theme_name:gsub("_", " "):gsub("%-", " ") - display_name = display_name:gsub("(%a)([%w_']*)", function(first, rest) - return first:upper() .. rest:lower() - end) - display_name = display_name .. " " - - table.insert(entries, { - Text = display_name, - Preview = preview_path, - PreviewType = "file", - Actions = { - activate = "omarchy-theme-set " .. theme_name, - }, - }) - end end + + handle:close() end - handle:close() + -- Process user themes first (they take precedence) + process_themes_from_dir(user_theme_dir) + -- Then process default themes (only if not already seen) + process_themes_from_dir(default_theme_dir) + return entries end diff --git a/default/hypr/apps/1password.conf b/default/hypr/apps/1password.conf index d5fc8888..a666430c 100644 --- a/default/hypr/apps/1password.conf +++ b/default/hypr/apps/1password.conf @@ -1,2 +1,2 @@ -windowrule = noscreenshare, class:^(1[p|P]assword)$ -windowrule = tag +floating-window, class:^(1[p|P]assword)$ +windowrule = no_screen_share on, match:class ^(1[p|P]assword)$ +windowrule = tag +floating-window, match:class ^(1[p|P]assword)$ diff --git a/default/hypr/apps/bitwarden.conf b/default/hypr/apps/bitwarden.conf index 4a6c5e6a..974aa28c 100644 --- a/default/hypr/apps/bitwarden.conf +++ b/default/hypr/apps/bitwarden.conf @@ -1,2 +1,2 @@ -windowrule = noscreenshare, class:^(Bitwarden)$ -windowrule = tag +floating-window, class:^(Bitwarden)$ \ No newline at end of file +windowrule = no_screen_share on, match:class ^(Bitwarden)$ +windowrule = tag +floating-window, match:class ^(Bitwarden)$ diff --git a/default/hypr/apps/browser.conf b/default/hypr/apps/browser.conf index ad278edd..2b44576b 100644 --- a/default/hypr/apps/browser.conf +++ b/default/hypr/apps/browser.conf @@ -1,13 +1,13 @@ # Browser types -windowrule = tag +chromium-based-browser, class:((google-)?[cC]hrom(e|ium)|[bB]rave-browser|[mM]icrosoft-edge|Vivaldi-stable|helium) -windowrule = tag +firefox-based-browser, class:([fF]irefox|zen|librewolf) +windowrule = tag +chromium-based-browser, match:class ((google-)?[cC]hrom(e|ium)|[bB]rave-browser|[mM]icrosoft-edge|Vivaldi-stable|helium) +windowrule = tag +firefox-based-browser, match:class ([fF]irefox|zen|librewolf) # Force chromium-based browsers into a tile to deal with --app bug -windowrule = tile, tag:chromium-based-browser +windowrule = tile on, match:tag chromium-based-browser # Only a subtle opacity change, but not for video sites -windowrule = opacity 1 0.97, tag:chromium-based-browser -windowrule = opacity 1 0.97, tag:firefox-based-browser +windowrule = opacity 1 0.97, match:tag chromium-based-browser +windowrule = opacity 1 0.97, match:tag firefox-based-browser # Some video sites should never have opacity applied to them -windowrule = opacity 1.0 1.0, initialTitle:((?i)(?:[a-z0-9-]+\.)*youtube\.com_/|app\.zoom\.us_/wc/home) +windowrule = opacity 1.0 1.0, match:initial_title ((?i)(?:[a-z0-9-]+\.)*youtube\.com_/|app\.zoom\.us_/wc/home) diff --git a/default/hypr/apps/davinci-resolve.conf b/default/hypr/apps/davinci-resolve.conf index 33b04f2f..9067fdf6 100644 --- a/default/hypr/apps/davinci-resolve.conf +++ b/default/hypr/apps/davinci-resolve.conf @@ -1,2 +1,2 @@ # Focus floating DaVinci Resolve dialog windows -windowrule = stayfocused, class:.*[Rr]esolve.*, floating:1 +windowrule = stay_focused on, match:class .*[Rr]esolve.*, match:float 1 diff --git a/default/hypr/apps/hyprshot.conf b/default/hypr/apps/hyprshot.conf index c9003208..795ac396 100644 --- a/default/hypr/apps/hyprshot.conf +++ b/default/hypr/apps/hyprshot.conf @@ -1,2 +1,2 @@ # Remove 1px border around hyprshot screenshots -layerrule = noanim, selection +layerrule = no_anim on, match:namespace selection diff --git a/default/hypr/apps/jetbrains.conf b/default/hypr/apps/jetbrains.conf index 6e8708af..d045f823 100644 --- a/default/hypr/apps/jetbrains.conf +++ b/default/hypr/apps/jetbrains.conf @@ -1,22 +1,22 @@ # Fix splash screen showing in weird places and prevent annoying focus takeovers -windowrule = tag +jetbrains-splash, class:^(jetbrains-.*)$, title:^(splash)$, floating:1 -windowrule = center, tag:jetbrains-splash -windowrule = nofocus, tag:jetbrains-splash -windowrule = noborder, tag:jetbrains-splash +windowrule = tag +jetbrains-splash, match:class ^(jetbrains-.*)$, match:title ^(splash)$, match:float 1 +windowrule = center on, match:tag jetbrains-splash +windowrule = no_focus on, match:tag jetbrains-splash +windowrule = border_size 0, match:tag jetbrains-splash # Center popups/find windows -windowrule = tag +jetbrains, class:^(jetbrains-.*), title:^()$, floating:1 -windowrule = center, tag:jetbrains +windowrule = tag +jetbrains, match:class ^(jetbrains-.*), match:title ^()$, match:float 1 +windowrule = center on, match:tag jetbrains # Enabling this makes it possible to provide input in popup dialogs (search window, new file, etc.) -windowrule = stayfocused, tag:jetbrains -windowrule = noborder, tag:jetbrains +windowrule = stay_focused on, match:tag jetbrains +windowrule = border_size 0, match:tag jetbrains # For some reason tag:jetbrains does not work for size rule -windowrule = size >50% >50%, class:^(jetbrains-.*), title:^()$, floating:1 +windowrule = min_size (monitor_w*0.5) (monitor_h*0.5), match:class ^(jetbrains-.*), match:title ^()$, match:float 1 # Disable window flicker when autocomplete or tooltips appear -windowrule = noinitialfocus, class:^(jetbrains-.*)$, title:^(win.*)$, floating:1 +windowrule = no_initial_focus on, match:class ^(jetbrains-.*)$, match:title ^(win.*)$, match:float 1 # Disable mouse focus -windowrule = nofollowmouse, class:^(jetbrains-.*)$ +windowrule = no_follow_mouse on, match:class ^(jetbrains-.*)$ diff --git a/default/hypr/apps/localsend.conf b/default/hypr/apps/localsend.conf index 46255404..c1741692 100644 --- a/default/hypr/apps/localsend.conf +++ b/default/hypr/apps/localsend.conf @@ -1,3 +1,3 @@ # Float LocalSend and fzf file picker -windowrule = float, class:(Share|localsend) -windowrule = center, class:(Share|localsend) +windowrule = float on, match:class (Share|localsend) +windowrule = center on, match:class (Share|localsend) diff --git a/default/hypr/apps/pip.conf b/default/hypr/apps/pip.conf index 18e14406..e5b45d56 100644 --- a/default/hypr/apps/pip.conf +++ b/default/hypr/apps/pip.conf @@ -1,9 +1,9 @@ # Picture-in-picture overlays -windowrule = tag +pip, title:(Picture.?in.?[Pp]icture) -windowrule = float, tag:pip -windowrule = pin, tag:pip -windowrule = size 600 338, tag:pip -windowrule = keepaspectratio, tag:pip -windowrule = noborder, tag:pip -windowrule = opacity 1 1, tag:pip -windowrule = move 100%-w-40 4%, tag:pip +windowrule = tag +pip, match:title (Picture.?in.?[Pp]icture) +windowrule = float on, match:tag pip +windowrule = pin on, match:tag pip +windowrule = size 600 338, match:tag pip +windowrule = keep_aspect_ratio on, match:tag pip +windowrule = border_size 0, match:tag pip +windowrule = opacity 1 1, match:tag pip +windowrule = move (monitor_w-window_w-40) (monitor_h*0.04), match:tag pip diff --git a/default/hypr/apps/qemu.conf b/default/hypr/apps/qemu.conf index 104442ca..acc32a4a 100644 --- a/default/hypr/apps/qemu.conf +++ b/default/hypr/apps/qemu.conf @@ -1 +1 @@ -windowrule = opacity 1 1, class:qemu +windowrule = opacity 1 1, match:class qemu diff --git a/default/hypr/apps/retroarch.conf b/default/hypr/apps/retroarch.conf index 94be39f3..f3b046f9 100644 --- a/default/hypr/apps/retroarch.conf +++ b/default/hypr/apps/retroarch.conf @@ -1,4 +1,3 @@ -windowrule = fullscreen, class:com.libretro.RetroArch -windowrule = opacity 1 1, class:com.libretro.RetroArch -windowrule = idleinhibit fullscreen, class:com.libretro.RetroArch - +windowrule = fullscreen on, match:class com.libretro.RetroArch +windowrule = opacity 1 1, match:class com.libretro.RetroArch +windowrule = idle_inhibit fullscreen, match:class com.libretro.RetroArch diff --git a/default/hypr/apps/steam.conf b/default/hypr/apps/steam.conf index 77d8a4bc..ec4f754d 100644 --- a/default/hypr/apps/steam.conf +++ b/default/hypr/apps/steam.conf @@ -1,7 +1,7 @@ # Float Steam -windowrule = float, class:steam -windowrule = center, class:steam, title:Steam -windowrule = opacity 1 1, class:steam -windowrule = size 1100 700, class:steam, title:Steam -windowrule = size 460 800, class:steam, title:Friends List -windowrule = idleinhibit fullscreen, class:steam +windowrule = float on, match:class steam +windowrule = center on, match:class steam, match:title Steam +windowrule = opacity 1 1, match:class steam +windowrule = size 1100 700, match:class steam, match:title Steam +windowrule = size 460 800, match:class steam, match:title Friends List +windowrule = idle_inhibit fullscreen, match:class steam diff --git a/default/hypr/apps/system.conf b/default/hypr/apps/system.conf index 889235cc..ee6c6b86 100644 --- a/default/hypr/apps/system.conf +++ b/default/hypr/apps/system.conf @@ -1,21 +1,21 @@ # Floating windows -windowrule = float, tag:floating-window -windowrule = center, tag:floating-window -windowrule = size 875 600, tag:floating-window +windowrule = float on, match:tag floating-window +windowrule = center on, match:tag floating-window +windowrule = size 875 600, match:tag floating-window -windowrule = tag +floating-window, class:(org.omarchy.bluetui|org.omarchy.impala|org.omarchy.wiremix|org.omarchy.btop|org.omarchy.terminal|org.omarchy.bash|org.gnome.NautilusPreviewer|org.gnome.Evince|com.gabm.satty|Omarchy|About|TUI.float|imv|mpv) -windowrule = tag +floating-window, class:(xdg-desktop-portal-gtk|sublime_text|DesktopEditors|org.gnome.Nautilus), title:^(Open.*Files?|Open [F|f]older.*|Save.*Files?|Save.*As|Save|All Files|.*wants to [open|save].*|[C|c]hoose.*) -windowrule = float, class:org.gnome.Calculator +windowrule = tag +floating-window, match:class (org.omarchy.bluetui|org.omarchy.impala|org.omarchy.wiremix|org.omarchy.btop|org.omarchy.terminal|org.omarchy.bash|org.gnome.NautilusPreviewer|org.gnome.Evince|com.gabm.satty|Omarchy|About|TUI.float|imv|mpv) +windowrule = tag +floating-window, match:class (xdg-desktop-portal-gtk|sublime_text|DesktopEditors|org.gnome.Nautilus), match:title ^(Open.*Files?|Open [F|f]older.*|Save.*Files?|Save.*As|Save|All Files|.*wants to [open|save].*|[C|c]hoose.*) +windowrule = float on, match:class org.gnome.Calculator # Fullscreen screensaver -windowrule = fullscreen, class:org.omarchy.screensaver -windowrule = float, class:org.omarchy.screensaver +windowrule = fullscreen on, match:class org.omarchy.screensaver +windowrule = float on, match:class org.omarchy.screensaver # No transparency on media windows -windowrule = opacity 1 1, class:^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv|org.gnome.NautilusPreviewer)$ +windowrule = opacity 1 1, match:class ^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv|org.gnome.NautilusPreviewer)$ # Popped window rounding -windowrule = rounding 8, tag:pop +windowrule = rounding 8, match:tag pop # Prevent idle while open -windowrule = idleinhibit always, tag:noidle +windowrule = idle_inhibit always, match:tag noidle diff --git a/default/hypr/apps/terminals.conf b/default/hypr/apps/terminals.conf index e908e5df..2bcf0eb6 100644 --- a/default/hypr/apps/terminals.conf +++ b/default/hypr/apps/terminals.conf @@ -1,2 +1,2 @@ # Define terminal tag to style them uniformly -windowrule = tag +terminal, class:(Alacritty|kitty|com.mitchellh.ghostty) +windowrule = tag +terminal, match:class (Alacritty|kitty|com.mitchellh.ghostty) diff --git a/default/hypr/apps/walker.conf b/default/hypr/apps/walker.conf index eefd923c..127e3b42 100644 --- a/default/hypr/apps/walker.conf +++ b/default/hypr/apps/walker.conf @@ -1,2 +1,2 @@ # Application-specific animation -layerrule = noanim, walker +layerrule = no_anim on, match:namespace walker diff --git a/default/hypr/apps/webcam-overlay.conf b/default/hypr/apps/webcam-overlay.conf index eca1c751..307d6864 100644 --- a/default/hypr/apps/webcam-overlay.conf +++ b/default/hypr/apps/webcam-overlay.conf @@ -1,6 +1,6 @@ # Webcam overlay for screen recording -windowrule = float, title:WebcamOverlay -windowrule = pin, title:WebcamOverlay -windowrule = noinitialfocus, title:WebcamOverlay -windowrule = nodim, title:WebcamOverlay -windowrule = move 100%-w-40 100%-w-40, title:WebcamOverlay # There's a typo in the hyprland rule so 100%-w on the height param is actually correct here +windowrule = float on, match:title WebcamOverlay +windowrule = pin on, match:title WebcamOverlay +windowrule = no_initial_focus on, match:title WebcamOverlay +windowrule = no_dim on, match:title WebcamOverlay +windowrule = move (monitor_w-window_w-40) (monitor_h-window_h-40), match:title WebcamOverlay diff --git a/default/hypr/bindings/tiling-v2.conf b/default/hypr/bindings/tiling-v2.conf index 01aa7d72..2b4de61c 100644 --- a/default/hypr/bindings/tiling-v2.conf +++ b/default/hypr/bindings/tiling-v2.conf @@ -65,6 +65,8 @@ bindd = SUPER CTRL, TAB, Former workspace, workspace, previous # Move workspaces to other monitors bindd = SUPER SHIFT ALT, LEFT, Move workspace to left monitor, movecurrentworkspacetomonitor, l bindd = SUPER SHIFT ALT, RIGHT, Move workspace to right monitor, movecurrentworkspacetomonitor, r +bindd = SUPER SHIFT ALT, UP, Move workspace to up monitor, movecurrentworkspacetomonitor, u +bindd = SUPER SHIFT ALT, DOWN, Move workspace to down monitor, movecurrentworkspacetomonitor, d # Swap active window with the one next to it with SUPER + SHIFT + arrow keys bindd = SUPER SHIFT, LEFT, Swap window to the left, swapwindow, l diff --git a/default/hypr/bindings/utilities.conf b/default/hypr/bindings/utilities.conf index 2e442630..e4364ec8 100644 --- a/default/hypr/bindings/utilities.conf +++ b/default/hypr/bindings/utilities.conf @@ -42,5 +42,18 @@ bindd = SUPER, PRINT, Color picker, exec, pkill hyprpicker || hyprpicker -a bindd = SUPER CTRL, S, Share, exec, omarchy-menu share # Waybar-less information -bindd = SUPER CTRL, T, Show time, exec, notify-send " $(date +"%A %H:%M — %d %B W%V %Y")" -bindd = SUPER CTRL, B, Show battery remaining, exec, notify-send "󰁹 Battery is at $(omarchy-battery-remaining)%" +bindd = SUPER CTRL ALT, T, Show time, exec, notify-send " $(date +"%A %H:%M — %d %B W%V %Y")" +bindd = SUPER CTRL ALT, B, Show battery remaining, exec, notify-send "󰁹 Battery is at $(omarchy-battery-remaining)%" + +# Control panels +bindd = SUPER CTRL, A, Audio controls, exec, omarchy-launch-audio +bindd = SUPER CTRL, B, Bluetooth controls, exec, omarchy-launch-bluetooth +bindd = SUPER CTRL, W, Wifi controls, exec, omarchy-launch-wifi +bindd = SUPER CTRL, T, Activity, exec, omarchy-launch-tui btop + +# Dictation +bindd = SUPER CTRL, X, Start dictation, exec, voxtype record start +binddr = SUPER CTRL, X, Stop dictation, exec, voxtype record stop + +# Lock system +bindd = SUPER CTRL, L, Lock system, exec, omarchy-lock-screen diff --git a/default/hypr/looknfeel.conf b/default/hypr/looknfeel.conf index 26a55948..0279074e 100644 --- a/default/hypr/looknfeel.conf +++ b/default/hypr/looknfeel.conf @@ -123,7 +123,7 @@ misc { disable_splash_rendering = true focus_on_activate = true anr_missed_pings = 3 - new_window_takes_over_fullscreen = 1 + on_focus_under_fullscreen = 1 } # https://wiki.hypr.land/Configuring/Variables/#cursor diff --git a/default/hypr/windows.conf b/default/hypr/windows.conf index bc665b22..5d1afb76 100644 --- a/default/hypr/windows.conf +++ b/default/hypr/windows.conf @@ -1,11 +1,12 @@ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more -windowrule = suppressevent maximize, class:.* +# Hyprland 0.53+ syntax +windowrule = suppress_event maximize, match:class .* # Just dash of opacity by default -windowrule = opacity 0.97 0.9, class:.* +windowrule = opacity 0.97 0.9, match:class .* # Fix some dragging issues with XWayland -windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 +windowrule = no_focus on, match:class ^$, match:title ^$, match:xwayland 1, match:float 1, match:fullscreen 0, match:pin 0 # App-specific tweaks source = ~/.local/share/omarchy/default/hypr/apps.conf diff --git a/default/limine/default.conf b/default/limine/default.conf new file mode 100644 index 00000000..eb34057a --- /dev/null +++ b/default/limine/default.conf @@ -0,0 +1,20 @@ +TARGET_OS_NAME="Omarchy" + +ESP_PATH="/boot" + +KERNEL_CMDLINE[default]="@@CMDLINE@@" +KERNEL_CMDLINE[default]+="quiet splash" + +ENABLE_UKI=yes +CUSTOM_UKI_NAME="omarchy" + +ENABLE_LIMINE_FALLBACK=yes + +# Find and add other bootloaders +FIND_BOOTLOADERS=yes + +BOOT_ORDER="*, *fallback, Snapshots" + +MAX_SNAPSHOT_ENTRIES=5 + +SNAPSHOT_FORMAT_CHOICE=5 diff --git a/default/limine/limine.conf b/default/limine/limine.conf new file mode 100644 index 00000000..9868fbc7 --- /dev/null +++ b/default/limine/limine.conf @@ -0,0 +1,18 @@ +### Read more at config document: https://github.com/limine-bootloader/limine/blob/trunk/CONFIG.md +#timeout: 3 +default_entry: 2 +interface_branding: Omarchy Bootloader +interface_branding_color: 2 +hash_mismatch_panic: no + +term_background: 1a1b26 +backdrop: 1a1b26 + +# Terminal colors (Tokyo Night palette) +term_palette: 15161e;f7768e;9ece6a;e0af68;7aa2f7;bb9af7;7dcfff;a9b1d6 +term_palette_bright: 414868;f7768e;9ece6a;e0af68;7aa2f7;bb9af7;7dcfff;c0caf5 + +# Text colors +term_foreground: c0caf5 +term_foreground_bright: c0caf5 +term_background_bright: 24283b diff --git a/default/omarchy-skill/SKILL.md b/default/omarchy-skill/SKILL.md new file mode 100644 index 00000000..d8d85607 --- /dev/null +++ b/default/omarchy-skill/SKILL.md @@ -0,0 +1,369 @@ +--- +name: Omarchy +description: > + REQUIRED for ANY changes to Linux desktop, window manager, or system config. + Use when editing ~/.config/hypr/, ~/.config/waybar/, ~/.config/walker/, + ~/.config/alacritty/, ~/.config/kitty/, ~/.config/ghostty/, ~/.config/mako/, + or ~/.config/omarchy/. Triggers: Hyprland, window rules, animations, keybindings, + monitors, gaps, borders, blur, opacity, waybar, walker, terminal config, themes, + wallpaper, night light, idle, lock screen, screenshots, layer rules, workspace + settings, display config, or any omarchy-* commands. +--- + +# Omarchy Skill + +Manage [Omarchy](https://omarchy.org/) Linux systems - a beautiful, modern, opinionated Arch Linux distribution with Hyprland. + +## When This Skill MUST Be Used + +**ALWAYS invoke this skill when the user's request involves ANY of these:** + +- Editing ANY file in `~/.config/hypr/` (window rules, animations, keybindings, monitors, etc.) +- Editing ANY file in `~/.config/waybar/`, `~/.config/walker/`, `~/.config/mako/` +- Editing terminal configs (alacritty, kitty, ghostty) +- Editing ANY file in `~/.config/omarchy/` +- Window behavior, animations, opacity, blur, gaps, borders +- Layer rules, workspace settings, display/monitor configuration +- Themes, wallpapers, fonts, appearance changes +- Any `omarchy-*` command +- Screenshots, screen recording, night light, idle behavior, lock screen + +**If you're about to edit a config file in ~/.config/ on this system, STOP and use this skill first.** + +## Critical Safety Rules + +**NEVER modify anything in `~/.local/share/omarchy/`** - but READING is safe and encouraged. + +This directory contains Omarchy's source files managed by git. Any changes will be: +- Lost on next `omarchy-update` +- Cause conflicts with upstream +- Break the system's update mechanism + +``` +~/.local/share/omarchy/ # READ-ONLY - NEVER EDIT (reading is OK) +├── bin/ # Source scripts (symlinked to PATH) +├── config/ # Default config templates +├── themes/ # Stock themes +├── default/ # System defaults +├── migrations/ # Update migrations +└── install/ # Installation scripts +``` + +**Reading `~/.local/share/omarchy/` is SAFE and useful** - do it freely to: +- Understand how omarchy commands work: `cat $(which omarchy-theme-set)` +- See default configs before customizing: `cat ~/.local/share/omarchy/config/waybar/config.jsonc` +- Check stock theme files to copy for customization +- Reference default hyprland settings: `cat ~/.local/share/omarchy/default/hypr/*` + +**Always use these safe locations instead:** +- `~/.config/` - User configuration (safe to edit) +- `~/.config/omarchy/themes//` - Custom themes (must be real directories) +- `~/.config/omarchy/hooks/` - Custom automation hooks + +## System Architecture + +Omarchy is built on: + +| Component | Purpose | Config Location | +|-----------|---------|-----------------| +| **Arch Linux** | Base OS | `/etc/`, `~/.config/` | +| **Hyprland** | Wayland compositor/WM | `~/.config/hypr/` | +| **Waybar** | Status bar | `~/.config/waybar/` | +| **Walker** | App launcher | `~/.config/walker/` | +| **Alacritty/Kitty/Ghostty** | Terminals | `~/.config//` | +| **Mako** | Notifications | `~/.config/mako/` | +| **SwayOSD** | On-screen display | `~/.config/swayosd/` | + +## Command Discovery + +Omarchy provides ~145 commands following `omarchy--` pattern. + +```bash +# List all omarchy commands +compgen -c | grep -E '^omarchy-' | sort -u + +# Find commands by category +compgen -c | grep -E '^omarchy-theme' +compgen -c | grep -E '^omarchy-restart' + +# Read a command's source to understand it +cat $(which omarchy-theme-set) +``` + +### Command Categories + +| Prefix | Purpose | Example | +|--------|---------|---------| +| `omarchy-refresh-*` | Reset config to defaults (backs up first) | `omarchy-refresh-waybar` | +| `omarchy-restart-*` | Restart a service/app | `omarchy-restart-waybar` | +| `omarchy-toggle-*` | Toggle feature on/off | `omarchy-toggle-nightlight` | +| `omarchy-theme-*` | Theme management | `omarchy-theme-set ` | +| `omarchy-install-*` | Install optional software | `omarchy-install-docker-dbs` | +| `omarchy-launch-*` | Launch apps | `omarchy-launch-browser` | +| `omarchy-cmd-*` | System commands | `omarchy-cmd-screenshot` | +| `omarchy-pkg-*` | Package management | `omarchy-pkg-install ` | +| `omarchy-setup-*` | Initial setup tasks | `omarchy-setup-fingerprint` | +| `omarchy-update-*` | System updates | `omarchy-update` | + +## Configuration Locations + +### Hyprland (Window Manager) + +``` +~/.config/hypr/ +├── hyprland.conf # Main config (sources others) +├── bindings.conf # Keybindings +├── monitors.conf # Display configuration +├── input.conf # Keyboard/mouse settings +├── looknfeel.conf # Appearance (gaps, borders, animations) +├── envs.conf # Environment variables +├── autostart.conf # Startup applications +├── hypridle.conf # Idle behavior (screen off, lock, suspend) +├── hyprlock.conf # Lock screen appearance +└── hyprsunset.conf # Night light / blue light filter +``` + +**Key behaviors:** +- Hyprland auto-reloads on config save (no restart needed for most changes) +- Use `hyprctl reload` to force reload +- Use `omarchy-refresh-hyprland` to reset to defaults + +### Waybar (Status Bar) + +``` +~/.config/waybar/ +├── config.jsonc # Bar layout and modules (JSONC format) +└── style.css # Styling +``` + +**Waybar does NOT auto-reload.** You MUST run `omarchy-restart-waybar` after any config changes. + +**Commands:** `omarchy-restart-waybar`, `omarchy-refresh-waybar`, `omarchy-toggle-waybar` + +### Terminals + +``` +~/.config/alacritty/alacritty.toml +~/.config/kitty/kitty.conf +~/.config/ghostty/config +``` + +**Command:** `omarchy-restart-terminal` + +### Other Configs + +| App | Location | +|-----|----------| +| btop | `~/.config/btop/btop.conf` | +| fastfetch | `~/.config/fastfetch/config.jsonc` | +| lazygit | `~/.config/lazygit/config.yml` | +| starship | `~/.config/starship.toml` | +| git | `~/.config/git/config` | +| walker | `~/.config/walker/config.toml` | + +## Safe Customization Patterns + +### Pattern 1: Edit User Config Directly + +For simple changes, edit files in `~/.config/`: + +```bash +# 1. Read current config +cat ~/.config/hypr/bindings.conf + +# 2. Backup before changes +cp ~/.config/hypr/bindings.conf ~/.config/hypr/bindings.conf.bak.$(date +%s) + +# 3. Make changes with Edit tool + +# 4. Apply changes +# - Hyprland: auto-reloads on save (no restart needed) +# - Waybar: MUST restart with omarchy-restart-waybar +# - Walker: MUST restart with omarchy-restart-walker +# - Terminals: MUST restart with omarchy-restart-terminal +``` + +### Pattern 2: Make a new theme + +1. Create a directory under ~/.config/omarchy/themes. +2. See how an existing theme is done via ~/.local/share/omarchy/themes/catppuccin. +3. Download a matching background (or several) from the internet and put them in ~/.config/omarchy/themes/[name-of-new-theme] +4. When done with the theme, run omarchy-theme-set "Name of new theme" + +### Pattern 3: Use Hooks for Automation + +Create scripts in `~/.config/omarchy/hooks/` to run automatically on events: + +```bash +# Available hooks (see samples in ~/.config/omarchy/hooks/): +~/.config/omarchy/hooks/ +├── theme-set # Runs after theme change (receives theme name as $1) +├── font-set # Runs after font change +└── post-update # Runs after omarchy-update +``` + +Example hook (`~/.config/omarchy/hooks/theme-set`): +```bash +#!/bin/bash +THEME_NAME=$1 +echo "Theme changed to: $THEME_NAME" +# Add custom actions here +``` + +### Pattern 4: Reset to Defaults -- ALWAYS SEEK USER CONFIRMATION BEFORE RUNNING + +When customizations go wrong: + +```bash +# Reset specific config (creates backup automatically) +omarchy-refresh-waybar +omarchy-refresh-hyprland + +# The refresh command: +# 1. Backs up current config with timestamp +# 2. Copies default from ~/.local/share/omarchy/config/ +# 3. Restarts the component +``` + +## Common Tasks + +### Themes + +```bash +omarchy-theme-list # Show available themes +omarchy-theme-current # Show current theme +omarchy-theme-set # Apply theme (use "Tokyo Night" not "tokyo-night") +omarchy-theme-next # Cycle to next theme +omarchy-theme-bg-next # Cycle wallpaper +omarchy-theme-install # Install from git repo +``` + +### Keybindings + +Edit `~/.config/hypr/bindings.conf`. Format: +``` +bind = SUPER, Return, exec, xdg-terminal-exec +bind = SUPER, Q, killactive +bind = SUPER SHIFT, E, exit +``` + +View current bindings: `omarchy-menu-keybindings --print` + +**IMPORTANT: When re-binding an existing key:** + +1. First check existing bindings: `omarchy-menu-keybindings --print` +2. If the key is already bound, you MUST add an `unbind` directive BEFORE your new `bind` +3. Inform the user what the key was previously bound to + +Example - rebinding SUPER+F (which is bound to fullscreen by default): +``` +# Unbind existing SUPER+F (was: fullscreen) +unbind = SUPER, F +# New binding for file manager +bind = SUPER, F, exec, nautilus +``` + +Always tell the user: "Note: SUPER+F was previously bound to fullscreen. I've added an unbind directive to override it." + +### Display/Monitors + +Edit `~/.config/hypr/monitors.conf`. Format: +``` +monitor = eDP-1, 1920x1080@60, 0x0, 1 +monitor = HDMI-A-1, 2560x1440@144, 1920x0, 1 +``` + +List monitors: `hyprctl monitors` + +### Window Rules + +**CRITICAL: Hyprland window rules syntax changes frequently between versions.** + +Before writing ANY window rules, you MUST fetch the current documentation from the official Hyprland wiki: +- https://github.com/hyprwm/hyprland-wiki/blob/main/content/Configuring/Window-Rules.md + +DO NOT rely on cached or memorized window rule syntax. The format has changed multiple times and using outdated syntax will cause errors or unexpected behavior. + +Window rules go in `~/.config/hypr/hyprland.conf` or a sourced file. Always verify the current syntax from the wiki first. + +### Fonts + +```bash +omarchy-font-list # Available fonts +omarchy-font-current # Current font +omarchy-font-set # Change font +``` + +### System + +```bash +omarchy-update # Full system update +omarchy-version # Show Omarchy version +omarchy-debug --no-sudo --print # Debug info (ALWAYS use these flags) +omarchy-lock-screen # Lock screen +omarchy-cmd-shutdown # Shutdown +omarchy-cmd-reboot # Reboot +``` + +**IMPORTANT:** Always run `omarchy-debug` with `--no-sudo --print` flags to avoid interactive sudo prompts that will hang the terminal. + +## Troubleshooting + +```bash +# Get debug information (ALWAYS use these flags to avoid interactive prompts) +omarchy-debug --no-sudo --print + +# Upload logs for support +omarchy-upload-log + +# Reset specific config to defaults +omarchy-refresh- + +# Refresh specific config file +# config-file path is relative to ~/.config/ +# eg. omarchy-refresh-config hypr/hyprlock.conf will refresh ~/.config/hypr/hyprlock.conf +omarchy-refresh-config + +# Full reinstall of configs (nuclear option) +omarchy-reinstall +``` + +## Decision Framework + +When user requests system changes: + +1. **Is it a stock omarchy command?** Use it directly +2. **Is it a config edit?** Edit in `~/.config/`, never `~/.local/share/omarchy/` +3. **Is it a theme customization?** Create a NEW custom theme directory +4. **Is it automation?** Use hooks in `~/.config/omarchy/hooks/` +5. **Is it a package install?** Use `yay` +6. **Unsure if command exists?** Search with `compgen -c | grep omarchy` + +## Development (AI Agents) + +When contributing to Omarchy itself (e.g., fixing bugs, adding features), migrations are used to apply changes to existing installations. + +### Creating Migrations + +```bash +# ALWAYS use --no-edit flag or you will get stuck +omarchy-dev-add-migration --no-edit +``` + +This creates a new migration file and outputs its path without opening an editor. The migration filename is based on the git commit timestamp. + +**Migration files** are shell scripts in `~/.local/share/omarchy/migrations/` that run once per system during `omarchy-update`. Use them for: +- Updating user configs with new defaults +- Installing new dependencies +- Running one-time setup tasks + +## Example Requests + +- "Change my theme to catppuccin" -> `omarchy-theme-set catppuccin` +- "Add a keybinding for Super+E to open file manager" -> Check existing bindings first, add `unbind` if needed, then add `bind` in `~/.config/hypr/bindings.conf` +- "Configure my external monitor" -> Edit `~/.config/hypr/monitors.conf` +- "Make the window gaps smaller" -> Edit `~/.config/hypr/looknfeel.conf` +- "Set up night light to turn on at sunset" -> `omarchy-toggle-nightlight` or edit `~/.config/hypr/hyprsunset.conf` +- "Customize the catppuccin theme colors" -> Create `~/.config/omarchy/themes/catppuccin-custom/` by copying from stock, then edit +- "Run a script every time I change themes" -> Create `~/.config/omarchy/hooks/theme-set` +- "Reset waybar to defaults" -> `omarchy-refresh-waybar` diff --git a/default/pacman/pacman-edge.conf b/default/pacman/pacman-edge.conf new file mode 100644 index 00000000..50d2e498 --- /dev/null +++ b/default/pacman/pacman-edge.conf @@ -0,0 +1,30 @@ +# See the pacman.conf(5) manpage for option and repository directives + +[options] +Color +ILoveCandy +VerbosePkgLists +HoldPkg = pacman glibc +Architecture = auto +CheckSpace +ParallelDownloads = 5 +DownloadUser = alpm + +# By default, pacman accepts packages signed by keys that its local keyring +# trusts (see pacman-key and its man page), as well as unsigned packages. +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional + +# pacman searches repositories in the order defined here +[core] +Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +[multilib] +Include = /etc/pacman.d/mirrorlist + +[omarchy] +SigLevel = Optional TrustAll +Server = https://pkgs.omarchy.org/edge/$arch diff --git a/default/pacman/pacman.conf b/default/pacman/pacman-stable.conf similarity index 100% rename from default/pacman/pacman.conf rename to default/pacman/pacman-stable.conf diff --git a/default/systemd/hibernate.conf b/default/systemd/hibernate.conf new file mode 100644 index 00000000..b146ae9b --- /dev/null +++ b/default/systemd/hibernate.conf @@ -0,0 +1,3 @@ +[Sleep] +HibernateDelaySec=30min +HibernateOnACPower=no diff --git a/default/systemd/lid.conf b/default/systemd/lid.conf new file mode 100644 index 00000000..c6ecbcb7 --- /dev/null +++ b/default/systemd/lid.conf @@ -0,0 +1,2 @@ +[Login] +HandleLidSwitch=suspend-then-hibernate diff --git a/default/themed/alacritty.toml.tpl b/default/themed/alacritty.toml.tpl new file mode 100644 index 00000000..ff8bc8df --- /dev/null +++ b/default/themed/alacritty.toml.tpl @@ -0,0 +1,47 @@ +[colors.primary] +background = "{{ background }}" +foreground = "{{ foreground }}" + +[colors.cursor] +text = "{{ background }}" +cursor = "{{ cursor }}" + +[colors.vi_mode_cursor] +text = "{{ background }}" +cursor = "{{ cursor }}" + +[colors.search.matches] +foreground = "{{ background }}" +background = "{{ color3 }}" + +[colors.search.focused_match] +foreground = "{{ background }}" +background = "{{ color1 }}" + +[colors.footer_bar] +foreground = "{{ background }}" +background = "{{ foreground }}" + +[colors.selection] +text = "{{ selection_foreground }}" +background = "{{ selection_background }}" + +[colors.normal] +black = "{{ color0 }}" +red = "{{ color1 }}" +green = "{{ color2 }}" +yellow = "{{ color3 }}" +blue = "{{ color4 }}" +magenta = "{{ color5 }}" +cyan = "{{ color6 }}" +white = "{{ color7 }}" + +[colors.bright] +black = "{{ color8 }}" +red = "{{ color9 }}" +green = "{{ color10 }}" +yellow = "{{ color11 }}" +blue = "{{ color12 }}" +magenta = "{{ color13 }}" +cyan = "{{ color14 }}" +white = "{{ color15 }}" diff --git a/default/themed/btop.theme.tpl b/default/themed/btop.theme.tpl new file mode 100644 index 00000000..7b1b299d --- /dev/null +++ b/default/themed/btop.theme.tpl @@ -0,0 +1,83 @@ +# Main background, empty for terminal default, need to be empty if you want transparent background +theme[main_bg]="{{ background }}" + +# Main text color +theme[main_fg]="{{ foreground }}" + +# Title color for boxes +theme[title]="{{ foreground }}" + +# Highlight color for keyboard shortcuts +theme[hi_fg]="{{ accent }}" + +# Background color of selected item in processes box +theme[selected_bg]="{{ color8 }}" + +# Foreground color of selected item in processes box +theme[selected_fg]="{{ accent }}" + +# Color of inactive/disabled text +theme[inactive_fg]="{{ color8 }}" + +# Color of text appearing on top of graphs, i.e uptime and current network graph scaling +theme[graph_text]="{{ foreground }}" + +# Background color of the percentage meters +theme[meter_bg]="{{ color8 }}" + +# Misc colors for processes box including mini cpu graphs, details memory graph and details status text +theme[proc_misc]="{{ foreground }}" + +# CPU, Memory, Network, Proc box outline colors +theme[cpu_box]="{{ color5 }}" +theme[mem_box]="{{ color2 }}" +theme[net_box]="{{ color1 }}" +theme[proc_box]="{{ accent }}" + +# Box divider line and small boxes line color +theme[div_line]="{{ color8 }}" + +# Temperature graph color (Green -> Yellow -> Red) +theme[temp_start]="{{ color2 }}" +theme[temp_mid]="{{ color3 }}" +theme[temp_end]="{{ color1 }}" + +# CPU graph colors (Teal -> Lavender) +theme[cpu_start]="{{ color6 }}" +theme[cpu_mid]="{{ color4 }}" +theme[cpu_end]="{{ color5 }}" + +# Mem/Disk free meter (Mauve -> Lavender -> Blue) +theme[free_start]="{{ color5 }}" +theme[free_mid]="{{ color4 }}" +theme[free_end]="{{ color6 }}" + +# Mem/Disk cached meter (Sapphire -> Lavender) +theme[cached_start]="{{ color4 }}" +theme[cached_mid]="{{ color6 }}" +theme[cached_end]="{{ color5 }}" + +# Mem/Disk available meter (Peach -> Red) +theme[available_start]="{{ color3 }}" +theme[available_mid]="{{ color1 }}" +theme[available_end]="{{ color1 }}" + +# Mem/Disk used meter (Green -> Sky) +theme[used_start]="{{ color2 }}" +theme[used_mid]="{{ color6 }}" +theme[used_end]="{{ color4 }}" + +# Download graph colors (Peach -> Red) +theme[download_start]="{{ color3 }}" +theme[download_mid]="{{ color1 }}" +theme[download_end]="{{ color1 }}" + +# Upload graph colors (Green -> Sky) +theme[upload_start]="{{ color2 }}" +theme[upload_mid]="{{ color6 }}" +theme[upload_end]="{{ color4 }}" + +# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve) +theme[process_start]="{{ color6 }}" +theme[process_mid]="{{ color4 }}" +theme[process_end]="{{ color5 }}" diff --git a/default/themed/chromium.theme.tpl b/default/themed/chromium.theme.tpl new file mode 100644 index 00000000..84059b28 --- /dev/null +++ b/default/themed/chromium.theme.tpl @@ -0,0 +1 @@ +{{ background_rgb }} diff --git a/default/themed/ghostty.conf.tpl b/default/themed/ghostty.conf.tpl new file mode 100644 index 00000000..bafc6498 --- /dev/null +++ b/default/themed/ghostty.conf.tpl @@ -0,0 +1,22 @@ +background = {{ background }} +foreground = {{ foreground }} +cursor-color = {{ cursor }} +selection-background = {{ selection_background }} +selection-foreground = {{ selection_foreground }} + +palette = 0={{ color0 }} +palette = 1={{ color1 }} +palette = 2={{ color2 }} +palette = 3={{ color3 }} +palette = 4={{ color4 }} +palette = 5={{ color5 }} +palette = 6={{ color6 }} +palette = 7={{ color7 }} +palette = 8={{ color8 }} +palette = 9={{ color9 }} +palette = 10={{ color10 }} +palette = 11={{ color11 }} +palette = 12={{ color12 }} +palette = 13={{ color13 }} +palette = 14={{ color14 }} +palette = 15={{ color15 }} diff --git a/themes/ethereal/hyprland-preview-share-picker.css b/default/themed/hyprland-preview-share-picker.css.tpl similarity index 81% rename from themes/ethereal/hyprland-preview-share-picker.css rename to default/themed/hyprland-preview-share-picker.css.tpl index 55e556e5..07e5e4e8 100644 --- a/themes/ethereal/hyprland-preview-share-picker.css +++ b/default/themed/hyprland-preview-share-picker.css.tpl @@ -1,12 +1,12 @@ -@define-color foreground #ffcead; -@define-color background #060B1E; -@define-color accent #7d82d9; -@define-color muted #6d7db6; -@define-color card_bg #12172b; -@define-color text_dark #060B1E; -@define-color accent_hover #c2c4f0; -@define-color selected_tab #7d82d9; -@define-color text #ffcead; +@define-color foreground {{ foreground }}; +@define-color background {{ background }}; +@define-color accent {{ accent }}; +@define-color muted {{ color8 }}; +@define-color card_bg {{ color0 }}; +@define-color text_dark {{ background }}; +@define-color accent_hover {{ color12 }}; +@define-color selected_tab {{ accent }}; +@define-color text {{ foreground }}; * { all: unset; diff --git a/themes/everforest/hyprland.conf b/default/themed/hyprland.conf.tpl similarity index 70% rename from themes/everforest/hyprland.conf rename to default/themed/hyprland.conf.tpl index 10e2c5d4..e4dbf3c3 100644 --- a/themes/everforest/hyprland.conf +++ b/default/themed/hyprland.conf.tpl @@ -1,4 +1,4 @@ -$activeBorderColor = rgb(d3c6aa) +$activeBorderColor = rgb({{ accent_strip }}) general { col.active_border = $activeBorderColor diff --git a/default/themed/hyprlock.conf.tpl b/default/themed/hyprlock.conf.tpl new file mode 100644 index 00000000..1b4cac3c --- /dev/null +++ b/default/themed/hyprlock.conf.tpl @@ -0,0 +1,5 @@ +$color = rgba({{ background_rgb }}, 1.0) +$inner_color = rgba({{ background_rgb }}, 0.8) +$outer_color = rgba({{ foreground_rgb }}, 1.0) +$font_color = rgba({{ foreground_rgb }}, 1.0) +$check_color = rgba({{ accent_rgb }}, 1.0) diff --git a/default/themed/kitty.conf.tpl b/default/themed/kitty.conf.tpl new file mode 100644 index 00000000..88006243 --- /dev/null +++ b/default/themed/kitty.conf.tpl @@ -0,0 +1,27 @@ +foreground {{ foreground }} +background {{ background }} +selection_foreground {{ selection_foreground }} +selection_background {{ selection_background }} + +cursor {{ cursor }} +cursor_text_color {{ background }} + +active_border_color {{ active_border_color }} +active_tab_background {{ active_tab_background }} + +color0 {{ color0 }} +color1 {{ color1 }} +color2 {{ color2 }} +color3 {{ color3 }} +color4 {{ color4 }} +color5 {{ color5 }} +color6 {{ color6 }} +color7 {{ color7 }} +color8 {{ color8 }} +color9 {{ color9 }} +color10 {{ color10 }} +color11 {{ color11 }} +color12 {{ color12 }} +color13 {{ color13 }} +color14 {{ color14 }} +color15 {{ color15 }} diff --git a/default/themed/mako.ini.tpl b/default/themed/mako.ini.tpl new file mode 100644 index 00000000..51e9c66f --- /dev/null +++ b/default/themed/mako.ini.tpl @@ -0,0 +1,5 @@ +include=~/.local/share/omarchy/default/mako/core.ini + +text-color={{ foreground }} +border-color={{ foreground }} +background-color={{ background }} diff --git a/default/themed/swayosd.css.tpl b/default/themed/swayosd.css.tpl new file mode 100644 index 00000000..3f609e17 --- /dev/null +++ b/default/themed/swayosd.css.tpl @@ -0,0 +1,5 @@ +@define-color background-color {{ background }}; +@define-color border-color {{ foreground }}; +@define-color label {{ foreground }}; +@define-color image {{ foreground }}; +@define-color progress {{ foreground }}; diff --git a/default/themed/walker.css.tpl b/default/themed/walker.css.tpl new file mode 100644 index 00000000..123ca92c --- /dev/null +++ b/default/themed/walker.css.tpl @@ -0,0 +1,6 @@ +@define-color selected-text {{ accent }}; +@define-color text {{ foreground }}; +@define-color base {{ background }}; +@define-color border {{ foreground }}; +@define-color foreground {{ foreground }}; +@define-color background {{ background }}; diff --git a/default/themed/waybar.css.tpl b/default/themed/waybar.css.tpl new file mode 100644 index 00000000..d876a922 --- /dev/null +++ b/default/themed/waybar.css.tpl @@ -0,0 +1,2 @@ +@define-color foreground {{ foreground }}; +@define-color background {{ background }}; diff --git a/default/voxtype/config.toml b/default/voxtype/config.toml new file mode 100644 index 00000000..59d1f943 --- /dev/null +++ b/default/voxtype/config.toml @@ -0,0 +1,97 @@ +# Voxtype Configuration +# +# Location: ~/.config/voxtype/config.toml +# All settings can be overridden via CLI flags +# +# State file for external integrations (Waybar, polybar, etc.) +# Use "auto" for default location ($XDG_RUNTIME_DIR/voxtype/state), +# a custom path, or "disabled" to turn off. The daemon writes state +# ("idle", "recording", "transcribing") to this file whenever it changes. +# Required for `voxtype record toggle` and `voxtype status` commands. +state_file = "auto" + +[hotkey] +# Hotkey is configured in Hyprland. Default is Super + Ctrl + X +enabled = false + +[audio] +# Audio input device ("default" uses system default) +# List devices with: pactl list sources short +device = "default" + +# Sample rate in Hz (whisper expects 16000) +sample_rate = 16000 + +# Maximum recording duration in seconds (safety limit) +max_duration_secs = 60 + +# [audio.feedback] +# Enable audio feedback sounds (beeps when recording starts/stops) +# enabled = true +# +# Sound theme: "default", "subtle", "mechanical", or path to custom theme directory +# theme = "default" +# +# Volume level (0.0 to 1.0) +# volume = 0.7 + +[whisper] +# Model to use for transcription +# Options: tiny, tiny.en, base, base.en, small, small.en, medium, medium.en, large-v3, large-v3-turbo +# .en models are English-only but faster and more accurate for English +# large-v3-turbo is faster than large-v3 with minimal accuracy loss (recommended for GPU) +# Or provide absolute path to a custom .bin model file +model = "base.en" + +# Language for transcription +# Use "en" for English, "auto" for auto-detection +# See: https://github.com/openai/whisper#available-models-and-languages +language = "en" + +# Translate non-English speech to English +translate = false + +# Number of CPU threads for inference (omit for auto-detection) +# threads = 4 + +[output] +# Primary output mode: "type" or "clipboard" +# - type: Simulates keyboard input at cursor position (requires ydotool) +# - clipboard: Copies text to clipboard (requires wl-copy) +mode = "type" + +# Fall back to clipboard if typing fails +fallback_to_clipboard = true + +# Delay between typed characters in milliseconds +# 0 = fastest possible, increase if characters are dropped +type_delay_ms = 1 + +# Post-processing command (optional) +# Pipe transcribed text through an external command for cleanup before output. +# The command receives text on stdin and outputs processed text on stdout. +# Useful for LLM-based text cleanup, grammar correction, filler word removal. +# On any failure (timeout, error), falls back to original transcription. +# +# [output.post_process] +# command = "ollama run llama3.2:1b 'Clean up this dictation. Fix grammar, remove filler words. Output only the cleaned text:'" +# timeout_ms = 30000 # 30 second timeout (generous for LLM) + +[output.notification] +# Show notification when recording starts (hotkey pressed) +on_recording_start = false + +# Show notification when recording stops (transcription beginning) +on_recording_stop = false + +# Show notification with transcribed text after transcription completes +on_transcription = false + +# [text] +# Text processing options (word replacements, spoken punctuation) +# +# Enable spoken punctuation conversion (e.g., say "period" to get ".") +# spoken_punctuation = false +# +# Custom word replacements (case-insensitive) +# replacements = { "hyperwhisper" = "hyprwhspr" } diff --git a/autostart/walker.desktop b/default/walker/walker.desktop similarity index 100% rename from autostart/walker.desktop rename to default/walker/walker.desktop diff --git a/install/config/all.sh b/install/config/all.sh index 5c19829c..e40558b5 100644 --- a/install/config/all.sh +++ b/install/config/all.sh @@ -17,6 +17,8 @@ run_logged $OMARCHY_INSTALL/config/localdb.sh run_logged $OMARCHY_INSTALL/config/walker-elephant.sh run_logged $OMARCHY_INSTALL/config/fast-shutdown.sh run_logged $OMARCHY_INSTALL/config/sudoless-asdcontrol.sh +run_logged $OMARCHY_INSTALL/config/input-group.sh +run_logged $OMARCHY_INSTALL/config/omarchy-ai-skill.sh run_logged $OMARCHY_INSTALL/config/hardware/network.sh run_logged $OMARCHY_INSTALL/config/hardware/set-wireless-regdom.sh run_logged $OMARCHY_INSTALL/config/hardware/fix-fkeys.sh diff --git a/install/config/hardware/nvidia.sh b/install/config/hardware/nvidia.sh index 494390b7..dba1e6b2 100644 --- a/install/config/hardware/nvidia.sh +++ b/install/config/hardware/nvidia.sh @@ -1,80 +1,40 @@ -# ============================================================================== -# Hyprland NVIDIA Setup Script for Arch Linux -# ============================================================================== -# This script automates the installation and configuration of NVIDIA drivers -# for use with Hyprland on Arch Linux, following the official Hyprland wiki. -# -# Author: https://github.com/Kn0ax -# -# ============================================================================== - -# --- GPU Detection --- -if [ -n "$(lspci | grep -i 'nvidia')" ]; then - # --- 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 - NVIDIA_DRIVER_PACKAGE="nvidia-open-dkms" - else - NVIDIA_DRIVER_PACKAGE="nvidia-dkms" - fi +NVIDIA="$(lspci | grep -i 'nvidia')" +if [ -n "$NVIDIA" ]; then # Check which kernel is installed and set appropriate headers package - KERNEL_HEADERS="linux-headers" # Default - if pacman -Q linux-zen &>/dev/null; then - KERNEL_HEADERS="linux-zen-headers" - elif pacman -Q linux-lts &>/dev/null; then - KERNEL_HEADERS="linux-lts-headers" - elif pacman -Q linux-hardened &>/dev/null; then - KERNEL_HEADERS="linux-hardened-headers" + KERNEL_HEADERS="$(pacman -Qqs '^linux(-zen|-lts|-hardened)?$' | head -1)-headers" + + if echo "$NVIDIA" | grep -qE "RTX [2-9][0-9]|GTX 16"; then + # Turing (16xx, 20xx), Ampere (30xx), Ada (40xx), and newer recommend the open-source kernel modules + PACKAGES=(nvidia-open-dkms nvidia-utils lib32-nvidia-utils libva-nvidia-driver) + elif echo "$NVIDIA" | grep -qE "GTX 9|GTX 10"; then + # Pascal (10xx) and Maxwell (9xx) use legacy branch that can only be installed from AUR + PACKAGES=(nvidia-580xx-dkms nvidia-580xx-utils lib32-nvidia-580xx-utils) + fi + # Bail if no supported GPU + if [ -z "${PACKAGES+x}" ]; then + echo "No compatible driver for your NVIDIA GPU. See: https://wiki.archlinux.org/title/NVIDIA" + exit 0 fi - # force package database refresh - sudo pacman -Syu --noconfirm - - # Install packages - PACKAGES_TO_INSTALL=( - "${KERNEL_HEADERS}" - "${NVIDIA_DRIVER_PACKAGE}" - "nvidia-utils" - "lib32-nvidia-utils" - "egl-wayland" - "libva-nvidia-driver" # For VA-API hardware acceleration - "qt5-wayland" - "qt6-wayland" - ) - - sudo pacman -S --needed --noconfirm "${PACKAGES_TO_INSTALL[@]}" + pacman -S --needed --noconfirm "$KERNEL_HEADERS" "${PACKAGES[@]}" # Configure modprobe for early KMS - echo "options nvidia_drm modeset=1" | sudo tee /etc/modprobe.d/nvidia.conf >/dev/null + sudo tee /etc/modprobe.d/nvidia.conf </dev/null +options nvidia_drm modeset=1 +EOF # Configure mkinitcpio for early loading - MKINITCPIO_CONF="/etc/mkinitcpio.conf" + sudo tee /etc/mkinitcpio.conf.d/nvidia.conf </dev/null +MODULES+=(nvidia nvidia_modeset nvidia_uvm nvidia_drm) +EOF - # Define modules - NVIDIA_MODULES="nvidia nvidia_modeset nvidia_uvm nvidia_drm" + # Add NVIDIA environment variables + cat >>$HOME/.config/hypr/envs.conf <<'EOF' - # Create backup - sudo cp "$MKINITCPIO_CONF" "${MKINITCPIO_CONF}.backup" - - # Remove any old nvidia modules to prevent duplicates - sudo sed -i -E 's/ nvidia_drm//g; s/ nvidia_uvm//g; s/ nvidia_modeset//g; s/ nvidia//g;' "$MKINITCPIO_CONF" - # Add the new modules at the start of the MODULES array - sudo sed -i -E "s/^(MODULES=\\()/\\1${NVIDIA_MODULES} /" "$MKINITCPIO_CONF" - # Clean up potential double spaces - sudo sed -i -E 's/ +/ /g' "$MKINITCPIO_CONF" - - sudo mkinitcpio -P - - # Add NVIDIA environment variables to hyprland.conf - HYPRLAND_CONF="$HOME/.config/hypr/hyprland.conf" - if [ -f "$HYPRLAND_CONF" ]; then - cat >>"$HYPRLAND_CONF" <<'EOF' - -# NVIDIA environment variables +# NVIDIA env = NVD_BACKEND,direct env = LIBVA_DRIVER_NAME,nvidia env = __GLX_VENDOR_LIBRARY_NAME,nvidia EOF - fi fi diff --git a/install/config/input-group.sh b/install/config/input-group.sh new file mode 100644 index 00000000..82935b97 --- /dev/null +++ b/install/config/input-group.sh @@ -0,0 +1,2 @@ +# Give this user privileged input access for dictation tools + xbox controllers to work +sudo usermod -aG input ${USER} diff --git a/install/config/omarchy-ai-skill.sh b/install/config/omarchy-ai-skill.sh new file mode 100644 index 00000000..31f748cf --- /dev/null +++ b/install/config/omarchy-ai-skill.sh @@ -0,0 +1,3 @@ +# Place in ~/.claude/skills since all tools populate from there as well as their own sources +mkdir -p ~/.claude/skills +ln -s $OMARCHY_PATH/default/omarchy-skill ~/.claude/skills/omarchy diff --git a/install/config/theme.sh b/install/config/theme.sh index a4ed8b3e..7820d8f5 100644 --- a/install/config/theme.sh +++ b/install/config/theme.sh @@ -1,19 +1,14 @@ -# Set links for Nautilius action icons +# Set links for Nautilus action icons sudo ln -snf /usr/share/icons/Adwaita/symbolic/actions/go-previous-symbolic.svg /usr/share/icons/Yaru/scalable/actions/go-previous-symbolic.svg sudo ln -snf /usr/share/icons/Adwaita/symbolic/actions/go-next-symbolic.svg /usr/share/icons/Yaru/scalable/actions/go-next-symbolic.svg -# Setup theme links +# Setup user theme folder mkdir -p ~/.config/omarchy/themes -for f in ~/.local/share/omarchy/themes/*; do ln -nfs "$f" ~/.config/omarchy/themes/; done # Set initial theme -mkdir -p ~/.config/omarchy/current -ln -snf ~/.config/omarchy/themes/tokyo-night ~/.config/omarchy/current/theme -ln -snf ~/.config/omarchy/current/theme/backgrounds/1-scenery-pink-lakeside-sunset-lake-landscape-scenic-panorama-7680x3215-144.png ~/.config/omarchy/current/background +omarchy-theme-set "Tokyo Night" # Set specific app links for current theme -# ~/.config/omarchy/current/theme/neovim.lua -> ~/.config/nvim/lua/plugins/theme.lua is handled via omarchy-setup-nvim - mkdir -p ~/.config/btop/themes ln -snf ~/.config/omarchy/current/theme/btop.theme ~/.config/btop/themes/current.theme diff --git a/install/config/walker-elephant.sh b/install/config/walker-elephant.sh index 745450f3..b38e022c 100644 --- a/install/config/walker-elephant.sh +++ b/install/config/walker-elephant.sh @@ -2,7 +2,7 @@ # Ensure Walker service is started automatically on boot mkdir -p ~/.config/autostart/ -cp $OMARCHY_PATH/autostart/walker.desktop ~/.config/autostart/ +cp $OMARCHY_PATH/default/walker/walker.desktop ~/.config/autostart/ # Create pacman hook to restart walker after updates sudo mkdir -p /etc/pacman.d/hooks diff --git a/install/login/limine-snapper.sh b/install/login/limine-snapper.sh index a9a13553..a2a49637 100644 --- a/install/login/limine-snapper.sh +++ b/install/login/limine-snapper.sh @@ -29,62 +29,22 @@ EOF CMDLINE=$(grep "^[[:space:]]*cmdline:" "$limine_config" | head -1 | sed 's/^[[:space:]]*cmdline:[[:space:]]*//') - sudo tee /etc/default/limine </dev/null -TARGET_OS_NAME="Omarchy" - -ESP_PATH="/boot" - -KERNEL_CMDLINE[default]="$CMDLINE" -KERNEL_CMDLINE[default]+="quiet splash" - -ENABLE_UKI=yes -CUSTOM_UKI_NAME="omarchy" - -ENABLE_LIMINE_FALLBACK=yes - -# Find and add other bootloaders -FIND_BOOTLOADERS=yes - -BOOT_ORDER="*, *fallback, Snapshots" - -MAX_SNAPSHOT_ENTRIES=5 - -SNAPSHOT_FORMAT_CHOICE=5 -EOF + sudo cp $OMARCHY_PATH/default/limine/default.conf /etc/default/limine + sudo sed -i "s|@@CMDLINE@@|$CMDLINE|g" /etc/default/limine # UKI and EFI fallback are EFI only if [[ -z $EFI ]]; then sudo sed -i '/^ENABLE_UKI=/d; /^ENABLE_LIMINE_FALLBACK=/d' /etc/default/limine fi - # We overwrite the whole thing knowing the limine-update will add the entries for us - sudo tee /boot/limine.conf </dev/null -### Read more at config document: https://github.com/limine-bootloader/limine/blob/trunk/CONFIG.md -#timeout: 3 -default_entry: 2 -interface_branding: Omarchy Bootloader -interface_branding_color: 2 -hash_mismatch_panic: no - -term_background: 1a1b26 -backdrop: 1a1b26 - -# Terminal colors (Tokyo Night palette) -term_palette: 15161e;f7768e;9ece6a;e0af68;7aa2f7;bb9af7;7dcfff;a9b1d6 -term_palette_bright: 414868;f7768e;9ece6a;e0af68;7aa2f7;bb9af7;7dcfff;c0caf5 - -# Text colors -term_foreground: c0caf5 -term_foreground_bright: c0caf5 -term_background_bright: 24283b - -EOF - # Remove the original config file if it's not /boot/limine.conf if [[ "$limine_config" != "/boot/limine.conf" ]] && [[ -f "$limine_config" ]]; then sudo rm "$limine_config" fi + # We overwrite the whole thing knowing the limine-update will add the entries for us + sudo cp $OMARCHY_PATH/default/limine/limine.conf /boot/limine.conf + # Match Snapper configs if not installing from the ISO if [[ -z ${OMARCHY_CHROOT_INSTALL:-} ]]; then diff --git a/install/omarchy-base.packages b/install/omarchy-base.packages index 0eb48b42..7373e0f1 100644 --- a/install/omarchy-base.packages +++ b/install/omarchy-base.packages @@ -21,6 +21,7 @@ cups-pdf docker docker-buildx docker-compose +dotnet-runtime-9.0 dust evince exfatprogs @@ -89,6 +90,7 @@ obsidian omarchy-chromium omarchy-nvim omarchy-walker +opencode pamixer pinta playerctl @@ -142,4 +144,5 @@ xmlstarlet xournalpp yaru-icon-theme yay +yq zoxide diff --git a/install/omarchy-other.packages b/install/omarchy-other.packages index 8a7ae45a..e531d56e 100644 --- a/install/omarchy-other.packages +++ b/install/omarchy-other.packages @@ -27,9 +27,12 @@ linux linux-firmware linux-headers macbook12-spi-driver-dkms +nvidia-580xx-dkms nvidia-dkms nvidia-open-dkms +nvidia-580xx-utils nvidia-utils +lib32-nvidia-580xx-utils lib32-nvidia-utils pipewire pipewire-alsa diff --git a/install/packages.ignored b/install/packages.ignored deleted file mode 100644 index e69de29b..00000000 diff --git a/install/packages.pinned b/install/packages.pinned deleted file mode 100644 index e69de29b..00000000 diff --git a/install/packaging/webapps.sh b/install/packaging/webapps.sh index 074f82d3..19bd0802 100644 --- a/install/packaging/webapps.sh +++ b/install/packaging/webapps.sh @@ -4,6 +4,7 @@ omarchy-webapp-install "WhatsApp" https://web.whatsapp.com/ WhatsApp.png omarchy-webapp-install "Google Photos" https://photos.google.com/ "Google Photos.png" omarchy-webapp-install "Google Contacts" https://contacts.google.com/ "Google Contacts.png" omarchy-webapp-install "Google Messages" https://messages.google.com/web/conversations "Google Messages.png" +omarchy-webapp-install "Google Maps" https://maps.google.com "Google Maps.png" omarchy-webapp-install "ChatGPT" https://chatgpt.com/ ChatGPT.png omarchy-webapp-install "YouTube" https://youtube.com/ YouTube.png omarchy-webapp-install "GitHub" https://github.com/ GitHub.png diff --git a/install/post-install/pacman.sh b/install/post-install/pacman.sh index dbd6bcfc..05ed163c 100644 --- a/install/post-install/pacman.sh +++ b/install/post-install/pacman.sh @@ -1,6 +1,12 @@ # Configure pacman -sudo cp -f ~/.local/share/omarchy/default/pacman/pacman.conf /etc/pacman.conf -sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist-stable /etc/pacman.d/mirrorlist + +if [[ ${OMARCHY_MIRROR:-} == "edge" ]] ; then + sudo cp -f ~/.local/share/omarchy/default/pacman/pacman-edge.conf /etc/pacman.conf + sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist-edge /etc/pacman.d/mirrorlist +else + sudo cp -f ~/.local/share/omarchy/default/pacman/pacman-stable.conf /etc/pacman.conf + sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist-stable /etc/pacman.d/mirrorlist +fi if lspci -nn | grep -q "106b:180[12]"; then cat </dev/null diff --git a/install/preflight/pacman.sh b/install/preflight/pacman.sh index b4e03ef7..0f987a5a 100644 --- a/install/preflight/pacman.sh +++ b/install/preflight/pacman.sh @@ -3,8 +3,13 @@ if [[ -n ${OMARCHY_ONLINE_INSTALL:-} ]]; then sudo pacman -S --needed --noconfirm base-devel # Configure pacman - sudo cp -f ~/.local/share/omarchy/default/pacman/pacman.conf /etc/pacman.conf - sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist /etc/pacman.d/mirrorlist + if [[ ${OMARCHY_MIRROR:-} == "edge" ]] ; then + sudo cp -f ~/.local/share/omarchy/default/pacman/pacman-edge.conf /etc/pacman.conf + sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist-edge /etc/pacman.d/mirrorlist + else + sudo cp -f ~/.local/share/omarchy/default/pacman/pacman-stable.conf /etc/pacman.conf + sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist-stable /etc/pacman.d/mirrorlist + fi sudo pacman-key --recv-keys 40DFB630FF42BCFFB047046CF0134EE680CAC571 --keyserver keys.openpgp.org sudo pacman-key --lsign-key 40DFB630FF42BCFFB047046CF0134EE680CAC571 diff --git a/migrations/1757021485.sh b/migrations/1757021485.sh index cb8f4c49..ab524755 100644 --- a/migrations/1757021485.sh +++ b/migrations/1757021485.sh @@ -1,3 +1,3 @@ echo "Install Copy URL extension for Chromium" -omarchy-refresh-config chromium-flags.conf +omarchy-refresh-chromium diff --git a/migrations/1758455816.sh b/migrations/1758455816.sh index e9114e1b..9c578ffe 100644 --- a/migrations/1758455816.sh +++ b/migrations/1758455816.sh @@ -8,4 +8,6 @@ MODULES+=(thunderbolt) EOF fi -sudo limine-update +if omarchy-cmd-present limine-update; then + sudo limine-update +fi diff --git a/migrations/1762873545.sh b/migrations/1762873545.sh index 6ad354da..91ae2220 100644 --- a/migrations/1762873545.sh +++ b/migrations/1762873545.sh @@ -6,5 +6,5 @@ systemctl --user start elephant.service pkill walker mkdir -p ~/.config/autostart/ -cp $OMARCHY_PATH/autostart/walker.desktop ~/.config/autostart/ +cp $OMARCHY_PATH/default/walker/walker.desktop ~/.config/autostart/ setsid walker --gapplication-service & diff --git a/migrations/1765846739.sh b/migrations/1765846739.sh new file mode 100644 index 00000000..5c7634be --- /dev/null +++ b/migrations/1765846739.sh @@ -0,0 +1,3 @@ +echo "Add missing dotnet 9.0 for Pinta" + +omarchy-pkg-add dotnet-runtime-9.0 diff --git a/migrations/1765884267.sh b/migrations/1765884267.sh new file mode 100644 index 00000000..f418914d --- /dev/null +++ b/migrations/1765884267.sh @@ -0,0 +1,6 @@ +echo "Change to openai-codex instead of openai-codex-bin" + +if omarchy-pkg-present openai-codex-bin; then + omarchy-pkg-drop openai-codex-bin + omarchy-pkg-add openai-codex +fi diff --git a/migrations/1766942230.sh b/migrations/1766942230.sh new file mode 100644 index 00000000..cb780f32 --- /dev/null +++ b/migrations/1766942230.sh @@ -0,0 +1,8 @@ +echo "Migrate legacy NVIDIA GPUs to nvidia-580xx driver (if needed)" + +# Only migrate GTX 9xx or 10xx (Pascal/Maxwell) +NVIDIA="$(lspci | grep -i 'nvidia')" +if echo "$NVIDIA" | grep -qE "GTX 9|GTX 10"; then + # Piping yes to override existing packages + yes | sudo pacman -S nvidia-580xx-dkms nvidia-580xx-utils lib32-nvidia-580xx-utils +fi diff --git a/migrations/1767138576.sh b/migrations/1767138576.sh new file mode 100644 index 00000000..2e1d8065 --- /dev/null +++ b/migrations/1767138576.sh @@ -0,0 +1,10 @@ +echo "Update terminal scrolltouchpad setting to Hyprland 0.53 style" + +if grep -q "scrolltouchpad" ~/.config/hypr/input.conf; then + sed -Ei 's/^windowrule = scrolltouchpad ([^,]+), class:\(([^)]+)\)$/windowrule = match:class (\2), scroll_touchpad \1/; + s/^windowrule = scrolltouchpad ([^,]+), class:([^ ]+)$/windowrule = match:class \2, scroll_touchpad \1/' ~/.config/hypr/input.conf + sed -Ei 's/^windowrule = scrolltouchpad ([^,]+), tag:terminal$/windowrule = match:class (Alacritty|kitty), scroll_touchpad 1.5\nwindowrule = match:class com.mitchellh.ghostty, scroll_touchpad 0.2/' ~/.config/hypr/input.conf +fi + +# Ensure we restart to pair new Hyprland settings with new version +omarchy-state set reboot-required diff --git a/migrations/1767227973.sh b/migrations/1767227973.sh new file mode 100644 index 00000000..549727c9 --- /dev/null +++ b/migrations/1767227973.sh @@ -0,0 +1,3 @@ +echo "Replace Waybar omarchy-launch-or-focus-tui wiremix with omarchy-launch-audio" + +sed -i 's/omarchy-launch-or-focus-tui wiremix/omarchy-launch-audio/g' ~/.config/waybar/config.jsonc diff --git a/migrations/1767306902.sh b/migrations/1767306902.sh new file mode 100644 index 00000000..9a0a1bb1 --- /dev/null +++ b/migrations/1767306902.sh @@ -0,0 +1,62 @@ +echo "Migrate to new theme setup" + +omarchy-pkg-add yq + +# Move user-added backgrounds from Omarchy theme folders to user config +OMARCHY_DIR="$HOME/.local/share/omarchy" +USER_BACKGROUNDS_DIR="$HOME/.config/omarchy/backgrounds" + +if [[ -d "$OMARCHY_DIR/themes" ]]; then + cd "$OMARCHY_DIR" + + # Get list of git-tracked background files (relative to omarchy dir) + mapfile -t TRACKED_BACKGROUNDS < <(git ls-files --cached 'themes/*/backgrounds/*' 2>/dev/null) + + # Find all background files and check if they're untracked (user-added) + for theme_dir in themes/*/; do + theme_name=$(basename "$theme_dir") + backgrounds_dir="themes/$theme_name/backgrounds" + + [[ -d "$backgrounds_dir" ]] || continue + + for bg_file in "$backgrounds_dir"/*; do + [[ -f "$bg_file" ]] || continue + + # Check if this file is tracked by git + is_tracked=false + for tracked in "${TRACKED_BACKGROUNDS[@]}"; do + if [[ "$tracked" == "$bg_file" ]]; then + is_tracked=true + break + fi + done + + if [[ "$is_tracked" == "false" ]]; then + # This is a user-added background, move it to user config + user_theme_bg_dir="$USER_BACKGROUNDS_DIR/$theme_name" + mkdir -p "$user_theme_bg_dir" + mv "$bg_file" "$user_theme_bg_dir/" + echo "Moved user background: $bg_file -> $user_theme_bg_dir/" + fi + done + done +fi + +THEMES_DIR="$HOME/.config/omarchy/themes" +CURRENT_THEME_LINK="$HOME/.config/omarchy/current/theme" + +# Get current theme name from symlink before removing anything +CURRENT_THEME_NAME="" +if [[ -L $CURRENT_THEME_LINK ]]; then + CURRENT_THEME_NAME=$(basename "$(readlink "$CURRENT_THEME_LINK")") +elif [[ -f "$HOME/.config/omarchy/current/theme.name" ]]; then + CURRENT_THEME_NAME=$(cat "$HOME/.config/omarchy/current/theme.name") +fi + +# Remove all symlinks from ~/.config/omarchy/themes +find "$THEMES_DIR" -mindepth 1 -maxdepth 1 -type l -delete + +# Re-apply the current theme with the new system +if [[ -n $CURRENT_THEME_NAME ]]; then + omarchy-theme-set "$CURRENT_THEME_NAME" +fi diff --git a/migrations/1767414310.sh b/migrations/1767414310.sh new file mode 100644 index 00000000..a0f3fbe2 --- /dev/null +++ b/migrations/1767414310.sh @@ -0,0 +1,3 @@ +echo "Use correct idle-timer sensitive timeouts for lock screen" + +sed -i 's/timeout = 300/timeout = 151/' ~/.config/hypr/hypridle.conf diff --git a/migrations/1767478141.sh b/migrations/1767478141.sh new file mode 100644 index 00000000..96d25cf8 --- /dev/null +++ b/migrations/1767478141.sh @@ -0,0 +1,3 @@ +echo "Add Omarchy AI skill for assistance tailoring the system" + +source $OMARCHY_PATH/install/config/omarchy-ai-skill.sh diff --git a/migrations/1767478687.sh b/migrations/1767478687.sh new file mode 100644 index 00000000..e10e3d58 --- /dev/null +++ b/migrations/1767478687.sh @@ -0,0 +1,9 @@ +echo "Add opencode with system themeing" + +omarchy-pkg-add opencode + +# Add config using omarchy theme by default +if [[ ! -f ~/.config/opencode/opencode.json ]]; then + mkdir -p ~/.config/opencode + cp $OMARCHY_PATH/config/opencode/opencode.json ~/.config/opencode/opencode.json +fi diff --git a/migrations/1767685679.sh b/migrations/1767685679.sh new file mode 100644 index 00000000..55c7baba --- /dev/null +++ b/migrations/1767685679.sh @@ -0,0 +1,32 @@ +echo "Add Voxtype to Waybar" + +STYLE_FILE=~/.config/waybar/style.css +CONFIG_FILE=~/.config/waybar/config.jsonc + +# Add voxtype CSS if not present +if ! grep -q "#custom-voxtype" "$STYLE_FILE"; then + sed -i 's/margin-left: 8\.75px;/margin-left: 5px;/' "$STYLE_FILE" + sed -i '/#custom-screenrecording-indicator {/,/}/ s/font-size: 10px;/font-size: 10px;\n padding-bottom: 1px;/' "$STYLE_FILE" + cat >> "$STYLE_FILE" << 'EOF' + +#custom-voxtype { + min-width: 12px; + margin: 0 0 0 7.5px; +} + +#custom-voxtype.recording { + color: #a55555; +} +EOF +fi + +# Add voxtype to modules-center if not present +if ! grep -q "custom/voxtype" "$CONFIG_FILE"; then + # Add to modules-center array + sed -i 's/"custom\/screenrecording-indicator"]/"custom\/voxtype", "custom\/screenrecording-indicator"]/' "$CONFIG_FILE" + + # Add voxtype config block before tray config + sed -i '/"tray": {/i\ "custom/voxtype": {\n "exec": "omarchy-voxtype-status",\n "return-type": "json",\n "format": "{icon}",\n "format-icons": {\n "idle": "",\n "recording": "󰍬",\n "transcribing": "󰔟"\n },\n "tooltip": true,\n "on-click-right": "omarchy-voxtype-config",\n "on-click": "omarchy-voxtype-model"\n },' "$CONFIG_FILE" +fi + +omarchy-restart-waybar diff --git a/migrations/1767716691.sh b/migrations/1767716691.sh new file mode 100644 index 00000000..c98ebfb6 --- /dev/null +++ b/migrations/1767716691.sh @@ -0,0 +1,14 @@ +echo "Add icons for additional audio profiles in Waybar" + +if ! grep -q '"headphone": ""' "$HOME/.config/waybar/config.jsonc"; then + sed -i ' + /"pulseaudio": {/,/^[ ]*}/{ + /"format-icons": {/,/^[ ]*}/{ + /"default":/i\ +\ "headphone": "", + } + } + ' "$HOME/.config/waybar/config.jsonc" + + omarchy-restart-waybar +fi diff --git a/themes/catppuccin-latte/alacritty.toml b/themes/catppuccin-latte/alacritty.toml deleted file mode 100644 index 3fcf61eb..00000000 --- a/themes/catppuccin-latte/alacritty.toml +++ /dev/null @@ -1,67 +0,0 @@ -# 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/chromium.theme b/themes/catppuccin-latte/chromium.theme deleted file mode 100644 index 8bd675bc..00000000 --- a/themes/catppuccin-latte/chromium.theme +++ /dev/null @@ -1 +0,0 @@ -239,241,245 diff --git a/themes/catppuccin-latte/colors.toml b/themes/catppuccin-latte/colors.toml new file mode 100644 index 00000000..93e550d6 --- /dev/null +++ b/themes/catppuccin-latte/colors.toml @@ -0,0 +1,26 @@ +accent = "#1e66f5" +active_border_color = "#8839EF" +active_tab_background = "#8839EF" + +cursor = "#dc8a78" +foreground = "#4c4f69" +background = "#eff1f5" +selection_foreground = "#eff1f5" +selection_background = "#dc8a78" + +color0 = "#bcc0cc" +color1 = "#d20f39" +color2 = "#40a02b" +color3 = "#df8e1d" +color4 = "#1e66f5" +color5 = "#ea76cb" +color6 = "#179299" +color7 = "#5c5f77" +color8 = "#acb0be" +color9 = "#d20f39" +color10 = "#40a02b" +color11 = "#df8e1d" +color12 = "#1e66f5" +color13 = "#ea76cb" +color14 = "#179299" +color15 = "#6c6f85" diff --git a/themes/catppuccin-latte/ghostty.conf b/themes/catppuccin-latte/ghostty.conf deleted file mode 100644 index e56f4ea6..00000000 --- a/themes/catppuccin-latte/ghostty.conf +++ /dev/null @@ -1 +0,0 @@ -theme = Catppuccin Latte diff --git a/themes/catppuccin-latte/hyprland-preview-share-picker.css b/themes/catppuccin-latte/hyprland-preview-share-picker.css deleted file mode 100644 index dc534965..00000000 --- a/themes/catppuccin-latte/hyprland-preview-share-picker.css +++ /dev/null @@ -1,94 +0,0 @@ -@define-color foreground #4C4F69; -@define-color background #EFF1F5; -@define-color accent #1E66F5; -@define-color muted #9CA0B0; -@define-color card_bg #E6E9EF; -@define-color text_dark #EFF1F5; -@define-color accent_hover #7287FD; -@define-color selected_tab #1E66F5; -@define-color text #4C4F69; - -* { - all: unset; - font-family: JetBrains Mono NF; - color: @foreground; - font-weight: bold; - font-size: 16px; -} - -.window { - background: alpha(@background, 0.95); - border: solid 2px @accent; - margin: 4px; - padding: 18px; -} - -tabs { - padding: 0.5rem 1rem; -} - -tabs > tab { - margin-right: 1rem; -} - -.tab-label { - color: @text; - transition: all 0.2s ease; -} - -tabs > tab:checked > .tab-label, tabs > tab:active > .tab-label { - text-decoration: underline currentColor; - color: @selected_tab; -} - -tabs > tab:focus > .tab-label { - color: @foreground; -} - -.page { - padding: 1rem; -} - -.image-label { - font-size: 12px; - padding: 0.25rem; -} - -flowboxchild > .card, button > .card { - transition: all 0.2s ease; - border: solid 2px transparent; - border-color: @background; - border-radius: 5px; - background-color: @card_bg; - padding: 5px; -} - -flowboxchild:hover > .card, button:hover > .card, flowboxchild:active > .card, flowboxchild:selected > .card, button:active > .card, button:selected > .card, button:focus > .card { - border: solid 2px @accent; -} - -.image { - border-radius: 5px; -} - -.region-button { - padding: 0.5rem 1rem; - border-radius: 5px; - background-color: @accent; - color: @text_dark; - transition: all 0.2s ease; -} - -.region-button > label { - color: @text_dark; -} - -.region-button:not(:disabled):hover, .region-button:not(:disabled):focus { - background-color: @accent_hover; - color: @text_dark; -} - -.region-button:disabled { - background-color: @muted; - color: @background; -} diff --git a/themes/catppuccin-latte/hyprland.conf b/themes/catppuccin-latte/hyprland.conf deleted file mode 100644 index 4a72d792..00000000 --- a/themes/catppuccin-latte/hyprland.conf +++ /dev/null @@ -1,9 +0,0 @@ -$activeBorderColor = rgb(1e66f5) - -general { - col.active_border = $activeBorderColor -} - -group { - col.border_active = $activeBorderColor -} diff --git a/themes/catppuccin-latte/hyprlock.conf b/themes/catppuccin-latte/hyprlock.conf deleted file mode 100644 index c47e5186..00000000 --- a/themes/catppuccin-latte/hyprlock.conf +++ /dev/null @@ -1,6 +0,0 @@ -$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/kitty.conf b/themes/catppuccin-latte/kitty.conf deleted file mode 100644 index 43cba927..00000000 --- a/themes/catppuccin-latte/kitty.conf +++ /dev/null @@ -1,78 +0,0 @@ -## name: Catppuccin Latte 🐑 -## author: Pocco81 (https://github.com/Pocco81) -## license: MIT -## upstream: https://github.com/catppuccin/kitty/blob/main/latte.conf -## blurb: Soothing pastel theme for the high-spirited! - - - -# The basic colors -foreground #4C4F69 -background #EFF1F5 -selection_foreground #EFF1F5 -selection_background #DC8A78 - -# Cursor colors -cursor #DC8A78 -cursor_text_color #EFF1F5 - -# URL underline color when hovering with mouse -url_color #7287FD - -# Kitty window border colors -active_border_color #8839EF -inactive_border_color #7C7F93 -bell_border_color #E64553 - -# OS Window titlebar colors -wayland_titlebar_color system -macos_titlebar_color system - -# Tab bar colors -active_tab_foreground #EFF1F5 -active_tab_background #8839EF -inactive_tab_foreground #4C4F69 -inactive_tab_background #9CA0B0 -tab_bar_background #BCC0CC - -# Colors for marks (marked text in the terminal) -mark1_foreground #EFF1F5 -mark1_background #1E66F5 -mark2_foreground #EFF1F5 -mark2_background #8839EF -mark3_foreground #EFF1F5 -mark3_background #209FB5 - -# The 16 terminal colors - -# black -color0 #4C4F69 -color8 #6C6F85 - -# red -color1 #D20F39 -color9 #D20F39 - -# green -color2 #40A02B -color10 #40A02B - -# yellow -color3 #DF8E1D -color11 #DF8E1D - -# blue -color4 #1E66F5 -color12 #1E66F5 - -# magenta -color5 #EA76CB -color13 #EA76CB - -# cyan -color6 #179299 -color14 #179299 - -# white -color7 #ACB0BE -color15 #ACB0BE diff --git a/themes/catppuccin-latte/mako.ini b/themes/catppuccin-latte/mako.ini deleted file mode 100644 index fa46cfff..00000000 --- a/themes/catppuccin-latte/mako.ini +++ /dev/null @@ -1,5 +0,0 @@ -include=~/.local/share/omarchy/default/mako/core.ini - -text-color=#4c4f69 -border-color=#1e66f5 -background-color=#eff1f5 diff --git a/themes/catppuccin-latte/swayosd.css b/themes/catppuccin-latte/swayosd.css deleted file mode 100644 index c5f23aa1..00000000 --- a/themes/catppuccin-latte/swayosd.css +++ /dev/null @@ -1,5 +0,0 @@ -@define-color background-color #eff1f5; -@define-color border-color #1e66f5; -@define-color label #4c4f69; -@define-color image #4c4f69; -@define-color progress #4c4f69; diff --git a/themes/catppuccin-latte/walker.css b/themes/catppuccin-latte/walker.css deleted file mode 100644 index 30e54bd1..00000000 --- a/themes/catppuccin-latte/walker.css +++ /dev/null @@ -1,6 +0,0 @@ -@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 deleted file mode 100644 index 5918ec62..00000000 --- a/themes/catppuccin-latte/waybar.css +++ /dev/null @@ -1,4 +0,0 @@ -@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/alacritty.toml b/themes/catppuccin/alacritty.toml deleted file mode 100644 index 7762dcdb..00000000 --- a/themes/catppuccin/alacritty.toml +++ /dev/null @@ -1,65 +0,0 @@ -[colors.primary] -background = "#1e1e2e" -foreground = "#cdd6f4" -dim_foreground = "#7f849c" -bright_foreground = "#cdd6f4" - -[colors.cursor] -text = "#1e1e2e" -cursor = "#f5e0dc" - -[colors.vi_mode_cursor] -text = "#1e1e2e" -cursor = "#b4befe" - -[colors.search.matches] -foreground = "#1e1e2e" -background = "#a6adc8" - -[colors.search.focused_match] -foreground = "#1e1e2e" -background = "#a6e3a1" - -[colors.footer_bar] -foreground = "#1e1e2e" -background = "#a6adc8" - -[colors.hints.start] -foreground = "#1e1e2e" -background = "#f9e2af" - -[colors.hints.end] -foreground = "#1e1e2e" -background = "#a6adc8" - -[colors.selection] -text = "#1e1e2e" -background = "#f5e0dc" - -[colors.normal] -black = "#45475a" -red = "#f38ba8" -green = "#a6e3a1" -yellow = "#f9e2af" -blue = "#89b4fa" -magenta = "#f5c2e7" -cyan = "#94e2d5" -white = "#bac2de" - -[colors.bright] -black = "#585b70" -red = "#f38ba8" -green = "#a6e3a1" -yellow = "#f9e2af" -blue = "#89b4fa" -magenta = "#f5c2e7" -cyan = "#94e2d5" -white = "#a6adc8" - -[[colors.indexed_colors]] -index = 16 -color = "#fab387" - -[[colors.indexed_colors]] -index = 17 -color = "#f5e0dc" diff --git a/themes/catppuccin/chromium.theme b/themes/catppuccin/chromium.theme deleted file mode 100644 index 1d965999..00000000 --- a/themes/catppuccin/chromium.theme +++ /dev/null @@ -1 +0,0 @@ -24,24,36 diff --git a/themes/catppuccin/colors.toml b/themes/catppuccin/colors.toml new file mode 100644 index 00000000..30eef198 --- /dev/null +++ b/themes/catppuccin/colors.toml @@ -0,0 +1,26 @@ +accent = "#89b4fa" +active_border_color = "#CBA6F7" +active_tab_background = "#CBA6F7" + +cursor = "#f5e0dc" +foreground = "#cdd6f4" +background = "#1e1e2e" +selection_foreground = "#1e1e2e" +selection_background = "#f5e0dc" + +color0 = "#45475a" +color1 = "#f38ba8" +color2 = "#a6e3a1" +color3 = "#f9e2af" +color4 = "#89b4fa" +color5 = "#f5c2e7" +color6 = "#94e2d5" +color7 = "#bac2de" +color8 = "#585b70" +color9 = "#f38ba8" +color10 = "#a6e3a1" +color11 = "#f9e2af" +color12 = "#89b4fa" +color13 = "#f5c2e7" +color14 = "#94e2d5" +color15 = "#a6adc8" diff --git a/themes/catppuccin/ghostty.conf b/themes/catppuccin/ghostty.conf deleted file mode 100644 index fe0502bc..00000000 --- a/themes/catppuccin/ghostty.conf +++ /dev/null @@ -1 +0,0 @@ -theme = Catppuccin Mocha diff --git a/themes/catppuccin/hyprland-preview-share-picker.css b/themes/catppuccin/hyprland-preview-share-picker.css deleted file mode 100644 index 8fb9f9d2..00000000 --- a/themes/catppuccin/hyprland-preview-share-picker.css +++ /dev/null @@ -1,94 +0,0 @@ -@define-color foreground #CDD6F4; -@define-color background #1E1E2E; -@define-color accent #87B0F9; -@define-color muted #43465A; -@define-color card_bg #181825; -@define-color text_dark #11111B; -@define-color accent_hover #B4BEFE; -@define-color selected_tab #87B0F9; -@define-color text #CDD6F4; - -* { - all: unset; - font-family: JetBrains Mono NF; - color: @foreground; - font-weight: bold; - font-size: 16px; -} - -.window { - background: alpha(@background, 0.95); - border: solid 2px @accent; - margin: 4px; - padding: 18px; -} - -tabs { - padding: 0.5rem 1rem; -} - -tabs > tab { - margin-right: 1rem; -} - -.tab-label { - color: @text; - transition: all 0.2s ease; -} - -tabs > tab:checked > .tab-label, tabs > tab:active > .tab-label { - text-decoration: underline currentColor; - color: @selected_tab; -} - -tabs > tab:focus > .tab-label { - color: @foreground; -} - -.page { - padding: 1rem; -} - -.image-label { - font-size: 12px; - padding: 0.25rem; -} - -flowboxchild > .card, button > .card { - transition: all 0.2s ease; - border: solid 2px transparent; - border-color: @background; - border-radius: 5px; - background-color: @card_bg; - padding: 5px; -} - -flowboxchild:hover > .card, button:hover > .card, flowboxchild:active > .card, flowboxchild:selected > .card, button:active > .card, button:selected > .card, button:focus > .card { - border: solid 2px @accent; -} - -.image { - border-radius: 5px; -} - -.region-button { - padding: 0.5rem 1rem; - border-radius: 5px; - background-color: @accent; - color: @text_dark; - transition: all 0.2s ease; -} - -.region-button > label { - color: @text_dark; -} - -.region-button:not(:disabled):hover, .region-button:not(:disabled):focus { - background-color: @accent_hover; - color: @text_dark; -} - -.region-button:disabled { - background-color: @muted; - color: @background; -} diff --git a/themes/catppuccin/hyprland.conf b/themes/catppuccin/hyprland.conf deleted file mode 100644 index da3374ba..00000000 --- a/themes/catppuccin/hyprland.conf +++ /dev/null @@ -1,9 +0,0 @@ -$activeBorderColor = rgb(c6d0f5) - -general { - col.active_border = $activeBorderColor -} - -group { - col.border_active = $activeBorderColor -} diff --git a/themes/catppuccin/hyprlock.conf b/themes/catppuccin/hyprlock.conf deleted file mode 100644 index 4bd905b6..00000000 --- a/themes/catppuccin/hyprlock.conf +++ /dev/null @@ -1,5 +0,0 @@ -$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) -$check_color = rgba(68, 157, 171, 1.0) diff --git a/themes/catppuccin/kitty.conf b/themes/catppuccin/kitty.conf deleted file mode 100644 index e8ee9a1a..00000000 --- a/themes/catppuccin/kitty.conf +++ /dev/null @@ -1,78 +0,0 @@ -## name: Catppuccin Mocha 🌿 -## author: Pocco81 (https://github.com/Pocco81) -## license: MIT -## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf -## blurb: Soothing pastel theme for the high-spirited! - - - -# The basic colors -foreground #CDD6F4 -background #1E1E2E -selection_foreground #1E1E2E -selection_background #F5E0DC - -# Cursor colors -cursor #F5E0DC -cursor_text_color #1E1E2E - -# URL underline color when hovering with mouse -url_color #B4BEFE - -# Kitty window border colors -active_border_color #CBA6F7 -inactive_border_color #8E95B3 -bell_border_color #EBA0AC - -# OS Window titlebar colors -wayland_titlebar_color system -macos_titlebar_color system - -# Tab bar colors -active_tab_foreground #11111B -active_tab_background #CBA6F7 -inactive_tab_foreground #CDD6F4 -inactive_tab_background #181825 -tab_bar_background #11111B - -# Colors for marks (marked text in the terminal) -mark1_foreground #1E1E2E -mark1_background #87B0F9 -mark2_foreground #1E1E2E -mark2_background #CBA6F7 -mark3_foreground #1E1E2E -mark3_background #74C7EC - -# The 16 terminal colors - -# black -color0 #43465A -color8 #43465A - -# red -color1 #F38BA8 -color9 #F38BA8 - -# green -color2 #A6E3A1 -color10 #A6E3A1 - -# yellow -color3 #F9E2AF -color11 #F9E2AF - -# blue -color4 #87B0F9 -color12 #87B0F9 - -# magenta -color5 #F5C2E7 -color13 #F5C2E7 - -# cyan -color6 #94E2D5 -color14 #94E2D5 - -# white -color7 #CDD6F4 -color15 #A1A8C9 diff --git a/themes/catppuccin/mako.ini b/themes/catppuccin/mako.ini deleted file mode 100644 index e530b7d5..00000000 --- a/themes/catppuccin/mako.ini +++ /dev/null @@ -1,5 +0,0 @@ -include=~/.local/share/omarchy/default/mako/core.ini - -text-color=#cad3f5 -border-color=#c6d0f5 -background-color=#24273a diff --git a/themes/catppuccin/swayosd.css b/themes/catppuccin/swayosd.css deleted file mode 100644 index 0ff80d2a..00000000 --- a/themes/catppuccin/swayosd.css +++ /dev/null @@ -1,5 +0,0 @@ -@define-color background-color #24273a; -@define-color border-color #c6d0f5; -@define-color label #cad3f5; -@define-color image #cad3f5; -@define-color progress #cad3f5; diff --git a/themes/catppuccin/walker.css b/themes/catppuccin/walker.css deleted file mode 100644 index 4b0d346f..00000000 --- a/themes/catppuccin/walker.css +++ /dev/null @@ -1,6 +0,0 @@ -@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/waybar.css b/themes/catppuccin/waybar.css deleted file mode 100644 index bf35a404..00000000 --- a/themes/catppuccin/waybar.css +++ /dev/null @@ -1,2 +0,0 @@ -@define-color foreground #cdd6f4; -@define-color background #181824; diff --git a/themes/ethereal/alacritty.toml b/themes/ethereal/alacritty.toml deleted file mode 100644 index 215c3c09..00000000 --- a/themes/ethereal/alacritty.toml +++ /dev/null @@ -1,28 +0,0 @@ -[colors] -[colors.primary] -background = "#060B1E" -foreground = "#ffcead" - -[colors.normal] -black = "#060B1E" -red = "#ED5B5A" -green = "#92a593" -yellow = "#E9BB4F" -blue = "#7d82d9" -magenta = "#c89dc1" -cyan = "#a3bfd1" -white = "#F99957" - -[colors.bright] -black = "#6d7db6" -red = "#faaaa9" -green = "#c4cfc4" -yellow = "#f7dc9c" -blue = "#c2c4f0" -magenta = "#ead7e7" -cyan = "#dfeaf0" -white = "#ffcead" - -[colors.cursor] -text = "#060B1E" -cursor = "#ffcead" diff --git a/themes/ethereal/chromium.theme b/themes/ethereal/chromium.theme deleted file mode 100644 index 164d85c8..00000000 --- a/themes/ethereal/chromium.theme +++ /dev/null @@ -1 +0,0 @@ -6,11,30 diff --git a/themes/ethereal/colors.toml b/themes/ethereal/colors.toml new file mode 100644 index 00000000..3cbe19b7 --- /dev/null +++ b/themes/ethereal/colors.toml @@ -0,0 +1,26 @@ +accent = "#7d82d9" +active_border_color = "#7d82d9" +active_tab_background = "#060B1E" + +cursor = "#ffcead" +foreground = "#ffcead" +background = "#060B1E" +selection_foreground = "#060B1E" +selection_background = "#ffcead" + +color0 = "#060B1E" +color1 = "#ED5B5A" +color2 = "#92a593" +color3 = "#E9BB4F" +color4 = "#7d82d9" +color5 = "#c89dc1" +color6 = "#a3bfd1" +color7 = "#F99957" +color8 = "#6d7db6" +color9 = "#faaaa9" +color10 = "#c4cfc4" +color11 = "#f7dc9c" +color12 = "#c2c4f0" +color13 = "#ead7e7" +color14 = "#dfeaf0" +color15 = "#ffcead" diff --git a/themes/ethereal/ghostty.conf b/themes/ethereal/ghostty.conf deleted file mode 100644 index 1ac9168b..00000000 --- a/themes/ethereal/ghostty.conf +++ /dev/null @@ -1,23 +0,0 @@ -# Background and foreground colors -background = #060B1E -foreground = #ffcead - -# Standard colors -palette = 0=#060B1E -palette = 1=#ED5B5A -palette = 2=#92a593 -palette = 3=#E9BB4F -palette = 4=#7d82d9 -palette = 5=#c89dc1 -palette = 6=#a3bfd1 -palette = 7=#F99957 - -# Bright colors -palette = 8=#6d7db6 -palette = 9=#faaaa9 -palette = 10=#c4cfc4 -palette = 11=#f7dc9c -palette = 12=#c2c4f0 -palette = 13=#ead7e7 -palette = 14=#dfeaf0 -palette = 15=#ffcead diff --git a/themes/ethereal/hyprland.conf b/themes/ethereal/hyprland.conf deleted file mode 100644 index 9b72328f..00000000 --- a/themes/ethereal/hyprland.conf +++ /dev/null @@ -1,12 +0,0 @@ -# This file is not a full hyprland configuration. -# It is intended to be included in your main hyprland.conf. - -$activeBorderColor = rgb(4E85D8) - -general { - col.active_border = $activeBorderColor -} - -group { - col.border_active = $activeBorderColor -} diff --git a/themes/ethereal/hyprlock.conf b/themes/ethereal/hyprlock.conf deleted file mode 100644 index 7d9b62e2..00000000 --- a/themes/ethereal/hyprlock.conf +++ /dev/null @@ -1,6 +0,0 @@ -$color = rgba(6, 11, 30, 1) -$inner_color = rgba(6, 11, 30, 0.66) -$outer_color = rgba(200, 157, 193, 1) -$font_color = rgba(255, 206, 173, 1) -$placeholder_color = rgba(255, 206, 173, 0.7) -$check_color = rgba(163, 191, 209, 1) diff --git a/themes/ethereal/kitty.conf b/themes/ethereal/kitty.conf deleted file mode 100644 index fe3bae7d..00000000 --- a/themes/ethereal/kitty.conf +++ /dev/null @@ -1,34 +0,0 @@ -background #060B1E -foreground #ffcead - -# black -color0 #060B1E -color8 #6d7db6 - -# red -color1 #ED5B5A -color9 #faaaa9 - -# green -color2 #92a593 -color10 #c4cfc4 - -# yellow -color3 #E9BB4F -color11 #f7dc9c - -# blue -color4 #7d82d9 -color12 #c2c4f0 - -# magenta -color5 #c89dc1 -color13 #ead7e7 - -#cyan -color6 #a3bfd1 -color14 #dfeaf0 - -#white -color7 #F99957 -color15 #ffcead diff --git a/themes/ethereal/mako.ini b/themes/ethereal/mako.ini deleted file mode 100644 index fde27a45..00000000 --- a/themes/ethereal/mako.ini +++ /dev/null @@ -1,21 +0,0 @@ -text-color=#ffcead -border-color=#c89dc1 -background-color=#060B1E -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/ethereal/swayosd.css b/themes/ethereal/swayosd.css deleted file mode 100644 index 7cdfeead..00000000 --- a/themes/ethereal/swayosd.css +++ /dev/null @@ -1,5 +0,0 @@ -@define-color background-color #060B1E; -@define-color border-color #6d7db6; -@define-color label #ffcead; -@define-color image #ffcead; -@define-color progress #E9BB4F; \ No newline at end of file diff --git a/themes/ethereal/walker.css b/themes/ethereal/walker.css deleted file mode 100644 index ceb5d953..00000000 --- a/themes/ethereal/walker.css +++ /dev/null @@ -1,6 +0,0 @@ -@define-color selected-text #7d82d9; -@define-color text #ffcead; -@define-color base #060B1E; -@define-color border #6d7db6; -@define-color foreground #ffcead; -@define-color background #060B1E; diff --git a/themes/ethereal/waybar.css b/themes/ethereal/waybar.css deleted file mode 100644 index d03dff38..00000000 --- a/themes/ethereal/waybar.css +++ /dev/null @@ -1,2 +0,0 @@ -@define-color background #060B1E; -@define-color foreground #ffcead; diff --git a/themes/everforest/alacritty.toml b/themes/everforest/alacritty.toml deleted file mode 100644 index faf62fac..00000000 --- a/themes/everforest/alacritty.toml +++ /dev/null @@ -1,24 +0,0 @@ -[colors] -[colors.primary] -background = '#2d353b' -foreground = '#d3c6aa' - -[colors.normal] -black = '#475258' -red = '#e67e80' -green = '#a7c080' -yellow = '#dbbc7f' -blue = '#7fbbb3' -magenta = '#d699b6' -cyan = '#83c092' -white = '#d3c6aa' - -[colors.bright] -black = '#475258' -red = '#e67e80' -green = '#a7c080' -yellow = '#dbbc7f' -blue = '#7fbbb3' -magenta = '#d699b6' -cyan = '#83c092' -white = '#d3c6aa' diff --git a/themes/everforest/chromium.theme b/themes/everforest/chromium.theme deleted file mode 100644 index 381b5ba6..00000000 --- a/themes/everforest/chromium.theme +++ /dev/null @@ -1 +0,0 @@ -45,53,59 diff --git a/themes/everforest/colors.toml b/themes/everforest/colors.toml new file mode 100644 index 00000000..f2e61588 --- /dev/null +++ b/themes/everforest/colors.toml @@ -0,0 +1,26 @@ +accent = "#7fbbb3" +active_border_color = "#7fbbb3" +active_tab_background = "#2d353b" + +cursor = "#d3c6aa" +foreground = "#d3c6aa" +background = "#2d353b" +selection_foreground = "#2d353b" +selection_background = "#d3c6aa" + +color0 = "#475258" +color1 = "#e67e80" +color2 = "#a7c080" +color3 = "#dbbc7f" +color4 = "#7fbbb3" +color5 = "#d699b6" +color6 = "#83c092" +color7 = "#d3c6aa" +color8 = "#475258" +color9 = "#e67e80" +color10 = "#a7c080" +color11 = "#dbbc7f" +color12 = "#7fbbb3" +color13 = "#d699b6" +color14 = "#83c092" +color15 = "#d3c6aa" diff --git a/themes/everforest/ghostty.conf b/themes/everforest/ghostty.conf deleted file mode 100644 index 6208b9ce..00000000 --- a/themes/everforest/ghostty.conf +++ /dev/null @@ -1,20 +0,0 @@ -background = #2d353b -foreground = #d3c6aa - -palette = 0=#475258 -palette = 1=#e67e80 -palette = 2=#a7c080 -palette = 3=#dbbc7f -palette = 4=#7fbbb3 -palette = 5=#d699b6 -palette = 6=#83c092 -palette = 7=#d3c6aa - -palette = 8=#475258 -palette = 9=#e67e80 -palette = 10=#a7c080 -palette = 11=#dbbc7f -palette = 12=#7fbbb3 -palette = 13=#d699b6 -palette = 14=#83c092 -palette = 15=#d3c6aa diff --git a/themes/everforest/hyprland-preview-share-picker.css b/themes/everforest/hyprland-preview-share-picker.css deleted file mode 100644 index 58a15be3..00000000 --- a/themes/everforest/hyprland-preview-share-picker.css +++ /dev/null @@ -1,94 +0,0 @@ -@define-color foreground #d3c6aa; -@define-color background #2d353b; -@define-color accent #a7c080; -@define-color muted #475258; -@define-color card_bg #333c43; -@define-color text_dark #2d353b; -@define-color accent_hover #83c092; -@define-color selected_tab #a7c080; -@define-color text #d3c6aa; - -* { - all: unset; - font-family: JetBrains Mono NF; - color: @foreground; - font-weight: bold; - font-size: 16px; -} - -.window { - background: alpha(@background, 0.95); - border: solid 2px @accent; - margin: 4px; - padding: 18px; -} - -tabs { - padding: 0.5rem 1rem; -} - -tabs > tab { - margin-right: 1rem; -} - -.tab-label { - color: @text; - transition: all 0.2s ease; -} - -tabs > tab:checked > .tab-label, tabs > tab:active > .tab-label { - text-decoration: underline currentColor; - color: @selected_tab; -} - -tabs > tab:focus > .tab-label { - color: @foreground; -} - -.page { - padding: 1rem; -} - -.image-label { - font-size: 12px; - padding: 0.25rem; -} - -flowboxchild > .card, button > .card { - transition: all 0.2s ease; - border: solid 2px transparent; - border-color: @background; - border-radius: 5px; - background-color: @card_bg; - padding: 5px; -} - -flowboxchild:hover > .card, button:hover > .card, flowboxchild:active > .card, flowboxchild:selected > .card, button:active > .card, button:selected > .card, button:focus > .card { - border: solid 2px @accent; -} - -.image { - border-radius: 5px; -} - -.region-button { - padding: 0.5rem 1rem; - border-radius: 5px; - background-color: @accent; - color: @text_dark; - transition: all 0.2s ease; -} - -.region-button > label { - color: @text_dark; -} - -.region-button:not(:disabled):hover, .region-button:not(:disabled):focus { - background-color: @accent_hover; - color: @text_dark; -} - -.region-button:disabled { - background-color: @muted; - color: @background; -} diff --git a/themes/everforest/hyprlock.conf b/themes/everforest/hyprlock.conf deleted file mode 100644 index 11359524..00000000 --- a/themes/everforest/hyprlock.conf +++ /dev/null @@ -1,5 +0,0 @@ -$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) -$check_color = rgba(131, 192, 146, 1.0) diff --git a/themes/everforest/kitty.conf b/themes/everforest/kitty.conf deleted file mode 100644 index 825cac23..00000000 --- a/themes/everforest/kitty.conf +++ /dev/null @@ -1,28 +0,0 @@ -## name: Everforest Dark Hard -## author: Sainnhe Park -## license: MIT -## upstream: https://github.com/ewal/kitty-everforest/blob/master/themes/everforest_dark_hard.conf -## blurb: A green based color scheme designed to be warm and soft - -background #2d353b -foreground #d3c6aa - -# Normal colors -color0 #475258 -color1 #e67e80 -color2 #a7c080 -color3 #dbbc7f -color4 #7fbbb3 -color5 #d699b6 -color6 #83c092 -color7 #d3c6aa - -# Bright colors -color8 #475258 -color9 #e67e80 -color10 #a7c080 -color11 #dbbc7f -color12 #7fbbb3 -color13 #d699b6 -color14 #83c092 -color15 #d3c6aa diff --git a/themes/everforest/mako.ini b/themes/everforest/mako.ini deleted file mode 100644 index 0008121f..00000000 --- a/themes/everforest/mako.ini +++ /dev/null @@ -1,5 +0,0 @@ -include=~/.local/share/omarchy/default/mako/core.ini - -text-color=#d3c6aa -border-color=#d3c6aa -background-color=#2d353b diff --git a/themes/everforest/swayosd.css b/themes/everforest/swayosd.css deleted file mode 100644 index f0bff409..00000000 --- a/themes/everforest/swayosd.css +++ /dev/null @@ -1,6 +0,0 @@ -@define-color background-color #2d353b; -@define-color border-color #d3c6aa; -@define-color label #d3c6aa; -@define-color image #d3c6aa; -@define-color progress #d3c6aa; - diff --git a/themes/everforest/walker.css b/themes/everforest/walker.css deleted file mode 100644 index 56d6e569..00000000 --- a/themes/everforest/walker.css +++ /dev/null @@ -1,6 +0,0 @@ -@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/waybar.css b/themes/everforest/waybar.css deleted file mode 100644 index e8249f7e..00000000 --- a/themes/everforest/waybar.css +++ /dev/null @@ -1,2 +0,0 @@ -@define-color foreground #d3c6aa; -@define-color background #2d353b; diff --git a/themes/flexoki-light/alacritty.toml b/themes/flexoki-light/alacritty.toml deleted file mode 100644 index e59fce8b..00000000 --- a/themes/flexoki-light/alacritty.toml +++ /dev/null @@ -1,39 +0,0 @@ -[colors.bright] -black = "#100F0F" -blue = "#205EA6" -cyan = "#3AA99F" -green = "#879A39" -magenta = "#CE5D97" -red = "#D14D41" -white = "#FFFCF0" -yellow = "#D0A215" - -[colors.cursor] -cursor = "#100F0F" -text = "#FFFCF0" - -[colors.dim] -black = "#100F0F" -blue = "#205EA6" -cyan = "#3AA99F" -green = "#879A39" -magenta = "#CE5D97" -red = "#D14D41" -white = "#FFFCF0" -yellow = "#D0A215" - -[colors.normal] -black = "#100F0F" -blue = "#205EA6" -cyan = "#3AA99F" -green = "#879A39" -magenta = "#CE5D97" -red = "#D14D41" -white = "#FFFCF0" -yellow = "#D0A215" - -[colors.primary] -background = "#FFFCF0" -bright_foreground = "#100F0F" -dim_foreground = "#100F0F" -foreground = "#100F0F" diff --git a/themes/flexoki-light/colors.toml b/themes/flexoki-light/colors.toml new file mode 100644 index 00000000..b5e3a622 --- /dev/null +++ b/themes/flexoki-light/colors.toml @@ -0,0 +1,26 @@ +accent = "#205EA6" +active_border_color = "#D14D41" +active_tab_background = "#CECDC3" + +cursor = "#100F0F" +foreground = "#100F0F" +background = "#FFFCF0" +selection_foreground = "#100F0F" +selection_background = "#CECDC3" + +color0 = "#100F0F" +color1 = "#D14D41" +color2 = "#879A39" +color3 = "#D0A215" +color4 = "#205EA6" +color5 = "#CE5D97" +color6 = "#3AA99F" +color7 = "#FFFCF0" +color8 = "#100F0F" +color9 = "#D14D41" +color10 = "#879A39" +color11 = "#D0A215" +color12 = "#4385BE" +color13 = "#CE5D97" +color14 = "#3AA99F" +color15 = "#FFFCF0" diff --git a/themes/flexoki-light/ghostty.conf b/themes/flexoki-light/ghostty.conf deleted file mode 100644 index 5bc755a1..00000000 --- a/themes/flexoki-light/ghostty.conf +++ /dev/null @@ -1 +0,0 @@ -theme = Flexoki Light \ No newline at end of file diff --git a/themes/flexoki-light/hyprland-preview-share-picker.css b/themes/flexoki-light/hyprland-preview-share-picker.css deleted file mode 100644 index 33faa53f..00000000 --- a/themes/flexoki-light/hyprland-preview-share-picker.css +++ /dev/null @@ -1,94 +0,0 @@ -@define-color foreground #100F0F; -@define-color background #FFFCF0; -@define-color accent #205EA6; -@define-color muted #6F6E69; -@define-color card_bg #F2F0E5; -@define-color text_dark #FFFCF0; -@define-color accent_hover #4385BE; -@define-color selected_tab #205EA6; -@define-color text #100F0F; - -* { - all: unset; - font-family: JetBrains Mono NF; - color: @foreground; - font-weight: bold; - font-size: 16px; -} - -.window { - background: alpha(@background, 0.95); - border: solid 2px @accent; - margin: 4px; - padding: 18px; -} - -tabs { - padding: 0.5rem 1rem; -} - -tabs > tab { - margin-right: 1rem; -} - -.tab-label { - color: @text; - transition: all 0.2s ease; -} - -tabs > tab:checked > .tab-label, tabs > tab:active > .tab-label { - text-decoration: underline currentColor; - color: @selected_tab; -} - -tabs > tab:focus > .tab-label { - color: @foreground; -} - -.page { - padding: 1rem; -} - -.image-label { - font-size: 12px; - padding: 0.25rem; -} - -flowboxchild > .card, button > .card { - transition: all 0.2s ease; - border: solid 2px transparent; - border-color: @background; - border-radius: 5px; - background-color: @card_bg; - padding: 5px; -} - -flowboxchild:hover > .card, button:hover > .card, flowboxchild:active > .card, flowboxchild:selected > .card, button:active > .card, button:selected > .card, button:focus > .card { - border: solid 2px @accent; -} - -.image { - border-radius: 5px; -} - -.region-button { - padding: 0.5rem 1rem; - border-radius: 5px; - background-color: @accent; - color: @text_dark; - transition: all 0.2s ease; -} - -.region-button > label { - color: @text_dark; -} - -.region-button:not(:disabled):hover, .region-button:not(:disabled):focus { - background-color: @accent_hover; - color: @text_dark; -} - -.region-button:disabled { - background-color: @muted; - color: @background; -} diff --git a/themes/flexoki-light/hyprland.conf b/themes/flexoki-light/hyprland.conf deleted file mode 100644 index 1baef471..00000000 --- a/themes/flexoki-light/hyprland.conf +++ /dev/null @@ -1,9 +0,0 @@ -$activeBorderColor = rgba(205EA6ee) - -general { - col.active_border = $activeBorderColor -} - -group { - col.border_active = $activeBorderColor -} diff --git a/themes/flexoki-light/hyprlock.conf b/themes/flexoki-light/hyprlock.conf deleted file mode 100644 index e1d0dd4a..00000000 --- a/themes/flexoki-light/hyprlock.conf +++ /dev/null @@ -1,5 +0,0 @@ -$color = rgba(255,252,240,1.0) -$inner_color = rgba(242,240,229,1.0) -$outer_color = rgba(206,205,195,1.0) -$font_color = rgba(16,15,15,1.0) -$check_color = rgba(32, 94, 166, 1.0) diff --git a/themes/flexoki-light/kitty.conf b/themes/flexoki-light/kitty.conf deleted file mode 100644 index c8ee0142..00000000 --- a/themes/flexoki-light/kitty.conf +++ /dev/null @@ -1,67 +0,0 @@ -# vim:ft=kitty - -## name: Flexoki (Light) -## author: Kepano -## license: MIT -## upstream: https://raw.githubusercontent.com/kepano/flexoki/main/kitty/flexoki_light.conf -## blurb: An inky color scheme for prose and code - -# The basic colors -foreground #100F0F -background #FFFCF0 -selection_foreground #100F0F -selection_background #CECDC3 - -# Cursor colors -cursor #100F0F -cursor_text_color #FFFCF0 - -# kitty window border colors -active_border_color #D14D41 -inactive_border_color #CECDC3 - -# Tab bar colors -active_tab_foreground #100F0F -active_tab_background #CECDC3 -inactive_tab_foreground #6F6E69 -inactive_tab_background #E6E4D9 - -# The basic 16 colors -# black -color0 #100F0F -color8 #6F6E69 - - -# red -color1 #D14D41 -color9 #AF3029 - - -# green -color2 #879A39 -color10 #66800B - - -# yellow -color3 #D0A215 -color11 #AD8301 - - -# blue -color4 #4385BE -color12 #205EA6 - - -# magenta -color5 #CE5D97 -color13 #A02F6F - - -# cyan -color6 #3AA99F -color14 #24837B - - -# white -color7 #FFFCF0 -color15 #F2F0E5 \ No newline at end of file diff --git a/themes/flexoki-light/mako.ini b/themes/flexoki-light/mako.ini deleted file mode 100644 index 19cf1af4..00000000 --- a/themes/flexoki-light/mako.ini +++ /dev/null @@ -1,5 +0,0 @@ -include=~/.local/share/omarchy/default/mako/core.ini - -text-color=#100F0F -border-color=#205EA6 -background-color=#FFFCF0 diff --git a/themes/flexoki-light/swayosd.css b/themes/flexoki-light/swayosd.css deleted file mode 100644 index 444964d5..00000000 --- a/themes/flexoki-light/swayosd.css +++ /dev/null @@ -1,5 +0,0 @@ -@define-color background-color #FFFCF0; -@define-color border-color #205EA6; -@define-color label #100F0F; -@define-color image #100F0F; -@define-color progress #100F0F; diff --git a/themes/flexoki-light/walker.css b/themes/flexoki-light/walker.css deleted file mode 100644 index e2ecdfb2..00000000 --- a/themes/flexoki-light/walker.css +++ /dev/null @@ -1,6 +0,0 @@ -@define-color selected-text #205EA6; -@define-color text #100F0F; -@define-color base #FFFCF0; -@define-color border #205EA6; -@define-color foreground #100F0F; -@define-color background #FFFCF0; diff --git a/themes/flexoki-light/waybar.css b/themes/flexoki-light/waybar.css deleted file mode 100644 index edc54c16..00000000 --- a/themes/flexoki-light/waybar.css +++ /dev/null @@ -1,2 +0,0 @@ -@define-color foreground #100F0F; -@define-color background #FFFCF0; diff --git a/themes/gruvbox/alacritty.toml b/themes/gruvbox/alacritty.toml deleted file mode 100644 index 03f4b615..00000000 --- a/themes/gruvbox/alacritty.toml +++ /dev/null @@ -1,24 +0,0 @@ -[colors] -[colors.primary] -background = "0x282828" -foreground = "0xd4be98" - -[colors.normal] -black = "0x3c3836" -red = "0xea6962" -green = "0xa9b665" -yellow = "0xd8a657" -blue = "0x7daea3" -magenta = "0xd3869b" -cyan = "0x89b482" -white = "0xd4be98" - -[colors.bright] -black = "0x3c3836" -red = "0xea6962" -green = "0xa9b665" -yellow = "0xd8a657" -blue = "0x7daea3" -magenta = "0xd3869b" -cyan = "0x89b482" -white = "0xd4be98" diff --git a/themes/gruvbox/backgrounds/1-grubox.jpg b/themes/gruvbox/backgrounds/1-grubox.jpg index fd318699..c9ff5316 100644 Binary files a/themes/gruvbox/backgrounds/1-grubox.jpg and b/themes/gruvbox/backgrounds/1-grubox.jpg differ diff --git a/themes/gruvbox/backgrounds/2-gruvbox.jpg b/themes/gruvbox/backgrounds/2-gruvbox.jpg new file mode 100644 index 00000000..fd318699 Binary files /dev/null and b/themes/gruvbox/backgrounds/2-gruvbox.jpg differ diff --git a/themes/gruvbox/chromium.theme b/themes/gruvbox/chromium.theme deleted file mode 100644 index 40520c92..00000000 --- a/themes/gruvbox/chromium.theme +++ /dev/null @@ -1 +0,0 @@ -40,40,40 diff --git a/themes/gruvbox/colors.toml b/themes/gruvbox/colors.toml new file mode 100644 index 00000000..b6e7b351 --- /dev/null +++ b/themes/gruvbox/colors.toml @@ -0,0 +1,26 @@ +accent = "#7daea3" +active_border_color = "#458588" +active_tab_background = "#d65d0e" + +cursor = "#bdae93" +foreground = "#d4be98" +background = "#282828" +selection_foreground = "#ebdbb2" +selection_background = "#d65d0e" + +color0 = "#3c3836" +color1 = "#ea6962" +color2 = "#a9b665" +color3 = "#d8a657" +color4 = "#7daea3" +color5 = "#d3869b" +color6 = "#89b482" +color7 = "#d4be98" +color8 = "#3c3836" +color9 = "#ea6962" +color10 = "#a9b665" +color11 = "#d8a657" +color12 = "#7daea3" +color13 = "#d3869b" +color14 = "#89b482" +color15 = "#d4be98" diff --git a/themes/gruvbox/ghostty.conf b/themes/gruvbox/ghostty.conf deleted file mode 100644 index dbb7464e..00000000 --- a/themes/gruvbox/ghostty.conf +++ /dev/null @@ -1 +0,0 @@ -theme = Gruvbox Dark diff --git a/themes/gruvbox/hyprland-preview-share-picker.css b/themes/gruvbox/hyprland-preview-share-picker.css deleted file mode 100644 index c3a552c4..00000000 --- a/themes/gruvbox/hyprland-preview-share-picker.css +++ /dev/null @@ -1,94 +0,0 @@ -@define-color foreground #ebdbb2; -@define-color background #282828; -@define-color accent #d65d0e; -@define-color muted #928374; -@define-color card_bg #3c3836; -@define-color text_dark #282828; -@define-color accent_hover #fabd2f; -@define-color selected_tab #d65d0e; -@define-color text #ebdbb2; - -* { - all: unset; - font-family: JetBrains Mono NF; - color: @foreground; - font-weight: bold; - font-size: 16px; -} - -.window { - background: alpha(@background, 0.95); - border: solid 2px @accent; - margin: 4px; - padding: 18px; -} - -tabs { - padding: 0.5rem 1rem; -} - -tabs > tab { - margin-right: 1rem; -} - -.tab-label { - color: @text; - transition: all 0.2s ease; -} - -tabs > tab:checked > .tab-label, tabs > tab:active > .tab-label { - text-decoration: underline currentColor; - color: @selected_tab; -} - -tabs > tab:focus > .tab-label { - color: @foreground; -} - -.page { - padding: 1rem; -} - -.image-label { - font-size: 12px; - padding: 0.25rem; -} - -flowboxchild > .card, button > .card { - transition: all 0.2s ease; - border: solid 2px transparent; - border-color: @background; - border-radius: 5px; - background-color: @card_bg; - padding: 5px; -} - -flowboxchild:hover > .card, button:hover > .card, flowboxchild:active > .card, flowboxchild:selected > .card, button:active > .card, button:selected > .card, button:focus > .card { - border: solid 2px @accent; -} - -.image { - border-radius: 5px; -} - -.region-button { - padding: 0.5rem 1rem; - border-radius: 5px; - background-color: @accent; - color: @text_dark; - transition: all 0.2s ease; -} - -.region-button > label { - color: @text_dark; -} - -.region-button:not(:disabled):hover, .region-button:not(:disabled):focus { - background-color: @accent_hover; - color: @text_dark; -} - -.region-button:disabled { - background-color: @muted; - color: @background; -} diff --git a/themes/gruvbox/hyprland.conf b/themes/gruvbox/hyprland.conf deleted file mode 100644 index 029cc908..00000000 --- a/themes/gruvbox/hyprland.conf +++ /dev/null @@ -1,9 +0,0 @@ -$activeBorderColor = rgb(a89984) - -general { - col.active_border = $activeBorderColor -} - -group { - col.border_active = $activeBorderColor -} diff --git a/themes/gruvbox/hyprlock.conf b/themes/gruvbox/hyprlock.conf deleted file mode 100644 index 1d18e4f5..00000000 --- a/themes/gruvbox/hyprlock.conf +++ /dev/null @@ -1,5 +0,0 @@ -$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) -$check_color = rgba(214, 153, 92, 1.0) diff --git a/themes/gruvbox/kitty.conf b/themes/gruvbox/kitty.conf deleted file mode 100644 index 38b015cc..00000000 --- a/themes/gruvbox/kitty.conf +++ /dev/null @@ -1,40 +0,0 @@ -## name: Gruvbox Dark -## author: Pavel Pertsev -## license: MIT/X11 -## upstream: https://raw.githubusercontent.com/gruvbox-community/gruvbox-contrib/master/kitty/gruvbox-dark.conf - -selection_foreground #ebdbb2 -selection_background #d65d0e - -background #282828 -foreground #ebdbb2 - -color0 #3c3836 -color1 #cc241d -color2 #98971a -color3 #d79921 -color4 #458588 -color5 #b16286 -color6 #689d6a -color7 #a89984 -color8 #928374 -color9 #fb4934 -color10 #b8bb26 -color11 #fabd2f -color12 #83a598 -color13 #d3869b -color14 #8ec07c -color15 #fbf1c7 - -cursor #bdae93 -cursor_text_color #665c54 - -url_color #458588 - -# START_AUTOGENERATED_TAB_STYLE -# Feel free to update these colors manually and remove these comments. -active_tab_foreground #eeeeee -active_tab_background #d65d0e -inactive_tab_foreground #ebdbb2 -inactive_tab_background #202020 -# END_AUTOGENERATED_TAB_STYLE diff --git a/themes/gruvbox/mako.ini b/themes/gruvbox/mako.ini deleted file mode 100644 index 5d2d17cc..00000000 --- a/themes/gruvbox/mako.ini +++ /dev/null @@ -1,5 +0,0 @@ -include=~/.local/share/omarchy/default/mako/core.ini - -text-color=#d4be98 -border-color=#a89984 -background-color=#282828 diff --git a/themes/gruvbox/swayosd.css b/themes/gruvbox/swayosd.css deleted file mode 100644 index 16240ae0..00000000 --- a/themes/gruvbox/swayosd.css +++ /dev/null @@ -1,6 +0,0 @@ -@define-color background-color #282828; -@define-color border-color #a89984; -@define-color label #ebdbb2; -@define-color image #ebdbb2; -@define-color progress #ebdbb2; - diff --git a/themes/gruvbox/walker.css b/themes/gruvbox/walker.css deleted file mode 100644 index 6192cd6c..00000000 --- a/themes/gruvbox/walker.css +++ /dev/null @@ -1,6 +0,0 @@ -@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/waybar.css b/themes/gruvbox/waybar.css deleted file mode 100644 index 598de57a..00000000 --- a/themes/gruvbox/waybar.css +++ /dev/null @@ -1,2 +0,0 @@ -@define-color foreground #d4be98; -@define-color background #282828; diff --git a/themes/hackerman/alacritty.toml b/themes/hackerman/alacritty.toml deleted file mode 100644 index 120c8c3a..00000000 --- a/themes/hackerman/alacritty.toml +++ /dev/null @@ -1,28 +0,0 @@ -[colors] -[colors.primary] -background = "#0B0C16" -foreground = "#ddf7ff" - -[colors.normal] -black = "#0B0C16" -red = "#50f872" -green = "#4fe88f" -yellow = "#50f7d4" -blue = "#829dd4" -magenta = "#86a7df" -cyan = "#7cf8f7" -white = "#85E1FB" - -[colors.bright] -black = "#6a6e95" -red = "#85ff9d" -green = "#9cf7c2" -yellow = "#a4ffec" -blue = "#c4d2ed" -magenta = "#cddbf4" -cyan = "#d1fffe" -white = "#ddf7ff" - -[colors.cursor] -text = "#0B0C16" -cursor = "#ddf7ff" diff --git a/themes/hackerman/chromium.theme b/themes/hackerman/chromium.theme deleted file mode 100644 index 6950bd95..00000000 --- a/themes/hackerman/chromium.theme +++ /dev/null @@ -1 +0,0 @@ -11,12,22 diff --git a/themes/hackerman/colors.toml b/themes/hackerman/colors.toml new file mode 100644 index 00000000..90792645 --- /dev/null +++ b/themes/hackerman/colors.toml @@ -0,0 +1,26 @@ +accent = "#829dd4" +active_border_color = "#829dd4" +active_tab_background = "#0B0C16" + +cursor = "#ddf7ff" +foreground = "#ddf7ff" +background = "#0B0C16" +selection_foreground = "#0B0C16" +selection_background = "#ddf7ff" + +color0 = "#0B0C16" +color1 = "#50f872" +color2 = "#4fe88f" +color3 = "#50f7d4" +color4 = "#829dd4" +color5 = "#86a7df" +color6 = "#7cf8f7" +color7 = "#85E1FB" +color8 = "#6a6e95" +color9 = "#85ff9d" +color10 = "#9cf7c2" +color11 = "#a4ffec" +color12 = "#c4d2ed" +color13 = "#cddbf4" +color14 = "#d1fffe" +color15 = "#ddf7ff" diff --git a/themes/hackerman/ghostty.conf b/themes/hackerman/ghostty.conf deleted file mode 100644 index e4ead98f..00000000 --- a/themes/hackerman/ghostty.conf +++ /dev/null @@ -1,23 +0,0 @@ -# Background and foreground colors -background = #0B0C16 -foreground = #ddf7ff - -# Standard colors -palette = 0=#0B0C16 -palette = 1=#50f872 -palette = 2=#4fe88f -palette = 3=#50f7d4 -palette = 4=#829dd4 -palette = 5=#86a7df -palette = 6=#7cf8f7 -palette = 7=#85E1FB - -# Bright colors -palette = 8=#6a6e95 -palette = 9=#85ff9d -palette = 10=#9cf7c2 -palette = 11=#a4ffec -palette = 12=#c4d2ed -palette = 13=#cddbf4 -palette = 14=#d1fffe -palette = 15=#ddf7ff diff --git a/themes/hackerman/hyprland-preview-share-picker.css b/themes/hackerman/hyprland-preview-share-picker.css deleted file mode 100644 index 172122b7..00000000 --- a/themes/hackerman/hyprland-preview-share-picker.css +++ /dev/null @@ -1,94 +0,0 @@ -@define-color foreground #ddf7ff; -@define-color background #0B0C16; -@define-color accent #829dd4; -@define-color muted #6a6e95; -@define-color card_bg #141526; -@define-color text_dark #0B0C16; -@define-color accent_hover #c4d2ed; -@define-color selected_tab #829dd4; -@define-color text #ddf7ff; - -* { - all: unset; - font-family: JetBrains Mono NF; - color: @foreground; - font-weight: bold; - font-size: 16px; -} - -.window { - background: alpha(@background, 0.95); - border: solid 2px @accent; - margin: 4px; - padding: 18px; -} - -tabs { - padding: 0.5rem 1rem; -} - -tabs > tab { - margin-right: 1rem; -} - -.tab-label { - color: @text; - transition: all 0.2s ease; -} - -tabs > tab:checked > .tab-label, tabs > tab:active > .tab-label { - text-decoration: underline currentColor; - color: @selected_tab; -} - -tabs > tab:focus > .tab-label { - color: @foreground; -} - -.page { - padding: 1rem; -} - -.image-label { - font-size: 12px; - padding: 0.25rem; -} - -flowboxchild > .card, button > .card { - transition: all 0.2s ease; - border: solid 2px transparent; - border-color: @background; - border-radius: 5px; - background-color: @card_bg; - padding: 5px; -} - -flowboxchild:hover > .card, button:hover > .card, flowboxchild:active > .card, flowboxchild:selected > .card, button:active > .card, button:selected > .card, button:focus > .card { - border: solid 2px @accent; -} - -.image { - border-radius: 5px; -} - -.region-button { - padding: 0.5rem 1rem; - border-radius: 5px; - background-color: @accent; - color: @text_dark; - transition: all 0.2s ease; -} - -.region-button > label { - color: @text_dark; -} - -.region-button:not(:disabled):hover, .region-button:not(:disabled):focus { - background-color: @accent_hover; - color: @text_dark; -} - -.region-button:disabled { - background-color: @muted; - color: @background; -} diff --git a/themes/hackerman/hyprland.conf b/themes/hackerman/hyprland.conf deleted file mode 100644 index 92d76498..00000000 --- a/themes/hackerman/hyprland.conf +++ /dev/null @@ -1,12 +0,0 @@ -# This file is not a full hyprland configuration. -# It is intended to be included in your main hyprland.conf. - -$activeBorderColor = rgba(26a269ee) rgba(2ec27eee) 45deg - -general { - col.active_border = $activeBorderColor -} - -group { - col.border_active = $activeBorderColor -} diff --git a/themes/hackerman/hyprlock.conf b/themes/hackerman/hyprlock.conf deleted file mode 100644 index 6a16b1ec..00000000 --- a/themes/hackerman/hyprlock.conf +++ /dev/null @@ -1,6 +0,0 @@ -$color = rgba(11, 12, 22, 1) -$inner_color = rgba(11, 12, 22, 0.66) -$outer_color = rgba(134, 167, 223, 1) -$font_color = rgba(221, 247, 255, 1) -$placeholder_color = rgba(221, 247, 255, 0.7) -$check_color = rgba(124, 248, 247, 1) diff --git a/themes/hackerman/kitty.conf b/themes/hackerman/kitty.conf deleted file mode 100644 index 628715f7..00000000 --- a/themes/hackerman/kitty.conf +++ /dev/null @@ -1,34 +0,0 @@ -background #0B0C16 -foreground #ddf7ff - -# black -color0 #0B0C16 -color8 #6a6e95 - -# red -color1 #50f872 -color9 #85ff9d - -# green -color2 #4fe88f -color10 #9cf7c2 - -# yellow -color3 #50f7d4 -color11 #a4ffec - -# blue -color4 #829dd4 -color12 #c4d2ed - -# magenta -color5 #86a7df -color13 #cddbf4 - -#cyan -color6 #7cf8f7 -color14 #d1fffe - -#white -color7 #85E1FB -color15 #ddf7ff diff --git a/themes/hackerman/mako.ini b/themes/hackerman/mako.ini deleted file mode 100644 index 0727a1f1..00000000 --- a/themes/hackerman/mako.ini +++ /dev/null @@ -1,21 +0,0 @@ -text-color=#ddf7ff -border-color=#86a7df -background-color=#0B0C16 -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/hackerman/swayosd.css b/themes/hackerman/swayosd.css deleted file mode 100644 index b89c9617..00000000 --- a/themes/hackerman/swayosd.css +++ /dev/null @@ -1,5 +0,0 @@ -@define-color background-color #0B0C16; -@define-color border-color #6a6e95; -@define-color label #ddf7ff; -@define-color image #ddf7ff; -@define-color progress #50f7d4; \ No newline at end of file diff --git a/themes/hackerman/walker.css b/themes/hackerman/walker.css deleted file mode 100644 index 82521c58..00000000 --- a/themes/hackerman/walker.css +++ /dev/null @@ -1,6 +0,0 @@ -@define-color selected-text #829dd4; -@define-color text #ddf7ff; -@define-color base #0B0C16; -@define-color border #6a6e95; -@define-color foreground #ddf7ff; -@define-color background #0B0C16; diff --git a/themes/hackerman/waybar.css b/themes/hackerman/waybar.css deleted file mode 100644 index 8f44e7a0..00000000 --- a/themes/hackerman/waybar.css +++ /dev/null @@ -1,2 +0,0 @@ -@define-color background #0B0C16; -@define-color foreground #ddf7ff; diff --git a/themes/kanagawa/alacritty.toml b/themes/kanagawa/alacritty.toml deleted file mode 100644 index 341965c8..00000000 --- a/themes/kanagawa/alacritty.toml +++ /dev/null @@ -1,36 +0,0 @@ -[colors] -[colors.primary] -background = '#1f1f28' -foreground = '#dcd7ba' - -[colors.normal] -black = '#090618' -red = '#c34043' -green = '#76946a' -yellow = '#c0a36e' -blue = '#7e9cd8' -magenta = '#957fb8' -cyan = '#6a9589' -white = '#c8c093' - -[colors.bright] -black = '#727169' -red = '#e82424' -green = '#98bb6c' -yellow = '#e6c384' -blue = '#7fb4ca' -magenta = '#938aa9' -cyan = '#7aa89f' -white = '#dcd7ba' - -[colors.selection] -background = '#2d4f67' -foreground = '#c8c093' - -[[colors.indexed_colors]] -index = 16 -color = '#ffa066' - -[[colors.indexed_colors]] -index = 17 -color = '#ff5d62' diff --git a/themes/kanagawa/chromium.theme b/themes/kanagawa/chromium.theme deleted file mode 100644 index ca40205b..00000000 --- a/themes/kanagawa/chromium.theme +++ /dev/null @@ -1 +0,0 @@ -31,31,40 diff --git a/themes/kanagawa/colors.toml b/themes/kanagawa/colors.toml new file mode 100644 index 00000000..4e7b987e --- /dev/null +++ b/themes/kanagawa/colors.toml @@ -0,0 +1,26 @@ +accent = "#7e9cd8" +active_border_color = "#7e9cd8" +active_tab_background = "#1f1f28" + +cursor = "#c8c093" +foreground = "#dcd7ba" +background = "#1f1f28" +selection_foreground = "#c8c093" +selection_background = "#2d4f67" + +color0 = "#090618" +color1 = "#c34043" +color2 = "#76946a" +color3 = "#c0a36e" +color4 = "#7e9cd8" +color5 = "#957fb8" +color6 = "#6a9589" +color7 = "#c8c093" +color8 = "#727169" +color9 = "#e82424" +color10 = "#98bb6c" +color11 = "#e6c384" +color12 = "#7fb4ca" +color13 = "#938aa9" +color14 = "#7aa89f" +color15 = "#dcd7ba" diff --git a/themes/kanagawa/ghostty.conf b/themes/kanagawa/ghostty.conf deleted file mode 100644 index 4e26c720..00000000 --- a/themes/kanagawa/ghostty.conf +++ /dev/null @@ -1 +0,0 @@ -theme = Kanagawa Wave diff --git a/themes/kanagawa/hyprland-preview-share-picker.css b/themes/kanagawa/hyprland-preview-share-picker.css deleted file mode 100644 index 36f9c65f..00000000 --- a/themes/kanagawa/hyprland-preview-share-picker.css +++ /dev/null @@ -1,94 +0,0 @@ -@define-color foreground #dcd7ba; -@define-color background #1f1f28; -@define-color accent #7e9cd8; -@define-color muted #727169; -@define-color card_bg #2a2a37; -@define-color text_dark #16161d; -@define-color accent_hover #7fb4ca; -@define-color selected_tab #7e9cd8; -@define-color text #dcd7ba; - -* { - all: unset; - font-family: JetBrains Mono NF; - color: @foreground; - font-weight: bold; - font-size: 16px; -} - -.window { - background: alpha(@background, 0.95); - border: solid 2px @accent; - margin: 4px; - padding: 18px; -} - -tabs { - padding: 0.5rem 1rem; -} - -tabs > tab { - margin-right: 1rem; -} - -.tab-label { - color: @text; - transition: all 0.2s ease; -} - -tabs > tab:checked > .tab-label, tabs > tab:active > .tab-label { - text-decoration: underline currentColor; - color: @selected_tab; -} - -tabs > tab:focus > .tab-label { - color: @foreground; -} - -.page { - padding: 1rem; -} - -.image-label { - font-size: 12px; - padding: 0.25rem; -} - -flowboxchild > .card, button > .card { - transition: all 0.2s ease; - border: solid 2px transparent; - border-color: @background; - border-radius: 5px; - background-color: @card_bg; - padding: 5px; -} - -flowboxchild:hover > .card, button:hover > .card, flowboxchild:active > .card, flowboxchild:selected > .card, button:active > .card, button:selected > .card, button:focus > .card { - border: solid 2px @accent; -} - -.image { - border-radius: 5px; -} - -.region-button { - padding: 0.5rem 1rem; - border-radius: 5px; - background-color: @accent; - color: @text_dark; - transition: all 0.2s ease; -} - -.region-button > label { - color: @text_dark; -} - -.region-button:not(:disabled):hover, .region-button:not(:disabled):focus { - background-color: @accent_hover; - color: @text_dark; -} - -.region-button:disabled { - background-color: @muted; - color: @background; -} diff --git a/themes/kanagawa/hyprland.conf b/themes/kanagawa/hyprland.conf index b5b6403a..0ee92cac 100644 --- a/themes/kanagawa/hyprland.conf +++ b/themes/kanagawa/hyprland.conf @@ -9,4 +9,4 @@ group { } # Kanagawa backdrop is too strong for detault opacity -windowrule = opacity 0.98 0.95, tag:terminal +windowrule = opacity 0.98 0.95, match:tag terminal diff --git a/themes/kanagawa/hyprlock.conf b/themes/kanagawa/hyprlock.conf deleted file mode 100644 index 7608b2c5..00000000 --- a/themes/kanagawa/hyprlock.conf +++ /dev/null @@ -1,5 +0,0 @@ -$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) -$check_color = rgba(126, 156, 216, 1.0) diff --git a/themes/kanagawa/kitty.conf b/themes/kanagawa/kitty.conf deleted file mode 100644 index 7122cea5..00000000 --- a/themes/kanagawa/kitty.conf +++ /dev/null @@ -1,68 +0,0 @@ -## name: Kanagawa -## author: Tommaso Laurenzi -## license: MIT -## upstream: https://github.com/rebelot/kanagawa.nvim/ -## blurb: NeoVim dark colorscheme inspired by the colors of the famous painting -## by Katsushika Hokusai. - -#: The basic colors - -foreground #dcd7ba -background #1f1f28 -selection_foreground #c8c093 -selection_background #2d4f67 - -#: Cursor colors - -cursor #c8c093 - -#: URL underline color when overing with mouse - -url_color #72a7bc - -#: Tab bar colors - -active_tab_foreground #c8c093 -active_tab_background #1f1f28 -inactive_tab_foreground #727169 -inactive_tab_background #1f1f28 - -#: The basic 16 colors - -#: black -color0 #16161d -color8 #727169 - -#: red -color1 #c34043 -color9 #e82424 - -#: green -color2 #76946a -color10 #98bb6c - -#: yellow -color3 #c0a36e -color11 #e6c384 - -#: blue -color4 #7e9cd8 -color12 #7fb4ca - -#: magenta -color5 #957fb8 -color13 #938aa9 - -#: cyan -color6 #6a9589 -color14 #7aa89f - -#: white -color7 #c8c093 -color15 #dcd7ba - - -#: You can set the remaining 240 colors as color16 to color255. - -color16 #ffa066 -color17 #ff5d62 diff --git a/themes/kanagawa/mako.ini b/themes/kanagawa/mako.ini deleted file mode 100644 index ca2e939c..00000000 --- a/themes/kanagawa/mako.ini +++ /dev/null @@ -1,5 +0,0 @@ -include=~/.local/share/omarchy/default/mako/core.ini - -text-color=#dcd7ba -border-color=#dcd7ba -background-color=#1f1f28 diff --git a/themes/kanagawa/swayosd.css b/themes/kanagawa/swayosd.css deleted file mode 100644 index 1eb5c851..00000000 --- a/themes/kanagawa/swayosd.css +++ /dev/null @@ -1,6 +0,0 @@ -@define-color background-color #1f1f28; -@define-color border-color #dcd7ba; -@define-color label #dcd7ba; -@define-color image #dcd7ba; -@define-color progress #dcd7ba; - diff --git a/themes/kanagawa/walker.css b/themes/kanagawa/walker.css deleted file mode 100644 index 8284746c..00000000 --- a/themes/kanagawa/walker.css +++ /dev/null @@ -1,6 +0,0 @@ -@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/waybar.css b/themes/kanagawa/waybar.css deleted file mode 100644 index 029cc07f..00000000 --- a/themes/kanagawa/waybar.css +++ /dev/null @@ -1,2 +0,0 @@ -@define-color foreground #dcd7ba; -@define-color background #1f1f28; diff --git a/themes/matte-black/alacritty.toml b/themes/matte-black/alacritty.toml deleted file mode 100644 index 20824098..00000000 --- a/themes/matte-black/alacritty.toml +++ /dev/null @@ -1,53 +0,0 @@ -# ──────────────────────────────────────────────────────────── -# Omarchy Matte Black Theme for Alacritty -# By tahayvr -# https://github.com/tahayvr -# ──────────────────────────────────────────────────────────── - -[window] -# window padding {px} -padding.x = 12 -padding.y = 12 - -[font] -size = 12.0 - - - -[colors] -[colors.primary] -background = "#121212" -foreground = "#bebebe" -dim_foreground = "#8a8a8d" - -[colors.cursor] -text = "#121212" -cursor = "#eaeaea" - -[colors.vi_mode_cursor] -text = "#121212" -cursor = "#eaeaea" - -[colors.selection] -text = "CellForeground" -background = "#333333" - -[colors.normal] -black = "#333333" -red = "#D35F5F" -green = "#FFC107" -yellow = "#b91c1c" -blue = "#e68e0d" -magenta = "#D35F5F" -cyan = "#bebebe" -white = "#bebebe" - -[colors.bright] -black = "#8a8a8d" -red = "#B91C1C" -green = "#FFC107" -yellow = "#b90a0a" -blue = "#f59e0b" -magenta = "#B91C1C" -cyan = "#eaeaea" -white = "#ffffff" \ No newline at end of file diff --git a/themes/matte-black/chromium.theme b/themes/matte-black/chromium.theme deleted file mode 100644 index 6e77e856..00000000 --- a/themes/matte-black/chromium.theme +++ /dev/null @@ -1 +0,0 @@ -30,30,30 diff --git a/themes/matte-black/colors.toml b/themes/matte-black/colors.toml new file mode 100644 index 00000000..badef1ab --- /dev/null +++ b/themes/matte-black/colors.toml @@ -0,0 +1,26 @@ +accent = "#e68e0d" +active_border_color = "#595959" +active_tab_background = "#121212" + +cursor = "#eaeaea" +foreground = "#bebebe" +background = "#121212" +selection_foreground = "#bebebe" +selection_background = "#333333" + +color0 = "#333333" +color1 = "#D35F5F" +color2 = "#FFC107" +color3 = "#b91c1c" +color4 = "#e68e0d" +color5 = "#D35F5F" +color6 = "#bebebe" +color7 = "#bebebe" +color8 = "#8a8a8d" +color9 = "#B91C1C" +color10 = "#FFC107" +color11 = "#b90a0a" +color12 = "#f59e0b" +color13 = "#B91C1C" +color14 = "#eaeaea" +color15 = "#ffffff" diff --git a/themes/matte-black/ghostty.conf b/themes/matte-black/ghostty.conf deleted file mode 100644 index 85c69b15..00000000 --- a/themes/matte-black/ghostty.conf +++ /dev/null @@ -1,28 +0,0 @@ -background = #121212 -foreground = #BEBEBE - -cursor-color = #EAEAEA -cursor-text = #121212 - -selection-background = #333333 -selection-foreground = #EAEAEA - -# normal colors -palette = 0=#333333 -palette = 1=#D35F5F -palette = 2=#FFC107 -palette = 3=#B91C1C -palette = 4=#E68E0D -palette = 5=#D35F5F -palette = 6=#BEBEBE -palette = 7=#BEBEBE - -# bright colors -palette = 8=#8A8A8D -palette = 9=#B91C1C -palette = 10=#FFC107 -palette = 11=#B90A0A -palette = 12=#F59E0B -palette = 13=#B91C1C -palette = 14=#EAEAEA -palette = 15=#FFFFFF diff --git a/themes/matte-black/hyprland-preview-share-picker.css b/themes/matte-black/hyprland-preview-share-picker.css deleted file mode 100644 index 783e7d72..00000000 --- a/themes/matte-black/hyprland-preview-share-picker.css +++ /dev/null @@ -1,94 +0,0 @@ -@define-color foreground #EAEAEA; -@define-color background #121212; -@define-color accent #B91C1C; -@define-color muted #595959; -@define-color card_bg #1e1e1e; -@define-color text_dark #EAEAEA; -@define-color accent_hover #D35F5F; -@define-color selected_tab #B91C1C; -@define-color text #EAEAEA; - -* { - all: unset; - font-family: JetBrains Mono NF; - color: @foreground; - font-weight: bold; - font-size: 16px; -} - -.window { - background: alpha(@background, 0.95); - border: solid 2px @accent; - margin: 4px; - padding: 18px; -} - -tabs { - padding: 0.5rem 1rem; -} - -tabs > tab { - margin-right: 1rem; -} - -.tab-label { - color: @text; - transition: all 0.2s ease; -} - -tabs > tab:checked > .tab-label, tabs > tab:active > .tab-label { - text-decoration: underline currentColor; - color: @selected_tab; -} - -tabs > tab:focus > .tab-label { - color: @foreground; -} - -.page { - padding: 1rem; -} - -.image-label { - font-size: 12px; - padding: 0.25rem; -} - -flowboxchild > .card, button > .card { - transition: all 0.2s ease; - border: solid 2px transparent; - border-color: @background; - border-radius: 5px; - background-color: @card_bg; - padding: 5px; -} - -flowboxchild:hover > .card, button:hover > .card, flowboxchild:active > .card, flowboxchild:selected > .card, button:active > .card, button:selected > .card, button:focus > .card { - border: solid 2px @accent; -} - -.image { - border-radius: 5px; -} - -.region-button { - padding: 0.5rem 1rem; - border-radius: 5px; - background-color: @accent; - color: @text_dark; - transition: all 0.2s ease; -} - -.region-button > label { - color: @text_dark; -} - -.region-button:not(:disabled):hover, .region-button:not(:disabled):focus { - background-color: @accent_hover; - color: @text_dark; -} - -.region-button:disabled { - background-color: @muted; - color: @background; -} diff --git a/themes/matte-black/hyprland.conf b/themes/matte-black/hyprland.conf deleted file mode 100644 index 4fd7ff60..00000000 --- a/themes/matte-black/hyprland.conf +++ /dev/null @@ -1,9 +0,0 @@ -$activeBorderColor = rgb(8A8A8D) - -general { - col.active_border = $activeBorderColor -} - -group { - col.border_active = $activeBorderColor -} diff --git a/themes/matte-black/hyprlock.conf b/themes/matte-black/hyprlock.conf deleted file mode 100644 index 54f49479..00000000 --- a/themes/matte-black/hyprlock.conf +++ /dev/null @@ -1,5 +0,0 @@ -$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/kitty.conf b/themes/matte-black/kitty.conf deleted file mode 100644 index b5ee1da1..00000000 --- a/themes/matte-black/kitty.conf +++ /dev/null @@ -1,54 +0,0 @@ -## name: Matte Black - -foreground #bebebe -background #121212 -selection_foreground #121212 -selection_background #333333 - -cursor #eaeaea -cursor_text_color #121212 - -# URL underline color when hovering with mouse -url_color #bebebe - -# Kitty window border colors -active_border_color #595959 -inactive_border_color #595959 -bell_border_color #595959 - -# OS Window titlebar colors -wayland_titlebar_color system -macos_titlebar_color system - -# Tab bar colors -active_tab_foreground #bebebe -active_tab_background #121212 -inactive_tab_foreground #bebebe -inactive_tab_background #121212 -tab_bar_background #bebebe - -# Colors for marks (marked text in the terminal) -mark1_foreground #121212 -mark1_background #404040 -mark2_foreground #121212 -mark2_background #121212 -mark3_foreground #121212 -mark3_background #a6a6a6 - -color0 #333333 -color8 #8a8a8d -color1 #D35F5F -color9 #B91C1C -color2 #FFC107 -color10 #FFC107 -color3 #b91c1c -color11 #b90a0a -color4 #e68e0d -color12 #f59e0b -color5 #D35F5F -color13 #B91C1C -color6 #bebebe -color14 #eaeaea -color7 #bebebe -color15 #ffffff - diff --git a/themes/matte-black/mako.ini b/themes/matte-black/mako.ini deleted file mode 100644 index 0515363c..00000000 --- a/themes/matte-black/mako.ini +++ /dev/null @@ -1,5 +0,0 @@ -include=~/.local/share/omarchy/default/mako/core.ini - -text-color=#8a8a8d -border-color=#8A8A8D -background-color=#1e1e1e diff --git a/themes/matte-black/swayosd.css b/themes/matte-black/swayosd.css deleted file mode 100644 index b00ea2f5..00000000 --- a/themes/matte-black/swayosd.css +++ /dev/null @@ -1,6 +0,0 @@ -@define-color background-color #121212; -@define-color border-color #CCCCCC; -@define-color label #CCCCCC; -@define-color image #CCCCCC; -@define-color progress #CCCCCC; - diff --git a/themes/matte-black/walker.css b/themes/matte-black/walker.css deleted file mode 100644 index d3d606bc..00000000 --- a/themes/matte-black/walker.css +++ /dev/null @@ -1,6 +0,0 @@ -@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/waybar.css b/themes/matte-black/waybar.css deleted file mode 100644 index 1b8bb7f2..00000000 --- a/themes/matte-black/waybar.css +++ /dev/null @@ -1,2 +0,0 @@ -@define-color foreground #8a8a8d; -@define-color background #1e1e1e; diff --git a/themes/nord/alacritty.toml b/themes/nord/alacritty.toml deleted file mode 100644 index 4a087891..00000000 --- a/themes/nord/alacritty.toml +++ /dev/null @@ -1,47 +0,0 @@ -[colors] -[colors.primary] -background = "#2e3440" -foreground = "#d8dee9" -dim_foreground = "#a5abb6" - -[colors.cursor] -text = "#2e3440" -cursor = "#d8dee9" - -[colors.vi_mode_cursor] -text = "#2e3440" -cursor = "#d8dee9" - -[colors.selection] -text = "CellForeground" -background = "#4c566a" - -[colors.normal] -black = "#3b4252" -red = "#bf616a" -green = "#a3be8c" -yellow = "#ebcb8b" -blue = "#81a1c1" -magenta = "#b48ead" -cyan = "#88c0d0" -white = "#e5e9f0" - -[colors.bright] -black = "#4c566a" -red = "#bf616a" -green = "#a3be8c" -yellow = "#ebcb8b" -blue = "#81a1c1" -magenta = "#b48ead" -cyan = "#8fbcbb" -white = "#eceff4" - -[colors.dim] -black = "#373e4d" -red = "#94545d" -green = "#809575" -yellow = "#b29e75" -blue = "#68809a" -magenta = "#8c738c" -cyan = "#6d96a5" -white = "#aeb3bb" diff --git a/themes/nord/chromium.theme b/themes/nord/chromium.theme deleted file mode 100644 index 33a45e46..00000000 --- a/themes/nord/chromium.theme +++ /dev/null @@ -1 +0,0 @@ -46,52,64 diff --git a/themes/nord/colors.toml b/themes/nord/colors.toml new file mode 100644 index 00000000..9ff8d33d --- /dev/null +++ b/themes/nord/colors.toml @@ -0,0 +1,26 @@ +accent = "#81a1c1" +active_border_color = "#81A1C1" +active_tab_background = "#2E3440" + +cursor = "#d8dee9" +foreground = "#d8dee9" +background = "#2e3440" +selection_foreground = "#d8dee9" +selection_background = "#4c566a" + +color0 = "#3b4252" +color1 = "#bf616a" +color2 = "#a3be8c" +color3 = "#ebcb8b" +color4 = "#81a1c1" +color5 = "#b48ead" +color6 = "#88c0d0" +color7 = "#e5e9f0" +color8 = "#4c566a" +color9 = "#bf616a" +color10 = "#a3be8c" +color11 = "#ebcb8b" +color12 = "#81a1c1" +color13 = "#b48ead" +color14 = "#8fbcbb" +color15 = "#eceff4" diff --git a/themes/nord/ghostty.conf b/themes/nord/ghostty.conf deleted file mode 100644 index a93dbc9e..00000000 --- a/themes/nord/ghostty.conf +++ /dev/null @@ -1 +0,0 @@ -theme = Nord diff --git a/themes/nord/hyprland-preview-share-picker.css b/themes/nord/hyprland-preview-share-picker.css deleted file mode 100644 index 07de41cb..00000000 --- a/themes/nord/hyprland-preview-share-picker.css +++ /dev/null @@ -1,94 +0,0 @@ -@define-color foreground #D8DEE9; -@define-color background #2E3440; -@define-color accent #88C0D0; -@define-color muted #4C566A; -@define-color card_bg #3B4252; -@define-color text_dark #2E3440; -@define-color accent_hover #8FBCBB; -@define-color selected_tab #88C0D0; -@define-color text #D8DEE9; - -* { - all: unset; - font-family: JetBrains Mono NF; - color: @foreground; - font-weight: bold; - font-size: 16px; -} - -.window { - background: alpha(@background, 0.95); - border: solid 2px @accent; - margin: 4px; - padding: 18px; -} - -tabs { - padding: 0.5rem 1rem; -} - -tabs > tab { - margin-right: 1rem; -} - -.tab-label { - color: @text; - transition: all 0.2s ease; -} - -tabs > tab:checked > .tab-label, tabs > tab:active > .tab-label { - text-decoration: underline currentColor; - color: @selected_tab; -} - -tabs > tab:focus > .tab-label { - color: @foreground; -} - -.page { - padding: 1rem; -} - -.image-label { - font-size: 12px; - padding: 0.25rem; -} - -flowboxchild > .card, button > .card { - transition: all 0.2s ease; - border: solid 2px transparent; - border-color: @background; - border-radius: 5px; - background-color: @card_bg; - padding: 5px; -} - -flowboxchild:hover > .card, button:hover > .card, flowboxchild:active > .card, flowboxchild:selected > .card, button:active > .card, button:selected > .card, button:focus > .card { - border: solid 2px @accent; -} - -.image { - border-radius: 5px; -} - -.region-button { - padding: 0.5rem 1rem; - border-radius: 5px; - background-color: @accent; - color: @text_dark; - transition: all 0.2s ease; -} - -.region-button > label { - color: @text_dark; -} - -.region-button:not(:disabled):hover, .region-button:not(:disabled):focus { - background-color: @accent_hover; - color: @text_dark; -} - -.region-button:disabled { - background-color: @muted; - color: @background; -} diff --git a/themes/nord/hyprland.conf b/themes/nord/hyprland.conf deleted file mode 100644 index ac91e8bb..00000000 --- a/themes/nord/hyprland.conf +++ /dev/null @@ -1,9 +0,0 @@ -$activeBorderColor = rgb(D8DEE9) - -general { - col.active_border = $activeBorderColor -} - -group { - col.border_active = $activeBorderColor -} diff --git a/themes/nord/hyprlock.conf b/themes/nord/hyprlock.conf deleted file mode 100644 index 7726df47..00000000 --- a/themes/nord/hyprlock.conf +++ /dev/null @@ -1,5 +0,0 @@ -$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) -$check_color = rgba(136, 192, 208, 1.0) diff --git a/themes/nord/kitty.conf b/themes/nord/kitty.conf deleted file mode 100644 index 91b570ff..00000000 --- a/themes/nord/kitty.conf +++ /dev/null @@ -1,40 +0,0 @@ -# Nord Colorscheme for Kitty - -foreground #D8DEE9 -background #2E3440 -selection_foreground #000000 -selection_background #FFFACD -url_color #0087BD -cursor #81A1C1 - -# black -color0 #3B4252 -color8 #4C566A - -# red -color1 #BF616A -color9 #BF616A - -# green -color2 #A3BE8C -color10 #A3BE8C - -# yellow -color3 #EBCB8B -color11 #EBCB8B - -# blue -color4 #81A1C1 -color12 #81A1C1 - -# magenta -color5 #B48EAD -color13 #B48EAD - -# cyan -color6 #88C0D0 -color14 #8FBCBB - -# white -color7 #E5E9F0 -color15 #ECEFF4 diff --git a/themes/nord/mako.ini b/themes/nord/mako.ini deleted file mode 100644 index 5eaadd9a..00000000 --- a/themes/nord/mako.ini +++ /dev/null @@ -1,5 +0,0 @@ -include=~/.local/share/omarchy/default/mako/core.ini - -text-color=#d8dee9 -border-color=#D8DEE9 -background-color=#2e3440 diff --git a/themes/nord/swayosd.css b/themes/nord/swayosd.css deleted file mode 100644 index db1b40d8..00000000 --- a/themes/nord/swayosd.css +++ /dev/null @@ -1,6 +0,0 @@ -@define-color background-color #2E3440; -@define-color border-color #D8DEE9; -@define-color label #D8DEE9; -@define-color image #D8DEE9; -@define-color progress #D8DEE9; - diff --git a/themes/nord/walker.css b/themes/nord/walker.css deleted file mode 100644 index 2e20d172..00000000 --- a/themes/nord/walker.css +++ /dev/null @@ -1,6 +0,0 @@ -@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/waybar.css b/themes/nord/waybar.css deleted file mode 100644 index bc2a99d4..00000000 --- a/themes/nord/waybar.css +++ /dev/null @@ -1,2 +0,0 @@ -@define-color foreground #d8dee9; -@define-color background #2e3440; diff --git a/themes/osaka-jade/alacritty.toml b/themes/osaka-jade/alacritty.toml deleted file mode 100644 index 3cb8513a..00000000 --- a/themes/osaka-jade/alacritty.toml +++ /dev/null @@ -1,28 +0,0 @@ -[colors] -[colors.primary] -background = '#111c18' -foreground = '#C1C497' - -[colors.normal] -black = "#23372B" -red = "#FF5345" -green = "#549e6a" -yellow = "#459451" -blue = "#509475" -magenta = "#D2689C" -cyan = "#2DD5B7" -white = "#F6F5DD" - -[colors.bright] -black = "#53685B" -red = "#db9f9c" -green = "#63b07a" -yellow = "#E5C736" -blue = "#ACD4CF" -magenta = "#75bbb3" -cyan = "#8CD3CB" -white = "#9eebb3" - -[colors.cursor] -text = "#000000" -cursor = "#D7C995" diff --git a/themes/osaka-jade/chromium.theme b/themes/osaka-jade/chromium.theme deleted file mode 100644 index 6524c764..00000000 --- a/themes/osaka-jade/chromium.theme +++ /dev/null @@ -1 +0,0 @@ -17,34,28 diff --git a/themes/osaka-jade/colors.toml b/themes/osaka-jade/colors.toml new file mode 100644 index 00000000..a93532dc --- /dev/null +++ b/themes/osaka-jade/colors.toml @@ -0,0 +1,26 @@ +accent = "#509475" +active_border_color = "#509475" +active_tab_background = "#C1C497" + +cursor = "#D7C995" +foreground = "#C1C497" +background = "#111c18" +selection_foreground = "#111C18" +selection_background = "#C1C497" + +color0 = "#23372B" +color1 = "#FF5345" +color2 = "#549e6a" +color3 = "#459451" +color4 = "#509475" +color5 = "#D2689C" +color6 = "#2DD5B7" +color7 = "#F6F5DD" +color8 = "#53685B" +color9 = "#db9f9c" +color10 = "#63b07a" +color11 = "#E5C736" +color12 = "#ACD4CF" +color13 = "#75bbb3" +color14 = "#8CD3CB" +color15 = "#9eebb3" diff --git a/themes/osaka-jade/ghostty.conf b/themes/osaka-jade/ghostty.conf deleted file mode 100644 index 75eb6685..00000000 --- a/themes/osaka-jade/ghostty.conf +++ /dev/null @@ -1,25 +0,0 @@ -# primary -background = #111c18 -foreground = #C1C497 -cursor-color = #D7C995 -cursor-text = #000000 - -# normal colors -palette = 0=#23372B -palette = 1=#FF5345 -palette = 2=#549e6a -palette = 3=#459451 -palette = 4=#509475 -palette = 5=#D2689C -palette = 6=#2DD5B7 -palette = 7=#F6F5DD - -# bright colors -palette = 8=#53685B -palette = 9=#db9f9c -palette = 10=#63b07a -palette = 11=#E5C736 -palette = 12=#ACD4CF -palette = 13=#75bbb3 -palette = 14=#8CD3CB -palette = 15=#9eebb3 diff --git a/themes/osaka-jade/hyprland-preview-share-picker.css b/themes/osaka-jade/hyprland-preview-share-picker.css deleted file mode 100644 index faa50012..00000000 --- a/themes/osaka-jade/hyprland-preview-share-picker.css +++ /dev/null @@ -1,94 +0,0 @@ -@define-color foreground #ebfff2; -@define-color background #11221C; -@define-color accent #2DD5B7; -@define-color muted #53685B; -@define-color card_bg #23372B; -@define-color text_dark #11221C; -@define-color accent_hover #8CD3CB; -@define-color selected_tab #2DD5B7; -@define-color text #ebfff2; - -* { - all: unset; - font-family: JetBrains Mono NF; - color: @foreground; - font-weight: bold; - font-size: 16px; -} - -.window { - background: alpha(@background, 0.95); - border: solid 2px @accent; - margin: 4px; - padding: 18px; -} - -tabs { - padding: 0.5rem 1rem; -} - -tabs > tab { - margin-right: 1rem; -} - -.tab-label { - color: @text; - transition: all 0.2s ease; -} - -tabs > tab:checked > .tab-label, tabs > tab:active > .tab-label { - text-decoration: underline currentColor; - color: @selected_tab; -} - -tabs > tab:focus > .tab-label { - color: @foreground; -} - -.page { - padding: 1rem; -} - -.image-label { - font-size: 12px; - padding: 0.25rem; -} - -flowboxchild > .card, button > .card { - transition: all 0.2s ease; - border: solid 2px transparent; - border-color: @background; - border-radius: 5px; - background-color: @card_bg; - padding: 5px; -} - -flowboxchild:hover > .card, button:hover > .card, flowboxchild:active > .card, flowboxchild:selected > .card, button:active > .card, button:selected > .card, button:focus > .card { - border: solid 2px @accent; -} - -.image { - border-radius: 5px; -} - -.region-button { - padding: 0.5rem 1rem; - border-radius: 5px; - background-color: @accent; - color: @text_dark; - transition: all 0.2s ease; -} - -.region-button > label { - color: @text_dark; -} - -.region-button:not(:disabled):hover, .region-button:not(:disabled):focus { - background-color: @accent_hover; - color: @text_dark; -} - -.region-button:disabled { - background-color: @muted; - color: @background; -} diff --git a/themes/osaka-jade/hyprland.conf b/themes/osaka-jade/hyprland.conf deleted file mode 100644 index fd7c0363..00000000 --- a/themes/osaka-jade/hyprland.conf +++ /dev/null @@ -1,9 +0,0 @@ -$activeBorderColor = rgb(71CEAD) - -general { - col.active_border = $activeBorderColor -} - -group { - col.border_active = $activeBorderColor -} diff --git a/themes/osaka-jade/hyprlock.conf b/themes/osaka-jade/hyprlock.conf deleted file mode 100644 index 885b89d0..00000000 --- a/themes/osaka-jade/hyprlock.conf +++ /dev/null @@ -1,5 +0,0 @@ -$color = rgb(7, 40, 32) -$inner_color = rgb(7, 40, 32) -$outer_color = rgb(167, 172, 132) -$font_color = rgb(167, 172, 132) -$check_color = rgb(131, 162, 152) diff --git a/themes/osaka-jade/kitty.conf b/themes/osaka-jade/kitty.conf deleted file mode 100644 index cd6c84e5..00000000 --- a/themes/osaka-jade/kitty.conf +++ /dev/null @@ -1,44 +0,0 @@ -## name :osaka-jade -foreground #C1C497 -background #111C18 -selection_foreground #111C18 -selection_background #C1C497 -cursor #D7C995 -cursor_text_color #000000 -active_tab_foreground #111C18 -active_tab_background #C1C497 -inactive_tab_foreground #C1C497 -inactive_tab_background #111C18 - -# black -color0 #23372B -color8 #53685B - -# red -color1 #FF5345 -color9 #DB9F9C - -# green -color2 #549E6A -color10 #63b07a - -# yellow -color3 #459451 -color11 #E5C736 - -# blue -color4 #509475 -color12 #ACD4CF - -# magenta -color5 #D2689C -color13 #75BBB3 - -# cyan -color6 #2DD5B7 -color14 #8CD3CB - -# white -color7 #F6F5DD -color15 #9EEBB3 - diff --git a/themes/osaka-jade/mako.ini b/themes/osaka-jade/mako.ini deleted file mode 100644 index 22fe2aae..00000000 --- a/themes/osaka-jade/mako.ini +++ /dev/null @@ -1,5 +0,0 @@ -include=~/.local/share/omarchy/default/mako/core.ini - -text-color=#C1C497 -border-color=#214237 -background-color=#11221C diff --git a/themes/osaka-jade/swayosd.css b/themes/osaka-jade/swayosd.css deleted file mode 100644 index 1558ad4d..00000000 --- a/themes/osaka-jade/swayosd.css +++ /dev/null @@ -1,5 +0,0 @@ -@define-color background-color #11221C; -@define-color border-color #589A5F; -@define-color label #C0C396; -@define-color image #C0C396; -@define-color progress #C0C396; diff --git a/themes/osaka-jade/walker.css b/themes/osaka-jade/walker.css deleted file mode 100644 index ff99bbb9..00000000 --- a/themes/osaka-jade/walker.css +++ /dev/null @@ -1,6 +0,0 @@ -@define-color selected-text #e1b55e; -@define-color text #ebfff2; -@define-color base #11221C; -@define-color border #214237; -@define-color foreground #11221C; -@define-color background #11221C; diff --git a/themes/osaka-jade/waybar.css b/themes/osaka-jade/waybar.css deleted file mode 100644 index 7cfd5372..00000000 --- a/themes/osaka-jade/waybar.css +++ /dev/null @@ -1,2 +0,0 @@ -@define-color foreground #e6d8ba; -@define-color background #11221C; diff --git a/themes/ristretto/alacritty.toml b/themes/ristretto/alacritty.toml deleted file mode 100644 index 45236efd..00000000 --- a/themes/ristretto/alacritty.toml +++ /dev/null @@ -1,33 +0,0 @@ -[colors] - -[colors.normal] -black = "#72696a" -red = "#fd6883" -green = "#adda78" -yellow = "#f9cc6c" -blue = "#f38d70" -magenta = "#a8a9eb" -cyan = "#85dacc" -white = "#e6d9db" - -[colors.bright] -black = "#948a8b" -red = "#ff8297" -green = "#c8e292" -yellow = "#fcd675" -blue = "#f8a788" -magenta = "#bebffd" -cyan = "#9bf1e1" -white = "#f1e5e7" - -[colors.cursor] -cursor = '#c3b7b8' -text = '#2c2525' - -[colors.primary] -background = '#2c2525' -foreground = '#e6d9db' - -[colors.selection] -background = '#403e41' -text = '#e6d9db' diff --git a/themes/ristretto/chromium.theme b/themes/ristretto/chromium.theme deleted file mode 100644 index 4b5c8eb0..00000000 --- a/themes/ristretto/chromium.theme +++ /dev/null @@ -1 +0,0 @@ -37,33,30 diff --git a/themes/ristretto/colors.toml b/themes/ristretto/colors.toml new file mode 100644 index 00000000..948c4d39 --- /dev/null +++ b/themes/ristretto/colors.toml @@ -0,0 +1,26 @@ +accent = "#f38d70" +active_border_color = "#e6d9db" +active_tab_background = "#f9cc6c" + +cursor = "#c3b7b8" +foreground = "#e6d9db" +background = "#2c2525" +selection_foreground = "#e6d9db" +selection_background = "#403e41" + +color0 = "#72696a" +color1 = "#fd6883" +color2 = "#adda78" +color3 = "#f9cc6c" +color4 = "#f38d70" +color5 = "#a8a9eb" +color6 = "#85dacc" +color7 = "#e6d9db" +color8 = "#948a8b" +color9 = "#ff8297" +color10 = "#c8e292" +color11 = "#fcd675" +color12 = "#f8a788" +color13 = "#bebffd" +color14 = "#9bf1e1" +color15 = "#f1e5e7" diff --git a/themes/ristretto/ghostty.conf b/themes/ristretto/ghostty.conf deleted file mode 100644 index 94a80fcb..00000000 --- a/themes/ristretto/ghostty.conf +++ /dev/null @@ -1,2 +0,0 @@ -theme = Monokai Pro Ristretto -cursor-text = #000000 diff --git a/themes/ristretto/hyprland-preview-share-picker.css b/themes/ristretto/hyprland-preview-share-picker.css deleted file mode 100644 index 056861af..00000000 --- a/themes/ristretto/hyprland-preview-share-picker.css +++ /dev/null @@ -1,94 +0,0 @@ -@define-color foreground #e6d9db; -@define-color background #2c2525; -@define-color accent #f9cc6c; -@define-color muted #948a8b; -@define-color card_bg #403e41; -@define-color text_dark #2c2525; -@define-color accent_hover #fcd675; -@define-color selected_tab #f9cc6c; -@define-color text #e6d9db; - -* { - all: unset; - font-family: JetBrains Mono NF; - color: @foreground; - font-weight: bold; - font-size: 16px; -} - -.window { - background: alpha(@background, 0.95); - border: solid 2px @accent; - margin: 4px; - padding: 18px; -} - -tabs { - padding: 0.5rem 1rem; -} - -tabs > tab { - margin-right: 1rem; -} - -.tab-label { - color: @text; - transition: all 0.2s ease; -} - -tabs > tab:checked > .tab-label, tabs > tab:active > .tab-label { - text-decoration: underline currentColor; - color: @selected_tab; -} - -tabs > tab:focus > .tab-label { - color: @foreground; -} - -.page { - padding: 1rem; -} - -.image-label { - font-size: 12px; - padding: 0.25rem; -} - -flowboxchild > .card, button > .card { - transition: all 0.2s ease; - border: solid 2px transparent; - border-color: @background; - border-radius: 5px; - background-color: @card_bg; - padding: 5px; -} - -flowboxchild:hover > .card, button:hover > .card, flowboxchild:active > .card, flowboxchild:selected > .card, button:active > .card, button:selected > .card, button:focus > .card { - border: solid 2px @accent; -} - -.image { - border-radius: 5px; -} - -.region-button { - padding: 0.5rem 1rem; - border-radius: 5px; - background-color: @accent; - color: @text_dark; - transition: all 0.2s ease; -} - -.region-button > label { - color: @text_dark; -} - -.region-button:not(:disabled):hover, .region-button:not(:disabled):focus { - background-color: @accent_hover; - color: @text_dark; -} - -.region-button:disabled { - background-color: @muted; - color: @background; -} diff --git a/themes/ristretto/hyprland.conf b/themes/ristretto/hyprland.conf deleted file mode 100644 index d8ffcdb9..00000000 --- a/themes/ristretto/hyprland.conf +++ /dev/null @@ -1,9 +0,0 @@ -$activeBorderColor = rgb(e6d9db) - -general { - col.active_border = $activeBorderColor -} - -group { - col.border_active = $activeBorderColor -} diff --git a/themes/ristretto/hyprlock.conf b/themes/ristretto/hyprlock.conf deleted file mode 100644 index 71c8b78a..00000000 --- a/themes/ristretto/hyprlock.conf +++ /dev/null @@ -1,5 +0,0 @@ -$color = rgba(44,37,37,1.0) -$inner_color = rgba(44,37,37,0.8) -$outer_color = rgba(230,217,219,1.0) -$font_color = rgba(230,217,219,1.0) -$check_color = rgba(253,104,131,1.0) diff --git a/themes/ristretto/kitty.conf b/themes/ristretto/kitty.conf deleted file mode 100644 index 7640e7cc..00000000 --- a/themes/ristretto/kitty.conf +++ /dev/null @@ -1,53 +0,0 @@ -## name : Ristretto - -foreground #e6d9db -background #2c2525 - -selection_foreground #e6d9db -selection_background #403e41 - -cursor #c3b7b8 -cursor_text_color #c3b7b8 - -url_color #e6d9db - -active_border_color #e6d9db -inactive_border_color #595959 -bell_border_color #595959 - -active_tab_foreground #2c2525 -active_tab_background #f9cc6c -inactive_tab_foreground #e6d9db -inactive_tab_background #2c2525 -tab_bar_background #404040 - -mark1_foreground #2c2525 -mark1_background #404040 -mark2_foreground #2c2525 -mark2_background #2c2525 -mark3_foreground #2c2525 -mark3_background #a6a6a6 - -color0 #72696a -color8 #948a8b - -color1 #fd6883 -color9 #ff8297 - -color2 #adda78 -color10 #c8e292 - -color3 #f9cc6c -color11 #fcd675 - -color4 #f38d70 -color12 #f8a788 - -color5 #a8a9eb -color13 #bebffd - -color6 #85dacc -color14 #9bf1e1 - -color7 #e6d9db -color15 #f1e5e7 diff --git a/themes/ristretto/mako.ini b/themes/ristretto/mako.ini deleted file mode 100644 index 732a96df..00000000 --- a/themes/ristretto/mako.ini +++ /dev/null @@ -1,5 +0,0 @@ -include=~/.local/share/omarchy/default/mako/core.ini - -text-color=#e6d9db -border-color=#e6d9db -background-color=#2c2525 diff --git a/themes/ristretto/swayosd.css b/themes/ristretto/swayosd.css deleted file mode 100644 index cd9c5765..00000000 --- a/themes/ristretto/swayosd.css +++ /dev/null @@ -1,5 +0,0 @@ -@define-color background-color #2c2525; -@define-color border-color #c3b7b8; -@define-color label #c3b7b8; -@define-color image #c3b7b8; -@define-color progress #c3b7b8; diff --git a/themes/ristretto/walker.css b/themes/ristretto/walker.css deleted file mode 100644 index ab2cfd84..00000000 --- a/themes/ristretto/walker.css +++ /dev/null @@ -1,6 +0,0 @@ -@define-color selected-text #fabd2f; -@define-color text #e6d9db; -@define-color base #2c2525; -@define-color border #e6d9db; -@define-color foreground #e6d9db; -@define-color background #2c2525; diff --git a/themes/ristretto/waybar.css b/themes/ristretto/waybar.css deleted file mode 100644 index a6be70ac..00000000 --- a/themes/ristretto/waybar.css +++ /dev/null @@ -1,2 +0,0 @@ -@define-color foreground #e6d9db; -@define-color background #2c2525; diff --git a/themes/rose-pine/alacritty.toml b/themes/rose-pine/alacritty.toml deleted file mode 100644 index 947e42da..00000000 --- a/themes/rose-pine/alacritty.toml +++ /dev/null @@ -1,72 +0,0 @@ -[colors.primary] -foreground = "#575279" -background = "#faf4ed" -dim_foreground = "#797593" -bright_foreground = "#575279" - -[colors.cursor] -text = "#575279" -cursor = "#cecacd" - -[colors.vi_mode_cursor] -text = "#575279" -cursor = "#cecacd" - -[colors.search.matches] -foreground = "#797593" -background = "#f2e9e1" - -[colors.search.focused_match] -foreground = "#faf4ed" -background = "#d7827e" - -[colors.hints.start] -foreground = "#797593" -background = "#fffaf3" - -[colors.hints.end] -foreground = "#9893a5" -background = "#fffaf3" - -[colors.line_indicator] -foreground = "None" -background = "None" - -[colors.footer_bar] -foreground = "#575279" -background = "#fffaf3" - -[colors.selection] -text = "#575279" -background = "#dfdad9" - -[colors.normal] -black = "#f2e9e1" -red = "#b4637a" -green = "#286983" -yellow = "#ea9d34" -blue = "#56949f" -magenta = "#907aa9" -cyan = "#d7827e" -white = "#575279" - -[colors.bright] -black = "#9893a5" -red = "#b4637a" -green = "#286983" -yellow = "#ea9d34" -blue = "#56949f" -magenta = "#907aa9" -cyan = "#d7827e" -white = "#575279" - -[colors.dim] -black = "#9893a5" -red = "#b4637a" -green = "#286983" -yellow = "#ea9d34" -blue = "#56949f" -magenta = "#907aa9" -cyan = "#d7827e" -white = "#575279" - diff --git a/themes/rose-pine/colors.toml b/themes/rose-pine/colors.toml new file mode 100644 index 00000000..1321c13d --- /dev/null +++ b/themes/rose-pine/colors.toml @@ -0,0 +1,26 @@ +accent = "#56949f" +active_border_color = "#595959" +active_tab_background = "#fffaf3" + +cursor = "#cecacd" +foreground = "#575279" +background = "#faf4ed" +selection_foreground = "#575279" +selection_background = "#dfdad9" + +color0 = "#f2e9e1" +color1 = "#b4637a" +color2 = "#286983" +color3 = "#ea9d34" +color4 = "#56949f" +color5 = "#907aa9" +color6 = "#d7827e" +color7 = "#575279" +color8 = "#9893a5" +color9 = "#b4637a" +color10 = "#286983" +color11 = "#ea9d34" +color12 = "#56949f" +color13 = "#907aa9" +color14 = "#d7827e" +color15 = "#575279" diff --git a/themes/rose-pine/ghostty.conf b/themes/rose-pine/ghostty.conf deleted file mode 100644 index 33bbaa74..00000000 --- a/themes/rose-pine/ghostty.conf +++ /dev/null @@ -1 +0,0 @@ -theme = Rose Pine Dawn diff --git a/themes/rose-pine/hyprland-preview-share-picker.css b/themes/rose-pine/hyprland-preview-share-picker.css deleted file mode 100644 index 87ea9a56..00000000 --- a/themes/rose-pine/hyprland-preview-share-picker.css +++ /dev/null @@ -1,94 +0,0 @@ -@define-color foreground #575279; -@define-color background #faf4ed; -@define-color accent #d7827e; -@define-color muted #9893a5; -@define-color card_bg #fffaf3; -@define-color text_dark #faf4ed; -@define-color accent_hover #b4637a; -@define-color selected_tab #d7827e; -@define-color text #575279; - -* { - all: unset; - font-family: JetBrains Mono NF; - color: @foreground; - font-weight: bold; - font-size: 16px; -} - -.window { - background: alpha(@background, 0.95); - border: solid 2px @accent; - margin: 4px; - padding: 18px; -} - -tabs { - padding: 0.5rem 1rem; -} - -tabs > tab { - margin-right: 1rem; -} - -.tab-label { - color: @text; - transition: all 0.2s ease; -} - -tabs > tab:checked > .tab-label, tabs > tab:active > .tab-label { - text-decoration: underline currentColor; - color: @selected_tab; -} - -tabs > tab:focus > .tab-label { - color: @foreground; -} - -.page { - padding: 1rem; -} - -.image-label { - font-size: 12px; - padding: 0.25rem; -} - -flowboxchild > .card, button > .card { - transition: all 0.2s ease; - border: solid 2px transparent; - border-color: @background; - border-radius: 5px; - background-color: @card_bg; - padding: 5px; -} - -flowboxchild:hover > .card, button:hover > .card, flowboxchild:active > .card, flowboxchild:selected > .card, button:active > .card, button:selected > .card, button:focus > .card { - border: solid 2px @accent; -} - -.image { - border-radius: 5px; -} - -.region-button { - padding: 0.5rem 1rem; - border-radius: 5px; - background-color: @accent; - color: @text_dark; - transition: all 0.2s ease; -} - -.region-button > label { - color: @text_dark; -} - -.region-button:not(:disabled):hover, .region-button:not(:disabled):focus { - background-color: @accent_hover; - color: @text_dark; -} - -.region-button:disabled { - background-color: @muted; - color: @background; -} diff --git a/themes/rose-pine/hyprland.conf b/themes/rose-pine/hyprland.conf deleted file mode 100644 index 34d47643..00000000 --- a/themes/rose-pine/hyprland.conf +++ /dev/null @@ -1,9 +0,0 @@ -$activeBorderColor = rgb(575279) - -general { - col.active_border = $activeBorderColor -} - -group { - col.border_active = $activeBorderColor -} diff --git a/themes/rose-pine/hyprlock.conf b/themes/rose-pine/hyprlock.conf deleted file mode 100644 index 890e7e5f..00000000 --- a/themes/rose-pine/hyprlock.conf +++ /dev/null @@ -1,5 +0,0 @@ -$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) -$check_color = rgba(136, 192, 208, 1.0) diff --git a/themes/rose-pine/kitty.conf b/themes/rose-pine/kitty.conf deleted file mode 100644 index 6c021dca..00000000 --- a/themes/rose-pine/kitty.conf +++ /dev/null @@ -1,51 +0,0 @@ -## name: Rose-Pine - -foreground #575279 -background #faf4ed - -selection_foreground #575279 -selection_background #dfdad9 - -cursor #cecacd -cursor_text_color #575279 - -url_color #575279 - -active_border_color #595959 -inactive_border_color #595959 -bell_border_color #595959 - -active_tab_foreground #575279 -active_tab_background #fffaf3 -inactive_tab_foreground #575279 -inactive_tab_background #fffaf3 -tab_bar_background #575279 - -mark1_foreground #faf4ed -mark1_background #fffaf3 -mark2_foreground #9893a5 -mark2_background #fffaf3 - -color0 #f2e9e1 -color8 #9893a5 - -color1 #b4637a -color9 #b4637a - -color2 #286983 -color10 #286983 - -color3 #ea9d34 -color11 #ea9d34 - -color4 #56949f -color12 #56949f - -color5 #907aa9 -color13 #907aa9 - -color6 #d7827e -color14 #d7827e - -color7 #575279 -color15 #575279 diff --git a/themes/rose-pine/mako.ini b/themes/rose-pine/mako.ini deleted file mode 100644 index f2284fc8..00000000 --- a/themes/rose-pine/mako.ini +++ /dev/null @@ -1,5 +0,0 @@ -include=~/.local/share/omarchy/default/mako/core.ini - -text-color=#575279 -border-color=#575279 -background-color=#faf4ed diff --git a/themes/rose-pine/swayosd.css b/themes/rose-pine/swayosd.css deleted file mode 100644 index e58cc080..00000000 --- a/themes/rose-pine/swayosd.css +++ /dev/null @@ -1,6 +0,0 @@ -@define-color background-color #faf4ed; -@define-color border-color #575279; -@define-color label #575279; -@define-color image #575279; -@define-color progress #575279; - diff --git a/themes/rose-pine/walker.css b/themes/rose-pine/walker.css deleted file mode 100644 index a6188c87..00000000 --- a/themes/rose-pine/walker.css +++ /dev/null @@ -1,6 +0,0 @@ -@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/waybar.css b/themes/rose-pine/waybar.css deleted file mode 100644 index d2e59424..00000000 --- a/themes/rose-pine/waybar.css +++ /dev/null @@ -1,2 +0,0 @@ -@define-color foreground #575279; -@define-color background #faf4ed; diff --git a/themes/tokyo-night/alacritty.toml b/themes/tokyo-night/alacritty.toml deleted file mode 100644 index 19c1e22d..00000000 --- a/themes/tokyo-night/alacritty.toml +++ /dev/null @@ -1,29 +0,0 @@ -[colors] -[colors.primary] -background = '#1a1b26' -foreground = '#a9b1d6' - -# Normal colors -[colors.normal] -black = '#32344a' -red = '#f7768e' -green = '#9ece6a' -yellow = '#e0af68' -blue = '#7aa2f7' -magenta = '#ad8ee6' -cyan = '#449dab' -white = '#787c99' - -# Bright colors -[colors.bright] -black = '#444b6a' -red = '#ff7a93' -green = '#b9f27c' -yellow = '#ff9e64' -blue = '#7da6ff' -magenta = '#bb9af7' -cyan = '#0db9d7' -white = '#acb0d0' - -[colors.selection] -background = '#7aa2f7' diff --git a/themes/tokyo-night/chromium.theme b/themes/tokyo-night/chromium.theme deleted file mode 100644 index bf2774da..00000000 --- a/themes/tokyo-night/chromium.theme +++ /dev/null @@ -1 +0,0 @@ -26,27,38 diff --git a/themes/tokyo-night/colors.toml b/themes/tokyo-night/colors.toml new file mode 100644 index 00000000..7fb020cf --- /dev/null +++ b/themes/tokyo-night/colors.toml @@ -0,0 +1,26 @@ +accent = "#7aa2f7" +active_border_color = "#7aa2f7" +active_tab_background = "#7aa2f7" + +cursor = "#c0caf5" +foreground = "#a9b1d6" +background = "#1a1b26" +selection_foreground = "#c0caf5" +selection_background = "#7aa2f7" + +color0 = "#32344a" +color1 = "#f7768e" +color2 = "#9ece6a" +color3 = "#e0af68" +color4 = "#7aa2f7" +color5 = "#ad8ee6" +color6 = "#449dab" +color7 = "#787c99" +color8 = "#444b6a" +color9 = "#ff7a93" +color10 = "#b9f27c" +color11 = "#ff9e64" +color12 = "#7da6ff" +color13 = "#bb9af7" +color14 = "#0db9d7" +color15 = "#acb0d0" diff --git a/themes/tokyo-night/ghostty.conf b/themes/tokyo-night/ghostty.conf deleted file mode 100644 index 845659fb..00000000 --- a/themes/tokyo-night/ghostty.conf +++ /dev/null @@ -1 +0,0 @@ -theme = TokyoNight diff --git a/themes/tokyo-night/hyprland-preview-share-picker.css b/themes/tokyo-night/hyprland-preview-share-picker.css deleted file mode 100644 index 698c62c2..00000000 --- a/themes/tokyo-night/hyprland-preview-share-picker.css +++ /dev/null @@ -1,94 +0,0 @@ -@define-color foreground #c0caf5; -@define-color background #1a1b26; -@define-color accent #7aa2f7; -@define-color muted #565f89; -@define-color card_bg #24283b; -@define-color text_dark #15161e; -@define-color accent_hover #9ec1ff; -@define-color selected_tab #7dcfff; -@define-color text #c0caf5; - -* { - all: unset; - font-family: JetBrains Mono NF; - color: @foreground; - font-weight: bold; - font-size: 16px; -} - -.window { - background: alpha(@background, 0.95); - border: solid 2px @accent; - margin: 4px; - padding: 18px; -} - -tabs { - padding: 0.5rem 1rem; -} - -tabs > tab { - margin-right: 1rem; -} - -.tab-label { - color: @text; - transition: all 0.2s ease; -} - -tabs > tab:checked > .tab-label, tabs > tab:active > .tab-label { - text-decoration: underline currentColor; - color: @selected_tab; -} - -tabs > tab:focus > .tab-label { - color: @foreground; -} - -.page { - padding: 1rem; -} - -.image-label { - font-size: 12px; - padding: 0.25rem; -} - -flowboxchild > .card, button > .card { - transition: all 0.2s ease; - border: solid 2px transparent; - border-color: @background; - border-radius: 5px; - background-color: @card_bg; - padding: 5px; -} - -flowboxchild:hover > .card, button:hover > .card, flowboxchild:active > .card, flowboxchild:selected > .card, button:active > .card, button:selected > .card, button:focus > .card { - border: solid 2px @accent; -} - -.image { - border-radius: 5px; -} - -.region-button { - padding: 0.5rem 1rem; - border-radius: 5px; - background-color: @accent; - color: @text_dark; - transition: all 0.2s ease; -} - -.region-button > label { - color: @text_dark; -} - -.region-button:not(:disabled):hover, .region-button:not(:disabled):focus { - background-color: @accent_hover; - color: @text_dark; -} - -.region-button:disabled { - background-color: @muted; - color: @background; -} diff --git a/themes/tokyo-night/hyprland.conf b/themes/tokyo-night/hyprland.conf deleted file mode 100644 index 779a27d4..00000000 --- a/themes/tokyo-night/hyprland.conf +++ /dev/null @@ -1,10 +0,0 @@ -$activeBorderColor = rgba(33ccffee) rgba(00ff99ee) 45deg - -general { - col.active_border = $activeBorderColor -} - -group { - col.border_active = $activeBorderColor -} - diff --git a/themes/tokyo-night/hyprlock.conf b/themes/tokyo-night/hyprlock.conf deleted file mode 100644 index 7ef8abb3..00000000 --- a/themes/tokyo-night/hyprlock.conf +++ /dev/null @@ -1,5 +0,0 @@ -$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) -$check_color = rgba(68, 157, 171, 1.0) diff --git a/themes/tokyo-night/kitty.conf b/themes/tokyo-night/kitty.conf deleted file mode 100644 index 37a5bd27..00000000 --- a/themes/tokyo-night/kitty.conf +++ /dev/null @@ -1,48 +0,0 @@ -## name: Tokyo Night -## license: MIT -## author: Folke Lemaitre -## upstream: https://github.com/folke/tokyonight.nvim/raw/main/extras/kitty/tokyonight_night.conf - - -background #1a1b26 -foreground #c0caf5 -selection_background #283457 -selection_foreground #c0caf5 -url_color #73daca -cursor #c0caf5 -cursor_text_color #1a1b26 - -# Tabs -active_tab_background #7aa2f7 -active_tab_foreground #16161e -inactive_tab_background #292e42 -inactive_tab_foreground #545c7e -#tab_bar_background #15161e - -# Windows -active_border_color #7aa2f7 -inactive_border_color #292e42 - -# normal -color0 #15161e -color1 #f7768e -color2 #9ece6a -color3 #e0af68 -color4 #7aa2f7 -color5 #bb9af7 -color6 #7dcfff -color7 #a9b1d6 - -# bright -color8 #414868 -color9 #f7768e -color10 #9ece6a -color11 #e0af68 -color12 #7aa2f7 -color13 #bb9af7 -color14 #7dcfff -color15 #c0caf5 - -# extended colors -color16 #ff9e64 -color17 #db4b4b diff --git a/themes/tokyo-night/mako.ini b/themes/tokyo-night/mako.ini deleted file mode 100644 index b1649be1..00000000 --- a/themes/tokyo-night/mako.ini +++ /dev/null @@ -1,5 +0,0 @@ -include=~/.local/share/omarchy/default/mako/core.ini - -text-color=#c0caf5 -border-color=#33ccff -background-color=#1a1b26 diff --git a/themes/tokyo-night/swayosd.css b/themes/tokyo-night/swayosd.css deleted file mode 100644 index 1300b6ad..00000000 --- a/themes/tokyo-night/swayosd.css +++ /dev/null @@ -1,6 +0,0 @@ -@define-color background-color #1a1b26; -@define-color border-color #33ccff; -@define-color label #a9b1d6; -@define-color image #a9b1d6; -@define-color progress #a9b1d6; - diff --git a/themes/tokyo-night/walker.css b/themes/tokyo-night/walker.css deleted file mode 100644 index aeb271d1..00000000 --- a/themes/tokyo-night/walker.css +++ /dev/null @@ -1,6 +0,0 @@ -@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/waybar.css b/themes/tokyo-night/waybar.css deleted file mode 100644 index ecd3da04..00000000 --- a/themes/tokyo-night/waybar.css +++ /dev/null @@ -1,2 +0,0 @@ -@define-color foreground #cdd6f4; -@define-color background #1a1b26; diff --git a/version b/version index b347b11e..15a27998 100644 --- a/version +++ b/version @@ -1 +1 @@ -3.2.3 +3.3.0