Skip to content

Scripts ​

Only what no package does yet is a script. Everything in dotfiles/bin is deployed to ~/bin.

ScriptKeysWhat it does
power_menu.shSuper + Xwlogout power menu sized to the focused monitor
keybinds.shSuper + /every described bind from hyprctl binds -j in a searchable rofi list; no package does this
wallpaper.shautostart, Super + W, Super + Ctrl + W, Super + Shift + Wlive Wallpaper Engine scene or a static picture (random, pick, live); remembers the last choice
gtk_theme.shautostartapplies the GTK theme, icons, cursor and font from gtk-3.0/settings.ini
sddm_theme.sh—list / set <variant> for the SDDM Astronaut login screen
anti_afk.sh—nudges the cursor every 30–60 s so apps don't mark you as away; Ctrl+C stops
notification_sound.shswayncplays the message sound for new notifications, silent in Do not disturb
quick_toggle.shswaync buttonsnight light and microphone toggles: quick_toggle.sh night|mic [status]

~/.config/waybar/scripts/cava.sh draws the audio visualizer bars (Arch's Waybar is built without its own cava module).

Handled by packages and built-ins ​

Desktop ​

TaskTool
Random wallpaper, pickerwaypaper + hyprpaper, called by wallpaper.sh (Super + W, Super + Ctrl + W)
Hide / show Waybarpkill -SIGUSR1 waybar (Super + P)
Weather in Waybarwaybar-weather — Open-Meteo, no API key; location from Wi-Fi (beaconDB) or ~/.config/waybar-weather/cityname
Pending updates in Waybarwaybar-module-pacman-updates; click runs yay
Monitorsautomatic: preferred mode, auto placement, scale by pixel density, hotplug (hypr/conf/monitors.lua)
Volume / brightness pop-upsswayosd on the media keys and Caps Lock
Low battery warningbatsignal: notifications at 20% and 10%
Dim, lock, sleephypridle: dims after 5 min, locks after 10, screen off after 15, suspends after 30 on battery (never on AC)
USB automountudiskie
Clipboard after app quitswl-clip-persist
Night lighthyprsunset: 4500 K from 20:00, 6500 K from 07:00; toggle from the swaync control center
AnyDesk on Waylanda launcher override (~/.local/share/applications/anydesk.desktop) runs the X11-only app on XWayland, scaled for a 1.6 screen; outgoing sessions only, see troubleshooting
Notification centerswaync (Super + N); a sound plays on new notifications unless Do not disturb is on

System ​

TaskTool
Snapshots before upgradesTimeshift (rsync) + timeshift-autosnap: one snapshot before each pacman -Syu (at most every 18 h, last 3 kept); stored on /home when it is a separate, bigger partition; /home, the package cache and Docker are excluded
Swapzram, half of RAM (/etc/systemd/zram-generator.conf), swap tuned for it (/etc/sysctl.d/99-vm-zram-parameters.conf), zswap off
Firewallufw: incoming denied, outgoing allowed; GUI in gufw
Suspend with ath11k Wi-Fia sleep hook unloads the Qualcomm driver around suspend (installed only on that hardware)
Firmware updatesfwupdmgr update; metadata refreshed by fwupd-refresh.timer
Old package cachepaccache.timer keeps the last 3 versions
VPN without a passwordINCY starts in the tray; a polkit rule (/etc/polkit-1/rules.d/50-incy.rules) lets only its own helper calls through
Power profilespower-profiles-daemon; hover the CPU icon in Waybar to open the system drawer, then click the profile icon to cycle
Fastest mirrorsreflector.timer, weekly, settings in /etc/xdg/reflector/reflector.conf
Boot splash themeplymouth-theme-arch-logo; switch with plymouth_theme_list / plymouth_theme_set <name> in fish

swaync buttons and scripts call these as ~/bin/<name>: systemd user services such as swaync don't have ~/bin on their PATH.

Released under the MIT License