summaryrefslogtreecommitdiff
path: root/archsetup
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-01-22 10:00:23 -0600
committerCraig Jennings <c@cjennings.net>2026-01-22 10:00:23 -0600
commit99d487cef4fa6857db8a43209ad2cb727a6f1161 (patch)
treecc82f4d42676a33ca687b8e865a11ff88f1a241e /archsetup
parentd6338d0c0c5bf58531ef9f851b1a55d483dba828 (diff)
fix(archsetup): add system config improvements and gnome-keyring setup
- Enable chrony service and create /etc/sysconfig/chronyd to suppress warning - Configure wireless regulatory domain (US) for full WiFi capabilities - Configure paccache to retain 3 package versions - Pre-create gnome-keyring with 'login' default (auto-unlocks at login) - Add rtkit package for pipewire realtime scheduling - Add validation test for gnome-keyring setup - Add system action .desktop files (logout, shutdown, reboot, suspend, lock)
Diffstat (limited to 'archsetup')
-rwxr-xr-xarchsetup23
1 files changed, 22 insertions, 1 deletions
diff --git a/archsetup b/archsetup
index 23d91be..8843488 100755
--- a/archsetup
+++ b/archsetup
@@ -535,6 +535,12 @@ prerequisites() {
action="synchronizing system time" && display "task" "$action"
(chronyd -q 'server 0.us.pool.ntp.org iburst' >> "$logfile" 2>&1) || error "error" "$action" "$?"
+ # enable chrony for ongoing time sync and create config to suppress warning
+ action="enabling chrony time sync service" && display "task" "$action"
+ mkdir -p /etc/sysconfig
+ echo 'OPTIONS=""' > /etc/sysconfig/chronyd
+ systemctl enable chronyd.service >> "$logfile" 2>&1 || error "error" "$action" "$?"
+
action="configuring compiler to use all processor cores" && display "task" "$action"
sed -i "s/-j2/-j$(nproc)/;s/^#MAKEFLAGS/MAKEFLAGS/" /etc/makepkg.conf >> "$logfile" 2>&1
@@ -743,6 +749,10 @@ wifi.cloned-mac-address=random
ethernet.cloned-mac-address=stable
EOF
+ # Configure wireless regulatory domain (enables full WiFi capabilities for region)
+ action="configuring wireless regulatory domain (US)" && display "task" "$action"
+ sed -i 's/^#WIRELESS_REGDOM="US"/WIRELESS_REGDOM="US"/' /etc/conf.d/wireless-regdom
+
# Encrypted DNS (DNS over TLS)
action="configuring encrypted DNS (DNS over TLS)" && display "task" "$action"
@@ -895,6 +905,9 @@ EOF
action="enabling the package cache cleanup timer" && display "task" "$action"
systemctl enable --now paccache.timer >> "$logfile" 2>&1 || error "error" "$action" "$?"
+ action="configuring paccache to keep 3 versions" && display "task" "$action"
+ sed -i 's/^PACCACHE_ARGS=.*/PACCACHE_ARGS=-k3/' /etc/conf.d/pacman-contrib
+
# Snapshot Service - filesystem-aware
display "subtitle" "Snapshot Service"
@@ -1217,6 +1230,14 @@ desktop_environment() {
find /home/"$username"/.gnupg -type f -exec chmod 600 {} \;
find /home/"$username"/.gnupg -type d -exec chmod 700 {} \;
+ # pre-create gnome-keyring structure so it uses 'login' keyring
+ # (auto-unlocks at login) instead of creating 'Default_keyring' (prompts for password)
+ keyring_dir="/home/$username/.local/share/keyrings"
+ mkdir -p "$keyring_dir"
+ echo "login" > "$keyring_dir/default"
+ chown -R "$username": "/home/$username/.local/share/keyrings"
+ chmod 700 "$keyring_dir"
+
# Power Management
action="Power Management" && display "subtitle" "$action"
@@ -1227,7 +1248,7 @@ desktop_environment() {
action="Audio System" && display "subtitle" "$action"
for software in alsa-utils pipewire wireplumber pipewire-pulse \
- pipewire-docs pamixer pulsemixer ffmpeg; do
+ pipewire-docs pamixer pulsemixer ffmpeg rtkit; do
pacman_install "$software"
done;
# disable the pc speaker beep