- AUR task: replace loop with single paru call, use changed_when: false (stdout-only match never fired under non-TTY runs) and failed_when: false so transient AUR failures don't abort the play - Rename ansible_user -> local_user to avoid shadowing the connection magic var; update the two references in roles/common/tasks/main.yml
189 lines
4.9 KiB
YAML
189 lines
4.9 KiB
YAML
# 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
|