summaryrefslogtreecommitdiff
path: root/archsetup
diff options
context:
space:
mode:
Diffstat (limited to 'archsetup')
-rwxr-xr-xarchsetup46
1 files changed, 17 insertions, 29 deletions
diff --git a/archsetup b/archsetup
index 9e849dc..790e966 100755
--- a/archsetup
+++ b/archsetup
@@ -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
@@ -833,7 +825,7 @@ user_customizations() {
dotfiles_dir="$user_archsetup_dir/dotfiles"
action="linking dotfiles into place" && display "task" "$action"
- (cd "$dotfiles_dir" && stow --target="/home/$username" --no-folding --adopt system \
+ (cd "$dotfiles_dir" && stow --target="/home/$username" --no-folding --adopt common \
>> "$logfile" 2>&1 ) || error_warn "$action" "$?"
# Stow desktop-environment-specific dotfiles
@@ -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
@@ -1424,7 +1428,11 @@ desktop_environment() {
# Fonts
action="Fonts" && display "subtitle" "$action"
+ pacman_install cantarell-fonts
pacman_install noto-fonts-emoji
+ pacman_install ttf-caladea # Cambria replacement
+ pacman_install ttf-carlito # Calibri replacement
+ pacman_install ttf-croscore # Chrome OS fonts (Arimo, Cousine, Tinos)
pacman_install terminus-font
pacman_install ttf-firacode-nerd
pacman_install ttf-hack-nerd
@@ -1947,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"