Arch Linux Multi-Environment Skill
Manage, configure, and customize Arch Linux desktop systems across all major Window Managers (WMs) and Desktop Environments (DEs).
Inspired by the agent skill design principles of the Omarchy project, generalized for upstream Arch Linux.
This skill guides configuration, theming, window management, package maintenance, display settings, and system components on Arch Linux.
When This Skill MUST Be Used
Invoke this skill for user requests involving ANY of these on Arch Linux:
- Hyprland: Editing
~/.config/hypr/(hyprland.conf,monitors.conf,keybindings.conf,windowrules.conf,looknfeel.conf,hypridle.conf,hyprlock.conf) - Sway & i3wm: Editing
~/.config/sway/configor~/.config/i3/config,swaymsg,i3-msg - KDE Plasma 6: Configuring
kwriteconfig6,kwinrc,kdeglobals, shortcuts, KWin rules, and Plasma themes - GNOME: Configuring
gsettings,dconf, GNOME extensions (gnome-extensions), Mutter keybindings, and dynamic workspaces - Niri: Configuring
~/.config/niri/config.kdlandniri msg - Status Bars & Launchers:
~/.config/waybar/, Polybar, Rofi (config.rasi), Wofi, SwayNC, Dunst, Mako - Theming: GTK 3/4, Qt5/Qt6 (Kvantum, qt6ct), wallpapers (
swww,hyprpaper,waypaper), color generators (matugen,pywal), and fontconfig - Terminals: Ghostty, Kitty, Alacritty, Foot
- Screen Capture & Portals:
grim,slurp,grimblast,wf-recorder,gpu-screen-recorder,xdg-desktop-portal - Package Management:
pacman, AUR helpers (yay,paru), mirrorlist (reflector), system updates, and cache cleaning - System Maintenance: PipeWire/WirePlumber, systemd user services, GPU drivers (NVIDIA, AMD, Intel), and
journalctldiagnostics
Topic Guides
Detailed guides for specific desktop environments and subsystems:
Desktop Environments & Window Managers
references/environments/hyprland.md— Hyprland native config, monitors, window rules v2, animations, andhyprctlreferences/environments/sway-i3.md— Sway (Wayland) and i3 (X11) configuration, outputs, workspaces, andswaymsgreferences/environments/kde-plasma.md— KDE Plasma 6 CLI tools (kwriteconfig6), KWin rules, themes, and shortcutsreferences/environments/gnome.md— GNOME configuration viagsettings,dconf, Mutter, and GNOME extensionsreferences/environments/niri.md— Niri horizontal scrollable tiling compositor (config.kdl) andniri msg
System Subsystems & Customization
references/subsystems/bar-and-widgets.md— Waybar layout, CSS styling, custom modules, SwayNC, Hypridle, and Hyprlockreferences/subsystems/theming.md— Wallpapers (swww,hyprpaper), GTK/Qt themes, color palettes, terminal themes, and fontsreferences/subsystems/hooks.md— Compositor IPC event listeners, systemd user services/timers, and udev rulesreferences/subsystems/capture.md— Screenshots, screen recording, OCR text capture, and desktop sharing portalsreferences/subsystems/packages-and-system.md—pacman, AUR helpers (yay/paru), system updates, driver troubleshooting, and logs
Critical Safety Rules & Best Practices
- User Space First: Always write user configuration files in
~/.config/or~/.local/bin/. - Backup Before Changes: Make a timestamped backup before modifying critical files:
cp ~/.config/hypr/hyprland.conf ~/.config/hypr/hyprland.conf.bak.$(date +%s) - Privilege Escalation:
- Use
sudofor administrative actions (pacman, system systemd units). - NEVER run AUR helpers (
yay,paru) withsudo! AUR helpers manage build directories as a normal user.
- Use
- Validation:
- Hyprland:
hyprctl reloadandhyprctl configerrors - Niri:
niri validate - Sway:
swaymsg reload
- Hyprland:
Decision Framework
When handling user requests on Arch Linux:
- Identify the Environment: Check running session (
echo $XDG_CURRENT_DESKTOP,echo $XDG_SESSION_TYPE,pgrep -l "hyprland|sway|plasma|gnome|niri"). - Apply the Right Guide:
- Hyprland ->
references/environments/hyprland.md - Sway / i3 ->
references/environments/sway-i3.md - KDE Plasma ->
references/environments/kde-plasma.md - GNOME ->
references/environments/gnome.md - Niri ->
references/environments/niri.md
- Hyprland ->
- Package Installation: Use
pacman -Sfor official repos;yay -S/paru -Swithoutsudofor AUR. - Service & Audio Management: Use
systemctl --userfor user-space daemons (Waybar, PipeWire, SwayNC, Dunst, etc.).