diff options
| -rw-r--r-- | CLAUDE.md | 45 | ||||
| -rw-r--r-- | Makefile | 123 | ||||
| -rwxr-xr-x | archsetup | 40 | ||||
| -rw-r--r-- | dotfiles/common/.Xresources | 87 | ||||
| -rw-r--r-- | dotfiles/common/.config/dunst/dunstrc | 26 | ||||
| -rw-r--r-- | dotfiles/dwm/.gnupg/gpg-agent.conf (renamed from dotfiles/common/.gnupg/gpg-agent.conf) | 0 | ||||
| -rw-r--r-- | dotfiles/dwm/.gnupg/pinentry-dmenu.conf (renamed from dotfiles/common/.gnupg/pinentry-dmenu.conf) | 0 | ||||
| -rw-r--r-- | dotfiles/dwm/.local/share/applications/dwm.desktop (renamed from dotfiles/common/.local/share/applications/dwm.desktop) | 0 | ||||
| -rw-r--r-- | dotfiles/dwm/.local/share/applications/emacsclient-mail.desktop (renamed from dotfiles/common/.local/share/applications/emacsclient-mail.desktop) | 0 | ||||
| -rw-r--r-- | dotfiles/dwm/.local/share/applications/file.desktop (renamed from dotfiles/common/.local/share/applications/file.desktop) | 0 | ||||
| -rw-r--r-- | dotfiles/dwm/.local/share/applications/img.desktop (renamed from dotfiles/common/.local/share/applications/img.desktop) | 0 | ||||
| -rw-r--r-- | dotfiles/dwm/.local/share/applications/lock-screen.desktop (renamed from dotfiles/common/.local/share/applications/lock-screen.desktop) | 0 | ||||
| -rw-r--r-- | dotfiles/dwm/.local/share/applications/logout.desktop (renamed from dotfiles/common/.local/share/applications/logout.desktop) | 0 | ||||
| -rw-r--r-- | dotfiles/dwm/.local/share/applications/mail.desktop (renamed from dotfiles/common/.local/share/applications/mail.desktop) | 0 | ||||
| -rw-r--r-- | dotfiles/dwm/.local/share/applications/pdf.desktop (renamed from dotfiles/common/.local/share/applications/pdf.desktop) | 0 | ||||
| -rw-r--r-- | dotfiles/dwm/.local/share/applications/reboot.desktop (renamed from dotfiles/common/.local/share/applications/reboot.desktop) | 0 | ||||
| -rw-r--r-- | dotfiles/dwm/.local/share/applications/shutdown.desktop (renamed from dotfiles/common/.local/share/applications/shutdown.desktop) | 0 | ||||
| -rw-r--r-- | dotfiles/dwm/.local/share/applications/suspend.desktop (renamed from dotfiles/common/.local/share/applications/suspend.desktop) | 0 | ||||
| -rw-r--r-- | dotfiles/dwm/.local/share/applications/text.desktop (renamed from dotfiles/common/.local/share/applications/text.desktop) | 0 | ||||
| -rw-r--r-- | dotfiles/hyprland/.config/foot/foot.ini | 44 | ||||
| -rw-r--r-- | dotfiles/hyprland/.config/fuzzel/fuzzel.ini | 4 | ||||
| -rw-r--r-- | dotfiles/hyprland/.config/hypr/hyprland.conf | 2 | ||||
| -rw-r--r-- | dotfiles/hyprland/.config/hypr/hyprlock.conf | 22 | ||||
| -rw-r--r-- | dotfiles/hyprland/.config/waybar/style.css | 37 | ||||
| -rw-r--r-- | todo.org | 20 |
25 files changed, 277 insertions, 173 deletions
@@ -10,16 +10,29 @@ Arch Linux installation and configuration scripts with dotfiles managed via GNU - `dotfiles/hyprland/` - Hyprland-specific dotfiles (7 scripts) - `docs/` - Documentation and package lists - `reference-repos/` - External dotfile references +- `Makefile` - GNU Stow operations for dotfile management -## Script Organization (Jan 2026 Refactor) +## Makefile Targets ``` -dotfiles/common/.local/bin/ → Universal scripts (44) - work on X11 & Wayland -dotfiles/dwm/.local/bin/ → X11/DWM-only scripts (8) -dotfiles/hyprland/.local/bin/ → Hyprland-only scripts (7) +make stow dwm # Fresh install (common + dwm) +make stow hyprland # Fresh install (common + hyprland) +make restow dwm # Refresh links after git pull +make reset hyprland # Fix conflicts, keep repo version +make unstow dwm # Remove all symlinks +make import common # fzf select → import to common/ +make import dwm # fzf select → import to dwm/ +make import hyprland # fzf select → import to hyprland/ +``` + +## Script Counts +``` +dotfiles/common/.local/bin/ → 33 universal scripts +dotfiles/dwm/.local/bin/ → 8 X11/DWM scripts +dotfiles/hyprland/.local/bin/ → 7 Hyprland scripts ``` ### DWM Scripts (8) -Scripts bound in ~/code/dwm/config.def.h: +Scripts bound in ~/code/dwm/config.def.h (on velox): - brightness (XF86 keys), toggle-touchpad (Mod+F9), dmenuexitmenu (Mod+Shift+Q) - Plus: airplanemodetoggle, colorpick, dmenuunicode, screenshotmenu, wallsearch @@ -28,7 +41,7 @@ All actively used in configs: - cycle-layout, layout-navigate, pinentry-fuzzel, set-theme - toggle-scratchpad, waybar-layout, waybar-netspeed -## Shell Configuration (Jan 2026 Refactor) +## Shell Configuration ``` ~/.profile → Environment variables only (POSIX compatible) ~/.bash_profile → Sources .profile + .bashrc for login shells @@ -52,35 +65,25 @@ All actively used in configs: - `dotfiles/common/.profile.d/` - Shell environment scripts - `dotfiles/common/.config/qt5ct/qt5ct.conf` - Qt5 theming - `dotfiles/common/.config/qt6ct/qt6ct.conf` - Qt6 theming -- `dotfiles/common/.local/bin/resetmimetypes` - MIME associations script - -## Stowing Dotfiles -- DWM installs: `stow --target=$HOME common && stow --target=$HOME dwm` -- Hyprland installs: `stow --target=$HOME common && stow --target=$HOME hyprland` ## Pending Work -- Review common/.local/bin/ scripts (44) - decide which to keep -- Review common/.config/ directories (27) for unused app configs -- Task #6: Add Makefile targets for foolproof stowing - Task #4: Evaluate Euphonica MPD client (May 2026) ## Recent Changes (Jan 2026) +- Added Makefile for GNU Stow operations (stow, restow, reset, unstow, import) - Renamed dotfiles/system/ to dotfiles/common/ for clarity +- Cleaned up scripts: common 44→33, dwm 50→8, hyprland 8→7 - Deleted unused configs: ghostty, lf, mopidy, nitrogen, pychess, JetBrains, youtube-dl, sublime-merge -- Added yt-dlp config (replaces youtube-dl) -- Cleaned up DWM scripts: 26 → 8 (removed 17 unreferenced + 24 statusbar scripts) -- Cleaned up Hyprland scripts: 8 → 7 (removed power-menu, using wlogout) -- Removed lf scripts from common (lfrun, lfub) +- Added yt-dlp config and org-protocol-setup script +- Fixed yt-dlp aliases: --add-metadata → --embed-metadata - Refactored shell configs: proper .profile/.bashrc/.zshrc separation - Created .bashrc.d/ and .zshrc.d/ for modular configs - Added Qt theming with adwaita-qt5/qt6 -- Added font packages: cantarell-fonts, ttf-caladea, ttf-carlito, ttf-croscore - Pruned ~90 desktop files from app menu with NoDisplay=true overrides -- Switched file manager from Thunar to Nautilus ## Notes - Desktop file overrides go in `dotfiles/hyprland/.local/share/applications/` -- Stow conflicts require manual symlinks: `ln -sf source target` - MPD is configured but mpv handles audio file associations - BerkeleyMono Nerd Font is the primary monospace font - DWM keybindings defined in ~/code/dwm/config.def.h on velox +- audacious config kept in common/ for potential future use diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..3679c86 --- /dev/null +++ b/Makefile @@ -0,0 +1,123 @@ +# Makefile for archsetup dotfiles +# GNU Stow operations for managing dotfiles + +STOW := stow --target=$(HOME) --no-folding +DOTFILES := $(shell pwd)/dotfiles + +# Extract DE from command line (e.g., 'make stow dwm' -> DE=dwm) +DE := $(filter dwm hyprland,$(MAKECMDGOALS)) + +# Extract DEST from command line for import (e.g., 'make import common' -> DEST=common) +DEST := $(filter common dwm hyprland,$(MAKECMDGOALS)) + +.PHONY: help stow restow reset unstow import common dwm hyprland + +# Default target - show help +help: + @echo "Dotfiles Management (GNU Stow)" + @echo "" + @echo "Usage: make <target> <de|dest>" + @echo "" + @echo "Desktop Environments / Destinations:" + @echo " common Shared configs (all setups)" + @echo " dwm X11/DWM specific" + @echo " hyprland Wayland/Hyprland specific" + @echo "" + @echo "Targets:" + @echo " stow Create symlinks (fresh install) - requires DE" + @echo " restow Refresh symlinks (unlink + relink) - requires DE" + @echo " reset Resolve conflicts, keep repo version - requires DE" + @echo " unstow Remove all symlinks - requires DE" + @echo " import Import new app configs into repo (fzf) - requires dest" + @echo "" + @echo "Examples:" + @echo " make stow dwm # Fresh DWM install (common + dwm)" + @echo " make stow hyprland # Fresh Hyprland install (common + hyprland)" + @echo " make restow dwm # Refresh DWM links after git pull" + @echo " make reset hyprland # Resolve conflicts, keep repo version" + @echo " make import common # Import configs to common/" + @echo " make import hyprland # Import configs to hyprland/" + @echo "" + +# Prevent 'common', 'dwm' and 'hyprland' from being treated as file targets +common dwm hyprland: + @: + +# Validate DE was provided (for stow/restow/reset/unstow) +check-de: +ifeq ($(DE),) + @echo "Error: Desktop environment required (dwm or hyprland)." + @echo "" + @$(MAKE) --no-print-directory help + @exit 1 +endif + +# Validate DEST was provided (for import) +check-dest: +ifeq ($(DEST),) + @echo "Error: Destination required (common, dwm, or hyprland)." + @echo "" + @$(MAKE) --no-print-directory help + @exit 1 +endif + +# Stow - create symlinks +stow: check-de + @echo "Stowing common + $(DE)..." + @cd $(DOTFILES) && $(STOW) common + @cd $(DOTFILES) && $(STOW) $(DE) + @echo "Done." + +# Restow - refresh symlinks (unlink + relink) +restow: check-de + @echo "Restowing common + $(DE)..." + @cd $(DOTFILES) && $(STOW) --restow common + @cd $(DOTFILES) && $(STOW) --restow $(DE) + @echo "Done." + +# Reset - resolve conflicts by adopting then reverting to repo version +reset: check-de + @echo "Resetting common + $(DE)..." + @cd $(DOTFILES) && $(STOW) --adopt common + @cd $(DOTFILES) && $(STOW) --adopt $(DE) + @echo "Reverting adopted files to repo version..." + @git checkout -- dotfiles/ + @echo "Done. Symlinks created, repo unchanged." + +# Unstow - remove symlinks +unstow: check-de + @echo "Unstowing common + $(DE)..." + @cd $(DOTFILES) && $(STOW) --delete common + @cd $(DOTFILES) && $(STOW) --delete $(DE) + @echo "Done." + +# Import - select and import new app configs into repo +import: check-dest + @echo "Select directories to import (Tab to multi-select, Enter to confirm):" + @echo "" + @selections=$$({ \ + find $(HOME) -maxdepth 1 -mindepth 1 -name '.*' -type d 2>/dev/null | grep -v '\.cache\|\.local\|\.config' | sed 's|$(HOME)/||'; \ + find $(HOME)/.config -maxdepth 1 -mindepth 1 -type d 2>/dev/null | sed 's|$(HOME)/||'; \ + find $(HOME)/.local -maxdepth 2 -mindepth 1 -type d 2>/dev/null | sed 's|$(HOME)/||'; \ + } | sort -u | fzf --multi --prompt="Import to $(DEST)> " --header="Select configs to import into dotfiles/$(DEST)/"); \ + if [ -z "$$selections" ]; then \ + echo "No selections made."; \ + exit 0; \ + fi; \ + echo ""; \ + for dir in $$selections; do \ + src="$(HOME)/$$dir"; \ + dest="$(DOTFILES)/$(DEST)/$$dir"; \ + if [ -d "$$dest" ]; then \ + echo "Skipping $$dir (already exists in dotfiles/$(DEST))"; \ + else \ + echo "Importing $$dir to $(DEST)..."; \ + mkdir -p "$$(dirname $$dest)"; \ + mv "$$src" "$$dest"; \ + fi; \ + done; \ + echo ""; \ + echo "Restowing $(DEST)..."; \ + cd $(DOTFILES) && $(STOW) --restow $(DEST); \ + echo ""; \ + echo "Done. Don't forget to: git add -A && git commit" @@ -493,14 +493,6 @@ is_btrfs_root() { [ "$(findmnt -n -o FSTYPE /)" = "btrfs" ] } -# CPU Detection -is_amd_zen5() { - # Returns 0 (true) if CPU is AMD Zen 5 (family 26/0x1a) - # Used to detect CPUs affected by RDSEED32 bug (CVE-2025-62626) - grep -q "AuthenticAMD" /proc/cpuinfo && \ - grep -E "^cpu family" /proc/cpuinfo | head -1 | grep -q ": 26$" -} - # Encryption Detection is_encrypted_root() { # Returns 0 (true) if root filesystem is on an encrypted volume @@ -1089,6 +1081,18 @@ EOF action="enabling geoclue geolocation service" && display "task" "$action" systemctl enable geoclue.service >> "$logfile" 2>&1 || error_warn "$action" "$?" + # Whitelist gammastep in geoclue (prevents "unable to obtain geoclue client path" error) + action="whitelisting gammastep in geoclue" && display "task" "$action" + if ! grep -q "^\[gammastep\]" /etc/geoclue/geoclue.conf 2>/dev/null; then + cat >> /etc/geoclue/geoclue.conf << 'EOF' + +[gammastep] +allowed=true +system=false +users= +EOF + fi + # Fix dbus-broker race condition with sysusers (geoclue user must exist before dbus parses service files) action="configuring dbus-broker to wait for sysusers" && display "task" "$action" mkdir -p /etc/systemd/system/dbus-broker.service.d @@ -1951,26 +1955,6 @@ EOF sed -i "s/.*GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT=\"rw loglevel=2 rd.systemd.show_status=auto rd.udev.log_level=2 nvme.noacpi=1 mem_sleep_default=deep nowatchdog random.trust_cpu=off quiet splash\"/g" /etc/default/grub fi - # Hardware-specific workarounds - display "subtitle" "Hardware Workarounds" - - # AMD Zen 5 RDSEED32 bug (CVE-2025-62626) - # Zen 5 CPUs have a broken RDSEED instruction that causes kernel warnings at boot. - # Adding clearcpuid=rdseed disables the instruction via CPUID masking, suppressing - # the "RDSEED32 is broken. Disabling the corresponding CPUID bit." message. - # This is cosmetic - the kernel already disables RDSEED when it detects the bug. - if is_amd_zen5; then - action="applying AMD Zen 5 RDSEED32 workaround (CVE-2025-62626)" && display "task" "$action" - if [ -f /etc/default/grub ]; then - # Add clearcpuid=rdseed if not already present - if ! grep -q "clearcpuid=rdseed" /etc/default/grub; then - sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="\(.*\)"/GRUB_CMDLINE_LINUX_DEFAULT="\1 clearcpuid=rdseed"/' /etc/default/grub - fi - fi - else - display "task" "no hardware workarounds needed" - fi - # Regenerate GRUB config after all modifications if [ -f /etc/default/grub ]; then action="generating grub configuration" && display "task" "$action" diff --git a/dotfiles/common/.Xresources b/dotfiles/common/.Xresources index d149a72..96e4803 100644 --- a/dotfiles/common/.Xresources +++ b/dotfiles/common/.Xresources @@ -1,68 +1,69 @@ -!! X Resources - Dupre theme -!! Warm, earthy colors from dupre-theme.el +!! X Resources - Hudson theme +!! Tomorrow Night + Goldenrod accent !! For X11 applications (st, xterm, etc.) and Emacs !! X Font Settings Xft.dpi: 109 -Xcursor.size: 32 -Xcursor.theme: Vimix-white-cursors Xft.autohint: 0 Xft.lcdfilter: lcddefault Xft.hintstyle: hintfull Xft.hinting: 1 Xft.antialias: 1 Xft.rgba: rgb +Xcursor.size: 32 +Xcursor.theme: Vimix-white-cursors !! Emacs Emacs*toolBar: 0 !! ============================================================================ -!! Dupre Theme Colors +!! Hudson Theme Colors (Tomorrow Night + Goldenrod) !! ============================================================================ -#define dupre_fg #f0fef0 -#define dupre_bg #151311 -#define dupre_black #252321 -#define dupre_red #d47c59 -#define dupre_green #a4ac64 -#define dupre_yellow #d7af5f -#define dupre_blue #67809c -#define dupre_magenta #b294bb -#define dupre_cyan #8a9496 -#define dupre_white #d0cbc0 -#define dupre_br_black #474544 -#define dupre_br_red #edb08f -#define dupre_br_green #ccc768 -#define dupre_br_yellow #ffd75f -#define dupre_br_blue #b2c3cc -#define dupre_br_magenta #c397d8 -#define dupre_br_cyan #acb0b3 -#define dupre_br_white #f0fef0 +#define hudson_fg #eeeeee +#define hudson_bg #222222 +#define hudson_black #222222 +#define hudson_red #cc6666 +#define hudson_green #b5bd68 +#define hudson_yellow #f0c674 +#define hudson_blue #81a2be +#define hudson_magenta #b294bb +#define hudson_cyan #8abeb7 +#define hudson_white #c5c8c6 +#define hudson_br_black #444444 +#define hudson_br_red #d54e53 +#define hudson_br_green #b9ca4a +#define hudson_br_yellow #e0b040 +#define hudson_br_blue #7aa6da +#define hudson_br_magenta #c397d8 +#define hudson_br_cyan #70c0b1 +#define hudson_br_white #eeeeee !! Active theme aliases -#define theme_fg dupre_fg -#define theme_bg dupre_bg -#define theme_black dupre_black -#define theme_red dupre_red -#define theme_green dupre_green -#define theme_yellow dupre_yellow -#define theme_blue dupre_blue -#define theme_magenta dupre_magenta -#define theme_cyan dupre_cyan -#define theme_white dupre_white -#define theme_br_black dupre_br_black -#define theme_br_red dupre_br_red -#define theme_br_green dupre_br_green -#define theme_br_yellow dupre_br_yellow -#define theme_br_blue dupre_br_blue -#define theme_br_magenta dupre_br_magenta -#define theme_br_cyan dupre_br_cyan -#define theme_br_white dupre_br_white +#define theme_fg hudson_fg +#define theme_bg hudson_bg +#define theme_black hudson_black +#define theme_red hudson_red +#define theme_green hudson_green +#define theme_yellow hudson_yellow +#define theme_blue hudson_blue +#define theme_magenta hudson_magenta +#define theme_cyan hudson_cyan +#define theme_white hudson_white +#define theme_br_black hudson_br_black +#define theme_br_red hudson_br_red +#define theme_br_green hudson_br_green +#define theme_br_yellow hudson_br_yellow +#define theme_br_blue hudson_br_blue +#define theme_br_magenta hudson_br_magenta +#define theme_br_cyan hudson_br_cyan +#define theme_br_white hudson_br_white !! ============================================================================ !! ST (suckless terminal) settings -st.font: BerkeleyMono Nerd Font:size=12 +!! size is in points (fontconfig syntax) +st.font: BerkeleyMono Nerd Font:size=13 st.background: theme_bg st.foreground: theme_fg st.color0: theme_black @@ -83,7 +84,7 @@ st.color14: theme_br_cyan st.color15: theme_br_white !! XTerm settings -XTerm*faceName: BerkeleyMono Nerd Font:size=12 +XTerm*faceName: BerkeleyMono Nerd Font:size=13 XTerm*selectToClipboard: true XTerm*background: theme_bg XTerm*foreground: theme_fg diff --git a/dotfiles/common/.config/dunst/dunstrc b/dotfiles/common/.config/dunst/dunstrc index 104df28..2cbf0e6 100644 --- a/dotfiles/common/.config/dunst/dunstrc +++ b/dotfiles/common/.config/dunst/dunstrc @@ -1,5 +1,5 @@ -# Dunst config - Dupre theme -# Warm, earthy colors from dupre-theme.el +# Dunst config - Hudson theme +# Tomorrow Night + Goldenrod accent [global] # Display @@ -21,13 +21,13 @@ corner_radius = 10 progress_bar_frame_width = 0 progress_bar_corner_radius = 3 -# Colors - Dupre theme -foreground = "#f0fef0" -frame_color = "#d7af5f" -highlight = "#d7af5f, #ccc768" +# Colors - Hudson theme +foreground = "#eeeeee" +frame_color = "#daa520" +highlight = "#daa520, #f0c674" -# Text -font = BerkeleyMono Nerd Font 11 +# Text (size in points, Pango syntax) +font = BerkeleyMono Nerd Font 13 markup = full format = "<small>%a</small>\n<b>%s</b>\n%b" alignment = left @@ -50,18 +50,18 @@ mouse_middle_click = do_action, close_current mouse_right_click = close_all [urgency_low] -background = "#151311f0" +background = "#222222f0" timeout = 3 [urgency_normal] -background = "#151311f0" +background = "#222222f0" timeout = 8 [urgency_critical] -background = "#7c2a09f0" -frame_color = "#d47c59" +background = "#cc6666f0" +frame_color = "#d54e53" highlight = "#ff2a00" -foreground = "#f0fef0" +foreground = "#eeeeee" timeout = 0 [fullscreen_delay_everything] diff --git a/dotfiles/common/.gnupg/gpg-agent.conf b/dotfiles/dwm/.gnupg/gpg-agent.conf index 6448665..6448665 100644 --- a/dotfiles/common/.gnupg/gpg-agent.conf +++ b/dotfiles/dwm/.gnupg/gpg-agent.conf diff --git a/dotfiles/common/.gnupg/pinentry-dmenu.conf b/dotfiles/dwm/.gnupg/pinentry-dmenu.conf index ccd4d55..ccd4d55 100644 --- a/dotfiles/common/.gnupg/pinentry-dmenu.conf +++ b/dotfiles/dwm/.gnupg/pinentry-dmenu.conf diff --git a/dotfiles/common/.local/share/applications/dwm.desktop b/dotfiles/dwm/.local/share/applications/dwm.desktop index ba3bd00..ba3bd00 100644 --- a/dotfiles/common/.local/share/applications/dwm.desktop +++ b/dotfiles/dwm/.local/share/applications/dwm.desktop diff --git a/dotfiles/common/.local/share/applications/emacsclient-mail.desktop b/dotfiles/dwm/.local/share/applications/emacsclient-mail.desktop index 6efcf61..6efcf61 100644 --- a/dotfiles/common/.local/share/applications/emacsclient-mail.desktop +++ b/dotfiles/dwm/.local/share/applications/emacsclient-mail.desktop diff --git a/dotfiles/common/.local/share/applications/file.desktop b/dotfiles/dwm/.local/share/applications/file.desktop index 5df1633..5df1633 100644 --- a/dotfiles/common/.local/share/applications/file.desktop +++ b/dotfiles/dwm/.local/share/applications/file.desktop diff --git a/dotfiles/common/.local/share/applications/img.desktop b/dotfiles/dwm/.local/share/applications/img.desktop index 42aa81e..42aa81e 100644 --- a/dotfiles/common/.local/share/applications/img.desktop +++ b/dotfiles/dwm/.local/share/applications/img.desktop diff --git a/dotfiles/common/.local/share/applications/lock-screen.desktop b/dotfiles/dwm/.local/share/applications/lock-screen.desktop index 2bd7afa..2bd7afa 100644 --- a/dotfiles/common/.local/share/applications/lock-screen.desktop +++ b/dotfiles/dwm/.local/share/applications/lock-screen.desktop diff --git a/dotfiles/common/.local/share/applications/logout.desktop b/dotfiles/dwm/.local/share/applications/logout.desktop index 8c3bc3a..8c3bc3a 100644 --- a/dotfiles/common/.local/share/applications/logout.desktop +++ b/dotfiles/dwm/.local/share/applications/logout.desktop diff --git a/dotfiles/common/.local/share/applications/mail.desktop b/dotfiles/dwm/.local/share/applications/mail.desktop index d24aea2..d24aea2 100644 --- a/dotfiles/common/.local/share/applications/mail.desktop +++ b/dotfiles/dwm/.local/share/applications/mail.desktop diff --git a/dotfiles/common/.local/share/applications/pdf.desktop b/dotfiles/dwm/.local/share/applications/pdf.desktop index 8c38677..8c38677 100644 --- a/dotfiles/common/.local/share/applications/pdf.desktop +++ b/dotfiles/dwm/.local/share/applications/pdf.desktop diff --git a/dotfiles/common/.local/share/applications/reboot.desktop b/dotfiles/dwm/.local/share/applications/reboot.desktop index ae2c76e..ae2c76e 100644 --- a/dotfiles/common/.local/share/applications/reboot.desktop +++ b/dotfiles/dwm/.local/share/applications/reboot.desktop diff --git a/dotfiles/common/.local/share/applications/shutdown.desktop b/dotfiles/dwm/.local/share/applications/shutdown.desktop index 2d93aa0..2d93aa0 100644 --- a/dotfiles/common/.local/share/applications/shutdown.desktop +++ b/dotfiles/dwm/.local/share/applications/shutdown.desktop diff --git a/dotfiles/common/.local/share/applications/suspend.desktop b/dotfiles/dwm/.local/share/applications/suspend.desktop index ab8addf..ab8addf 100644 --- a/dotfiles/common/.local/share/applications/suspend.desktop +++ b/dotfiles/dwm/.local/share/applications/suspend.desktop diff --git a/dotfiles/common/.local/share/applications/text.desktop b/dotfiles/dwm/.local/share/applications/text.desktop index 41ee05f..41ee05f 100644 --- a/dotfiles/common/.local/share/applications/text.desktop +++ b/dotfiles/dwm/.local/share/applications/text.desktop diff --git a/dotfiles/hyprland/.config/foot/foot.ini b/dotfiles/hyprland/.config/foot/foot.ini index 8fe19b3..4e9681c 100644 --- a/dotfiles/hyprland/.config/foot/foot.ini +++ b/dotfiles/hyprland/.config/foot/foot.ini @@ -1,5 +1,5 @@ -# foot terminal configuration - Dupre theme -# Warm, earthy colors from dupre-theme.el +# foot terminal configuration - Hudson theme +# Tomorrow Night + Goldenrod accent [main] term=xterm-256color @@ -10,29 +10,29 @@ pad=8x8 lines=10000 [colors] -# Dupre theme colors (from Emacs dupre-theme.el) -background=151311 -foreground=f0fef0 +# Hudson theme - Tomorrow Night + Goldenrod accent +background=222222 +foreground=eeeeee -# Regular colors (0-7) - dupre palette -regular0=252321 # black (dupre-bg+1) -regular1=d47c59 # red (dupre-red) -regular2=a4ac64 # green (dupre-green) -regular3=d7af5f # yellow (dupre-yellow) -regular4=67809c # blue (dupre-blue) +# Regular colors (0-7) +regular0=222222 # black +regular1=cc6666 # red +regular2=b5bd68 # green +regular3=f0c674 # yellow +regular4=81a2be # blue regular5=b294bb # magenta -regular6=8a9496 # cyan (dupre-steel) -regular7=d0cbc0 # white (dupre-gray+2) +regular6=8abeb7 # cyan +regular7=c5c8c6 # white # Bright colors (8-15) -bright0=474544 # bright black (dupre-bg+2) -bright1=edb08f # bright red (dupre-red+1) -bright2=ccc768 # bright green (dupre-green+1) -bright3=ffd75f # bright yellow (dupre-yellow+1) -bright4=b2c3cc # bright blue (dupre-blue+1) +bright0=444444 # bright black +bright1=d54e53 # bright red +bright2=b9ca4a # bright green +bright3=e0b040 # bright yellow (adjusted for gold) +bright4=7aa6da # bright blue bright5=c397d8 # bright magenta -bright6=acb0b3 # bright cyan (dupre-steel+1) -bright7=f0fef0 # bright white (dupre-fg) +bright6=70c0b1 # bright cyan +bright7=eeeeee # bright white -# Cursor: muted gold on dark -cursor=151311 d7af5f +# Cursor: goldenrod on dark +cursor=222222 daa520 diff --git a/dotfiles/hyprland/.config/fuzzel/fuzzel.ini b/dotfiles/hyprland/.config/fuzzel/fuzzel.ini index 0efda0d..39dabc0 100644 --- a/dotfiles/hyprland/.config/fuzzel/fuzzel.ini +++ b/dotfiles/hyprland/.config/fuzzel/fuzzel.ini @@ -1,5 +1,5 @@ -# Fuzzel config - matching waybar DWM-inspired theme -# Colors from waybar: bg=#222222, cpu=#bbbbbb, clock=#eeeeee, accent=#daa520 +# Fuzzel config - Hudson theme +# Tomorrow Night + Goldenrod accent [main] # size is in points (fontconfig syntax) diff --git a/dotfiles/hyprland/.config/hypr/hyprland.conf b/dotfiles/hyprland/.config/hypr/hyprland.conf index 390d905..709865a 100644 --- a/dotfiles/hyprland/.config/hypr/hyprland.conf +++ b/dotfiles/hyprland/.config/hypr/hyprland.conf @@ -10,7 +10,7 @@ monitor=,preferred,auto,auto # ============================================================================ # Startup Applications # ============================================================================ -exec-once = hyprpm reload +exec-once = hyprpm reload && sleep 1 && hyprctl dismissnotify -1 exec-once = waybar exec-once = swww-daemon && sleep 1 && swww img ~/pictures/wallpaper/trondheim-norway.jpg exec-once = dunst diff --git a/dotfiles/hyprland/.config/hypr/hyprlock.conf b/dotfiles/hyprland/.config/hypr/hyprlock.conf index fd85651..f9c08bb 100644 --- a/dotfiles/hyprland/.config/hypr/hyprlock.conf +++ b/dotfiles/hyprland/.config/hypr/hyprlock.conf @@ -1,5 +1,5 @@ -# Hyprlock configuration - Dupre theme -# Warm, earthy colors from dupre-theme.el +# Hyprlock configuration - Hudson theme +# Tomorrow Night + Goldenrod accent general { disable_loading_bar = false @@ -25,7 +25,7 @@ label { monitor = text = $TIME12 text_align = center - color = rgb(969385) + color = rgb(bbbbbb) font_size = 64 font_family = BerkeleyMono Nerd Font position = 0, 15% @@ -40,7 +40,7 @@ image { size = 120 rounding = -1 border_size = 3 - border_color = rgb(d7af5f) + border_color = rgb(daa520) position = 0, 0% halign = center valign = center @@ -54,7 +54,7 @@ label { monitor = text = $USER text_align = center - color = rgb(d7af5f) + color = rgb(daa520) font_size = 36 font_family = BerkeleyMono Nerd Font position = 0, -7% @@ -71,19 +71,19 @@ input-field { dots_spacing = 0.15 dots_center = true dots_rounding = -1 - outer_color = rgb(151311) - inner_color = rgb(151311) - font_color = rgb(969385) + outer_color = rgb(222222) + inner_color = rgb(222222) + font_color = rgb(bbbbbb) fade_on_empty = true fade_timeout = 1000 placeholder_text = <i>Password...</i> hide_input = false rounding = 8 - check_color = rgb(d7af5f) - fail_color = rgb(d47c59) + check_color = rgb(daa520) + fail_color = rgb(d54e53) fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i> fail_transition = 300 - capslock_color = rgb(ccc768) + capslock_color = rgb(e0b040) numlock_color = -1 bothlock_color = -1 invert_numlock = false diff --git a/dotfiles/hyprland/.config/waybar/style.css b/dotfiles/hyprland/.config/waybar/style.css index 03b11b6..9056529 100644 --- a/dotfiles/hyprland/.config/waybar/style.css +++ b/dotfiles/hyprland/.config/waybar/style.css @@ -1,5 +1,5 @@ -/* Waybar style - Dupre theme */ -/* Warm, earthy colors from dupre-theme.el */ +/* Waybar style - Hudson theme */ +/* Tomorrow Night + Goldenrod accent */ * { border: none; @@ -22,27 +22,27 @@ window#waybar { padding: 0.5rem; margin: 0.2rem; background-color: transparent; - color: #969385; + color: #bbbbbb; border-radius: 1rem; transition: all 0.3s ease; } #workspaces button.active { - background: #d7af5f; - color: #151311; + background: #daa520; + color: #222222; border-radius: 1rem; } #workspaces button.urgent { - background-color: rgba(212, 124, 89, 0.4); + background-color: rgba(255, 88, 88, 0.4); } .modules-right, .modules-left { - background-color: #151311; + background-color: #222222; border-radius: 1rem; padding: 0.2rem 0.6rem; margin: 0.3rem; - border: 0.095rem solid #d7af5f; + border: 0.095rem solid #daa520; box-shadow: 0rem 0.2rem 0.4rem rgba(0,0,0,0.5); } @@ -53,22 +53,17 @@ window#waybar { #custom-netspeed, #battery, #wireplumber, -#idle_inhibitor, #tray, #clock, #custom-layout, #window { padding: 0.4rem; margin: 0.3rem; - color: #969385; + color: #bbbbbb; background-color: transparent; border-radius: 1rem; } -#idle_inhibitor { - margin-right: 0.8rem; -} - #sysmonitor { margin: 0.3rem; background-color: transparent; @@ -83,28 +78,28 @@ window#waybar { #wireplumber:hover, #sysmonitor:hover, #custom-layout:hover { - background-color: #474544; + background-color: #444444; border-radius: 1rem; } #clock { - color: #f0fef0; + color: #eeeeee; } #wireplumber { - color: #969385; + color: #bbbbbb; } #wireplumber.muted { - color: #58574e; + color: #666666; } #battery.warning { - color: #d7af5f; + color: #daa520; } #battery.critical { - color: #d47c59; + color: #ff5858; } #tray > .passive { @@ -113,5 +108,5 @@ window#waybar { #tray > .needs-attention { -gtk-icon-effect: highlight; - background-color: #d7af5f; + background-color: #daa520; } @@ -327,8 +327,10 @@ Current config uses fixed pixel margins - may need adjustment for laptop screen. ***** DONE [#B] Fix rseed32 issue in console at boot CLOSED: [2026-01-26 Mon] -Added clearcpuid=rdseed kernel parameter to suppress "RDSEED32 is broken" message. -Also added is_amd_zen5() detection and Hardware Workarounds section to archsetup. +Attempted clearcpuid=rdseed kernel parameter but it doesn't suppress the message. +The kernel detection runs separately and still logs the warning. Proper fix requires +a BIOS update from Framework with newer AGESA microcode. Reverted the workaround +since it's cosmetic only - the kernel already mitigates the actual security issue. ***** DONE [#B] Prune desktop files from application menu CLOSED: [2026-01-26 Mon] @@ -360,15 +362,11 @@ Hudson: active #444/#bbb, inactive #c5c8c6, urgent red, locked cyan. Test the monocle/tab group mode to verify hy3 tab bar colors look correct with dupre and hudson themes. Run =set-theme dupre= and =set-theme hudson= while in tab group mode ($mod SHIFT M). -***** TODO [#C] Consider breaking out Hardware Workarounds as separate section -The Hardware Workarounds section in archsetup could be its own optional step with user prompt to skip. -Would allow users to opt-out if workarounds don't apply or cause issues. - -Current workaround: -- AMD Zen 5 RDSEED32 bug (CVE-2025-62626): clearcpuid=rdseed kernel parameter - -Candidate for future inclusion: -- AMD GPU VPE issue: potential video processing engine problem on newer AMD GPUs (not yet encountered) +***** DONE [#C] Consider breaking out Hardware Workarounds as separate section +CLOSED: [2026-01-26 Mon] +Removed the Hardware Workarounds section from archsetup entirely. The only workaround +(AMD Zen 5 RDSEED32) didn't actually suppress the warning message - the kernel detection +runs separately. Proper fix requires BIOS updates from vendors with AGESA microcode. *** TODO [#A] Fix sleep/suspend on Framework Laptop (velox only) Critical functionality for laptop use - current battery drain unacceptable |
