--- # Wayland only: gnome, kde, sway, hyprland. No X11/xorg-server, no X11-only DEs. # plasma-login-manager on Arch/Fedora44+ (Plasma 6.6), else sddm. bootstrap_kde_login_manager: >- {{ 'plasma-login-manager' if (os == 'archlinux' or (os == 'fedora' and (os_version | int) >= 44)) else 'sddm' }} # Native DMs ride in each DE's package set; only explicit non-native overrides # need a package here. ly is Arch-only (validation rejects it elsewhere first). bootstrap_dm_override_packages: ly: Archlinux: ly # EL = non-fedora RedHat. bootstrap_os_is_el: "{{ os in ['almalinux', 'rocky', 'rhel'] }}" bootstrap_os_is_el10: "{{ bootstrap_os_is_el | bool and (os_version | default('0') | int) >= 10 }}" # EL10 renames (evince->papers, eog->loupe, ppd->tuned-ppd); fira-code + mpv absent on EL. bootstrap_desktop_browser: "{{ 'firefox-esr' if os == 'debian' else 'firefox' }}" bootstrap_desktop_pdf: "{{ 'papers' if bootstrap_os_is_el10 | bool else 'evince' }}" bootstrap_desktop_image: "{{ 'loupe' if bootstrap_os_is_el10 | bool else 'eog' }}" bootstrap_desktop_power: "{{ 'tuned-ppd' if bootstrap_os_is_el10 | bool else 'power-profiles-daemon' }}" bootstrap_desktop_redhat_codefont: "{{ '' if bootstrap_os_is_el | bool else 'fira-code-fonts' }}" bootstrap_desktop_redhat_video: "{{ '' if bootstrap_os_is_el | bool else 'mpv' }}" bootstrap_desktop_packages: RedHat: gnome: groups: [] packages: - gnome-shell - gnome-control-center - nautilus - gnome-session - gdm kde: groups: [] packages: - plasma-desktop - plasma-nm - plasma-pa - plasma-systemmonitor - "{{ bootstrap_kde_login_manager }}" - konsole - dolphin - kate - kscreen - kde-gtk-config - xdg-user-dirs - xdg-desktop-portal-kde - bluez Debian: gnome: groups: [] packages: - gnome-core - gdm3 - gnome-tweaks - xdg-user-dirs kde: groups: [] packages: - plasma-desktop - plasma-nm - plasma-pa - "{{ bootstrap_kde_login_manager }}" - konsole - dolphin - kate - kscreen - xdg-user-dirs - xdg-desktop-portal-kde - bluez Archlinux: gnome: groups: [] packages: - gnome - gdm - xdg-user-dirs kde: groups: [] packages: - plasma-desktop - plasma-nm - plasma-pa - "{{ bootstrap_kde_login_manager }}" - konsole - dolphin - kate - kscreen - kde-gtk-config - xdg-user-dirs - xdg-desktop-portal-kde - bluez sway: groups: [] packages: - sway - waybar - foot - wofi - nautilus - greetd - greetd-tuigreet - xdg-user-dirs - xdg-desktop-portal-wlr - polkit-gnome - bluez hyprland: groups: [] packages: - hyprland - kitty - wofi - waybar - nautilus - greetd - greetd-tuigreet - xdg-user-dirs - xdg-desktop-portal-hyprland - polkit-kde-agent - qt5-wayland - qt6-wayland - bluez # Installed for EVERY DE whenever desktop.enabled. No file manager here: DE metas # bundle their own and the wlroots sets above carry nautilus. bootstrap_desktop_base_packages: RedHat: - google-noto-sans-fonts - google-noto-emoji-fonts - "{{ bootstrap_desktop_redhat_codefont }}" - pipewire - wireplumber - pipewire-pulseaudio - xdg-desktop-portal - "{{ bootstrap_desktop_power }}" - bluez - firefox - "{{ bootstrap_desktop_pdf }}" - "{{ bootstrap_desktop_image }}" - "{{ bootstrap_desktop_redhat_video }}" Debian: - fonts-noto - fonts-noto-color-emoji - fonts-firacode - pipewire - wireplumber - pipewire-pulse - xdg-desktop-portal - power-profiles-daemon - bluez - "{{ bootstrap_desktop_browser }}" - evince - eog - mpv Archlinux: - noto-fonts - noto-fonts-emoji - ttf-nerd-fonts-symbols - pipewire - wireplumber - pipewire-pulse - xdg-desktop-portal - power-profiles-daemon - bluez - firefox - evince - loupe - mpv # Opt-in groups selected per host via features.desktop.groups; the union of the # requested groups' packages is installed. Empty selection by default. desktop_package_groups: dev: RedHat: - git - "@development-tools" - neovim - python3-pip Debian: - git - build-essential - neovim - python3-pip Archlinux: - git - base-devel - neovim - python-pip