The portal config copy assumed the parent directory existed, but on a
fresh install xdg-desktop-portal hasn't shipped it yet. Add an explicit
file directory task ahead of the copy so the playbook is robust on
hosts that don't already have it.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Screenshots
- Swap xfce4-screenshooter for flameshot + grim/slurp/jq; xfce4 used
the X11 selection so clipboard didn't round-trip to Wayland clients.
Print invokes flameshot's editor; Shift/Alt+Print are quick
grim-based captures via a small wrapper script. Flameshot is now
autostarted so the first capture isn't slow.
Polkit
- Add for_window rules so the xfce-polkit dialog (and any other polkit
agent) always opens floating.
Flatpak dark theme
- Write /etc/flatpak/overrides/global with GTK_THEME=Yaru-Blue-dark for
legacy GTK apps, plus a sway-portals.conf so the Settings portal is
served by xdg-desktop-portal-gtk (wlr doesn't implement it). That
lets libadwaita apps see color-scheme=prefer-dark.
cleanup-sway: track the new package set.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Move start-sway to /usr/local/bin so emptty resolves it without a user
PATH (it runs the launcher with an absolute path). The role copies the
script as root; the user dotfile entry is removed.
- Fix runtime errors / deprecations in sway/config: tiling_drag accepts
only enable|disable|toggle; new_window / new_float have been
superseded by default_border / default_floating_border.
- Simplify workspace names to numeric only; waybar already maps them to
roman numerals via format-icons.
- Update cleanup-sway.sh to remove /usr/local/bin/start-sway and the
emptty session entry together as system files.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
New profile_desktop_sway role gated by desktop_sessions_enabled, with
SwayFX effects, Waybar bar (1:1 with Polybar layout + pulseaudio),
swayidle + swaylock-effects for locking, swayosd for OSD, cliphist for
clipboard history and kanshi for multi-monitor profiles. Emptty gains
WAYLAND_SESSIONS_PATH + wayland-sessions dir. start-sway wrapper handles
session env (dbus-run-session, gpg-agent, turnstile env). Profile stays
dormant until a host opts in via desktop_sessions_enabled.
Co-Authored-By: Claude Opus 4.7 <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>
- 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