- Switch muted glyph from U+F6A9 to U+F026 (volume-off), which is
present in every Nerd Font variant including LiterationMono.
- Use exec for waybar instead of exec_always, so reloading sway no
longer spawns a second bar.
- Move the clock to the right of the tray and drop the leading
calendar glyph from its format.
- Lock screen now uses maxresdefault.jpg, matching the i3 lockscreen;
the asset is copied into sway/wallpapers/ so the sway profile stays
self-contained.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The pulseaudio module had empty strings where Nerd Font glyphs were
meant to be, so the volume / mute / bluetooth indicators rendered
blank. Re-inject the proper PUA codepoints (F027/F028 volume,
F6A9 mute, F293 bluetooth). Bump #pulseaudio.muted from #3a3a46
to #8e8e9a so it stays readable against the bar background.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Use bg mode 'center' so the wallpaper keeps its native size.
- Drop --clock and --indicator from the lockscreen invocation; those
flags belong to swaylock-effects and made vanilla swaylock exit with
an unknown-option error. Keep --indicator-idle-visible to preserve
the ring while idle.
- Replace the suspend-only swayidle line with a full idle policy:
5 min lock, 10 min DPMS off, DPMS on on resume, lock before sleep.
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>
Remove the noctalia config tree and its desktop_void_dotfiles entry,
plus the unused noctalia_bar_monitors / noctalia_screen_overrides vars.
Not used by any role.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
swaylock-effects is not packaged in Void; switch the lockscreen script
to vanilla swaylock and drop the unsupported --effect-blur / --fade-in
flags. Also correct the case-sensitive package name Waybar so xbps-install
can resolve it.
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>
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>
dotfiles/desktop/.config/systemd/user/ (emacs, rclone-pcloud,
ssh-agent, syncthing services) was deployed only via desktop_arch_dotfiles,
which was removed with the Arch path. The equivalent Void services live
in dotfiles/desktop/.config/service/ under Turnstile.
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 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