Previously the task hardcoded GRUB_CMDLINE_LINUX to a fixed string
containing nymph's rd.luks.uuid, rootflags and apparmor parameters,
clobbering whatever the host had. Switch to an idempotent
lineinfile-with-backrefs loop that appends nouveau.modeset=0 and
nvidia-drm.modeset=1 only when missing, preserving the existing
kernel cmdline. grub-mkconfig now runs only when the cmdline changed.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Consolidate the WirePlumber camera priority file under the same
host_i3_dotfiles mechanism used for autorandr, dropping the bespoke
copy task from profile_desktop_host/tasks/nymph.yml.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The dual/solo autorandr profiles existed under dotfiles/nymph/ but
were never deployed (no host_i3_dotfiles entry). Mirror the ikaros
pattern so they land in ~/.config/autorandr/.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Re-add NVIDIA/Intel GPU packages, tlp/power-profiles-daemon, and
emptty error logging to host_vars/nymph.yml — these were dropped
when the Arch path was removed but are independent of Arch and
needed for nymph laptop hardware. Drop two orphaned Wayland/Sway
residues: kanshi config and the historical Sway cleanup script.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
hostname was undefined after nymph.yml was deleted with the Arch path,
causing the profile_desktop_host include_tasks condition to fail.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Drop the Arch-specific systemd SSH reload handler and remove
.config/systemd/user from the common dir creation loop (no longer
needed without the Arch path).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
~/.cargo/env does not exist before rustup-init runs — sourcing it
upfront caused the task to fail on clean installs. Switch to a plain
command invocation without the premature source.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Delete all Arch-specific files (packages_arch role, profile_desktop_gnome
role, arch.yml group_vars, nymph.yml host_vars, arch dotfiles). Revert
nymph to the void group in inventory, remove the arch play from site.yml,
and restore profile_desktop_host/tasks/nymph.yml to its pre-Arch state
(GRUB + NVIDIA + prime-run). Preserve Void improvements introduced
alongside Arch work (desktop_void_dotfiles, desktop_void_source_tools,
profile_desktop_i3 dir additions, void-specific conditions).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Drop the profile_desktop_sway role (tasks, templates), all Sway
dotfiles, desktop_sway_* vars, and wayland-sessions emptty path.
Noctalia dotfiles are preserved and deployed via desktop_void_dotfiles
on Void hosts; noctalia_bar_monitors/noctalia_screen_overrides kept
as config vars. Only i3 remains as the Void desktop session.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add enabled_services_only list to services_systemd role for services that
should be enabled at boot but not started immediately. Move gdm to this list
on Arch to avoid starting the display manager mid-provisioning.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- emacs → emacs-wayland in arch_profile_packages
- Remove custom emacs.service deployment: replace full .config/systemd/user/
directory copy with individual service files (rclone-pcloud, syncthing)
- Remove emacs.service from desktop_systemd_user_services
- Enable package-provided /usr/lib/systemd/user/emacs.service via symlink
in profile_desktop_gnome
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- bookokrat removed completely from desktop_source_tools
- st moved from common to desktop_void_source_tools (Void-only; uses X11/make)
- Build task loop extended to include desktop_void_source_tools on Void
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add gpg-agent.arch.conf with pinentry-gnome3 and without enable-ssh-support
(SSH is handled by gnome-keyring on GNOME). Deploy it from profile_desktop_gnome,
overriding the common conf that uses pinentry-gtk-2 for Void.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove XFCE/i3-specific packages and dotfiles from Arch path (xarchiver,
udiskie, Thunar, xfce-polkit, clipman, screenshooter)
- Separate per-OS dotfiles: mimeapps, udiskie config, GTK theme script,
udiskie-password, dbus-session and ssh-agent fragments moved to Void-only
- Add mimeapps.arch.list with Nautilus/GNOME associations for nymph
- Move dunst/rofi directory creation from common to profile_desktop_i3
- Add gnome-keyring PAM hooks for GDM (gdm-password) in profile_desktop_gnome
- Remove ssh-agent.service from desktop_systemd_user_services on Arch;
drop ssh-agent dependency and hardcoded socket from emacs.service
- Add ttf-hack-nerd to Arch font packages
- Fix rustup bootstrap: use rustup-init on Void, rustup toolchain install on Arch
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add canonical usb-drive-manager plugin to Noctalia (symlink from official)
- Remove nm-applet and blueman packages from nymph Sway session
- Run udiskie without tray (backend for automount/LUKS, UI via usb-drive-manager)
- Add screenOverrides support to Noctalia bar via inventory variables
- Add host_packages_absent task to packages_void role
- Update desktop docs with full plugin list and config layering
- Add focused validation check for Sway/Noctalia bootstrap
- Create shared Noctalia config in dotfiles/desktop/.config/noctalia/
- Add Ayu theme, plugin enablement, and Clipper settings
- Migrate Clipper checkout from standalone to official noctalia-plugins
- Add template with host-specific variables for deterministic rendering
- Move Noctalia bar configuration to desktop group_vars
- Create role tasks for rendering and copying Noctalia settings