diff options
| -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/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 |
9 files changed, 130 insertions, 152 deletions
@@ -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/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 |
