# mw-pfeddersheim-workstation variables system_user: mw local_user: "{{ system_user }}" root_filesystem_uuid: 2aeade2e-b169-4964-8cbd-bb7356320b51 root_filesystem_mount_opts: noatime swap_file_path: /swapfile swap_file_size_gb: 16 workspace_root: /home/mw/infrastructure/mw-pfeddersheim-workstation os_type: archlinux pnpm_version: "25.6.1" python_version: "3.14.3" php_version: "8.5.3" # --------------------------------------------------------------------------- # system-upgrade role: kernel + NVIDIA preparation for Hyprland/Wayland # --------------------------------------------------------------------------- # Strategy: keep linux618 as fallback, add linux70 (7.0.x stable) # as the new daily-driver kernel. Migrate NVIDIA from the pinned 575xx branch # to the 580xx branch (NFB) for Pascal compatibility. # See: docs/adr/0002-kernel-and-nvidia-strategy.md kernel_packages: - linux618 - linux618-headers - linux70 - linux70-headers nvidia_kernel_modules: - linux618-nvidia-580xx - linux70-nvidia-580xx nvidia_userspace_packages: - nvidia-580xx-utils - lib32-nvidia-580xx-utils - opencl-nvidia-580xx - nvidia-580xx-settings nvidia_packages_to_remove: - linux612-nvidia-575xx - nvidia-575xx-utils - lib32-nvidia-575xx-utils - nvidia-575xx-settings - opencl-nvidia # Pre-flight: refuse to proceed if free space on / drops below this many GiB. # Current usage is ~87% so we keep this conservative. min_free_root_gb: 5 # --------------------------------------------------------------------------- # hyprland role: packages and configuration # --------------------------------------------------------------------------- hyprland_packages: - hyprland - hyprlock - hypridle - hyprshot - hyprcursor - grim - slurp - wl-clipboard - satty - yazi - xdg-desktop-portal-hyprland - waybar - hyprlauncher - dunst - kitty - cliphist - uwsm - brightnessctl - pipewire - pipewire-pulse - wireplumber - pavucontrol - egl-wayland - qt5-wayland - qt6-wayland - chafa - 7zip - resvg - udisks2 # X11 packages to remove (Wayland-only environment) # Tier 1: no dependents, no active use — ADR 0007 hyprland_packages_remove: # X11 clipboard (replaced by wl-clipboard) - xclip - xsel # X11 display managers (replaced by greetd+tuigreet) - lightdm - lightdm-slick-greeter - lightdm-settings - sddm - sddm-kcm - sddm-breath-theme # X11 video drivers (not used; Xwayland renders via Mesa) - xf86-video-amdgpu - xf86-video-ati - xf86-video-intel - xf86-video-nouveau - xf86-video-vesa # X11 input driver (superseded by libinput) - xf86-input-synaptics # X11 tools (no X11 session exists) - xterm - xorg-twm - xorg-xinit - xorg-xkill - x11vnc - numlockx - startup-notification - xorg-server-xvfb # Legacy wallpaper - illyria-wallpaper # Redundant NTP (systemd-timesyncd is active) - ntp # KDE screenshot (replaced by grim+slurp+grimblast) - spectacle # KDE pamac tray (paru is AUR helper; pamac not running) - pamac-tray-icon-plasma # Tier 2: KDE Plasma stack (replaced by Hyprland native tools) — ADR 0007 # Dolphin and kdegraphics-thumbnailers are kept (no plasma-workspace dep) - kwin - plasma-desktop - plasma-workspace - kdeplasma-addons - plasma-nm - plasma-pa - plasma-x11-session - kde-gtk-config - powerdevil - xdg-desktop-portal-kde - plasma-integration # Dolphin file manager replaced by yazi; kdegraphics-thumbnailers was dolphin-only - dolphin - dolphin-plugins - kdegraphics-thumbnailers # Tier 2b: KDE screen management (replaced by wlr-randr/hyprlock) — ADR 0007 - kscreen - kscreenlocker # Tier 3: no active use, no dependents — ADR 0007 # Ruby: entire stack including subpackages (no active Ruby usage) - ruby - ruby-abbrev - ruby-base64 - ruby-bigdecimal - ruby-bundled-gems - ruby-bundler - ruby-csv - ruby-debug - ruby-default-gems - ruby-drb - ruby-erb - ruby-getoptlong - ruby-irb - ruby-matrix - ruby-minitest - ruby-mutex_m - ruby-net-ftp - ruby-net-imap - ruby-net-pop - ruby-net-smtp - ruby-nkf - ruby-observer - ruby-power_assert - ruby-prime - ruby-racc - ruby-rake - ruby-rbs - ruby-rdoc - ruby-repl_type_completor - ruby-resolv-replace - ruby-rexml - ruby-rinda - ruby-rss - ruby-stdlib - ruby-syslog - ruby-test-unit - ruby-typeprof - rubygems # LOVE game engine (no .love files on disk) - love # X11 server (no longer required; xorg-xwayland is independent) - xorg-server - xf86-input-libinput # --------------------------------------------------------------------------- # greetd role: display manager - minimal TUI greeter for Wayland # Replaced SDDM (2026-05-20) - see docs/adr/0003-sddm-to-greetd.md # --------------------------------------------------------------------------- display_manager_package: greetd display_manager_greeter: greetd-tuigreet display_manager_config: /etc/greetd/config.toml