Commit Graph

291 Commits

Author SHA1 Message Date
Fabio Scotto di Santolo
ae8a6161cd Remove i3 desktop profile and st terminal
Elimina completamente la sessione desktop i3 (X11), ormai non più usata
(gli host espongono solo sway e Hyprland su Wayland):
- ruolo profile_desktop_i3 e voce emptty i3.desktop
- desktop_i3_packages e i guard 'i3' in desktop_sessions_enabled
- desktop_i3_dotfiles e host_i3_dotfiles (autorandr X11)
- dotfiles i3/X11: .xinitrc, i3, i3blocks, picom, polybar, autorandr
- task host-specifici i3 (copy dotfiles, wrap prime-run su nymph)
- rimuove st (terminale X11 da sorgente) da desktop_void_source_tools
- consolida lo script live in scripts/remove_i3.sh, elimina cleanup-i3.sh
- aggiorna la documentazione (README/AGENTS/CLAUDE/knowledge)

Config Emacs lasciata invariata di proposito.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 16:59:08 +02:00
Fabio Scotto di Santolo
a135edaa3f Remove deadalus-win and deadalus-ubuntu profiles
Rimuove completamente i due host non più in uso dal playbook:
- inventory: gruppi ubuntu_workstation, workstation_dev_ubuntu,
  workstation_host_windows e relative entry host
- host_vars deadalus-ubuntu/deadalus-win e group_vars windows
- play workstation_dev_ubuntu e workstation_host_windows in site.yml
- ruolo profile_workstation_host_windows e bootstrap PowerShell
- var PSRP nel vault.yml.example, pacchetti python pypsrp/pyspnego WSL
- collection ansible.windows/community.windows
- riferimenti nella documentazione (README/AGENTS/CLAUDE)

Workstation Linux nativa: resta solo deadalus-fedora.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 16:30:30 +02:00
Fabio Scotto di Santolo
0fb8f23ae2 Add glab snap package on Ubuntu WSL 2026-06-16 11:45:48 +02:00
Fabio Scotto di Santolo
51d784b86d Set Hyprland as default desktop session 2026-06-07 19:45:05 +02:00
Fabio Scotto di Santolo
cb28397bbb Update Hyprland utilities 2026-06-07 19:34:49 +02:00
Fabio Scotto di Santolo
bf754fc7d2 Use PGTK Emacs on Void desktops 2026-06-06 21:52:12 +02:00
Fabio Scotto di Santolo
769e61a488 Add Hyprland Void desktop profile 2026-06-06 16:08:35 +02:00
Fabio Scotto di Santolo
626a29cfcf desktop: switch to sway as sole active session and group default
Remove i3 from desktop_sessions_enabled on ikaros, nymph, and the
desktop group_vars; set sway/wayland as default for all desktop hosts.
Copy 60-camera-priority.conf into host_sway_dotfiles on nymph so
WirePlumber camera priority is still deployed under the sway session.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 19:49:32 +02:00
Fabio Scotto di Santolo
6b242a71b9 sway: replace swaylock with gtklock, Star Wars theme lockscreen
Switch lockscreen from swaylock to gtklock. CSS styled with Star Wars
yellow (#FFE81F) on near-black background, cover-scaled wallpaper injected
at runtime via temp CSS to avoid path expansion issues in gtklock config.
Update sway background wallpaper to darth-vader-sam.jpg.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-30 11:15:13 +02:00
Fabio Scotto di Santolo
6f6ea84fa3 Add lazygit on wsl 2026-05-28 15:05:25 +02:00
Fabio Scotto di Santolo
818d972493 Change merge and diff tool for git on workstation 2026-05-28 14:54:07 +02:00
Fabio Scotto di Santolo
a6a83fb74b install sshfs on Void Linux 2026-05-24 18:10:26 +02:00
Fabio Scotto di Santolo
a6049961a8 sway: add foot terminal config (Liberation Mono 14, black background)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 19:37:18 +02:00
Fabio Scotto di Santolo
9587ba9e97 Add task for installing IBM Bob Shell 2026-05-23 11:35:44 +02:00
Fabio Scotto di Santolo
c65aab1529 Add GPG sign workstation WSL host 2026-05-22 22:40:29 +02:00
Fabio Scotto di Santolo
a061d0ce17 sway: add foot terminal, floating rules for dialogs and apps 2026-05-17 20:44:23 +02:00
Fabio Scotto di Santolo
901bd46a2e sway: add wlogout, waybar power button, layer effects 2026-05-17 15:32:26 +02:00
Fabio Scotto di Santolo
1860314ea6 desktop: move common dotfiles and packages from void to shared 2026-05-17 14:57:17 +02:00
Fabio Scotto di Santolo
b7f7fc396d void: add linux packages 2026-05-17 14:12:32 +02:00
Fabio Scotto di Santolo
0c84c45743 sway: simplify flameshot bindings, add flameshot dotfiles 2026-05-17 12:46:44 +02:00
Fabio Scotto di Santolo
0202afd793 desktop_common: make Qt apps follow the GTK theme
Deploy /etc/profile.d/10-qt-theme.sh setting QT_QPA_PLATFORMTHEME=gtk3
system-wide. The gtk3 Qt platform theme plugin (already shipped with
qt5/qt6 base on Void) makes both Qt5 and Qt6 widgets read theme name,
font, icon theme and color scheme from ~/.config/gtk-3.0/settings.ini,
so Qt apps now match the Yaru-blue-dark setup on both i3 and sway.

Also drop the stale QT_QPA_PLATFORMTHEME=qt6ct override in nymph's
session-env (qt6ct is not installed and the override would shadow the
global gtk3 setting).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 08:11:41 +02:00
Fabio Scotto di Santolo
d9e71c635d desktop_common: drop inert Flatpak GTK_THEME override
The task wrote /etc/flatpak/overrides/global, but Flatpak reads its
overrides from /var/lib/flatpak/overrides/, so the file was never
honored. The dark theme is now correctly applied to Flatpak apps via
xdg-desktop-portal (color-scheme + gtk-theme), which works as long as
the portal backends can start — fixed in the prior commit.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 08:05:25 +02:00
Fabio Scotto di Santolo
8402f0c1d3 nymph: add kanshi profiles for laptop / dock switching
Two profiles, auto-selected from connected outputs:
- solo: only eDP-1, all workspaces routed there.
- dual: eDP-1 + DP-1 (3440x1440@100Hz dock), workspace 1 on the laptop
  panel and 2-10 on the dock; each profile reissues swaymsg "workspace
  N, move workspace to output X" on activation so workspaces follow.

host.conf autostarts kanshi and drops the redundant gaps/corner_radius
overrides, leaving the base sway/config values in effect.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 23:53:51 +02:00
Fabio Scotto di Santolo
4298fd9bdd sway: per-host overrides via host.conf and session-env
Adds a host_sway_dotfiles mechanism mirroring host_i3_dotfiles: hosts
drop a host.conf into ~/.config/sway/ to override sway settings, and
optionally a session-env file sourced by start-sway for per-host
environment variables. The base sway/config defines $terminal and
includes ~/.config/sway/host.conf; an empty placeholder ships with the
base profile so the include never warns on hosts without overrides.

nymph gets its own host.conf wrapping alacritty in prime-run (NVIDIA
PRIME offload), bumping gaps/corner_radius, and pinning workspaces to
eDP-1 / DP-1, plus a session-env exporting SWAY_UNSUPPORTED_GPU=1 and
WLR_DRM_DEVICES for the hybrid Intel+NVIDIA setup.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 23:50:01 +02:00
Fabio Scotto di Santolo
4638178c23 sway: create /etc/xdg/xdg-desktop-portal before writing portal config
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>
2026-05-16 23:49:50 +02:00
Fabio Scotto di Santolo
a2c0c69e7b hosts: enable sway alongside i3 on ikaros and nymph
Adds sway to desktop_sessions_enabled on both desktops so the next run
installs the sway profile and emptty exposes it in the picker. Default
session stays i3; users select Sway from emptty's picker (already on
via desktop_prompt_for_session).

Note: nymph still lacks a kanshi config, so multi-monitor workspace
pinning isn't tuned yet — sway will fall back to default placement.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 23:29:48 +02:00
Fabio Scotto di Santolo
d535c9ffd2 sway: screenshots, polkit floating, flatpak dark theme
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>
2026-05-16 23:26:45 +02:00
Fabio Scotto di Santolo
2ee4bd963e sway: deploy start-sway system-wide and fix runtime warnings
- 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>
2026-05-16 21:20:01 +02:00
Fabio Scotto di Santolo
87ae83e84e desktop: enable emptty session prompt instead of auto-selecting i3
Flip desktop_prompt_for_session to true so emptty stops auto-selecting
i3 and shows the session picker — needed now that sway is an alternative
target. desktop_default_session is kept as a fallback for future flips.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 20:54:38 +02:00
Fabio Scotto di Santolo
a1317e7d6e desktop: drop noctalia dotfiles and inventory vars
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>
2026-05-16 20:53:25 +02:00
Fabio Scotto di Santolo
2508ffdeb2 sway: use vanilla swaylock and fix Waybar package case
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>
2026-05-16 20:39:44 +02:00
Fabio Scotto di Santolo
2e2153e251 Fix Waybar package name 2026-05-16 20:25:21 +02:00
Fabio Scotto di Santolo
cddaef3b04 desktop: add sway/swayfx profile (dormant) with waybar, kanshi, cliphist
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>
2026-05-16 19:39:11 +02:00
Fabio Scotto di Santolo
dbe135cbdb desktop: unify mono font to LiterationMono Nerd Font, add alacritty dotfiles 2026-05-15 22:18:31 +02:00
Fabio Scotto di Santolo
7593928edb desktop: add polybar dotfiles 2026-05-15 20:24:32 +02:00
Fabio Scotto di Santolo
9691627d0a Added X11 compositor (picom) and configure background transparancy 2026-05-14 23:48:26 +02:00
Fabio Scotto di Santolo
ed0bb0e8fa Fix nvidia driver version on desktop 2026-05-14 19:50:42 +02:00
Fabio Scotto di Santolo
b9c8773761 desktop: add Thunderbird flatpak 2026-05-14 18:36:37 +02:00
Fabio Scotto di Santolo
15c6d97671 Rewrite GRUB cmdline NVIDIA param injection with grep+replace
Replace the slurp/set_fact Jinja-heavy approach (which was clobbering
pre-existing GRUB_CMDLINE_LINUX content) with a straightforward
sequence: grep to detect whether the line exists, lineinfile to
initialize an empty one when missing, then two replace tasks using a
tempered-greedy-token regex that appends each NVIDIA parameter only
when not already present. Idempotent and preserves any existing
content in GRUB_CMDLINE_LINUX.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 00:05:13 +02:00
Fabio Scotto di Santolo
62e42f90cb Rewrite GRUB cmdline merge using slurp + fact-based merge
The previous lineinfile-with-backrefs negative-lookahead regex was
not appending NVIDIA parameters when missing. Switch to a clearer
approach: slurp the file, extract the current GRUB_CMDLINE_LINUX
value, build a merged target value that appends missing NVIDIA
params, then write back the line. lineinfile sees no diff when the
target matches the current line, preserving idempotency.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 23:54:49 +02:00
Fabio Scotto di Santolo
3a2ce58c7d Append NVIDIA params to GRUB cmdline instead of overwriting
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>
2026-05-13 23:44:14 +02:00
Fabio Scotto di Santolo
a12e646234 Deploy nymph WirePlumber camera config via host_i3_dotfiles
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>
2026-05-13 22:41:33 +02:00
Fabio Scotto di Santolo
042e431dbb Deploy nymph autorandr profiles via host_i3_dotfiles
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>
2026-05-13 22:36:25 +02:00
Fabio Scotto di Santolo
f31351a259 Restore nymph hardware and power management config
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>
2026-05-13 22:27:51 +02:00
Fabio Scotto di Santolo
6970a4cf26 Restore minimal nymph host_vars for Void/i3
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>
2026-05-13 22:18:00 +02:00
Fabio Scotto di Santolo
0656824306 Remove remaining Arch references from profile_desktop_common
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>
2026-05-13 21:59:44 +02:00
Fabio Scotto di Santolo
f6177f0f52 Fix rustup-init failing on fresh systems
~/.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>
2026-05-13 21:37:59 +02:00
Fabio Scotto di Santolo
13fed45489 Remove Arch/nymph path, restore nymph as Void desktop
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>
2026-05-13 20:06:20 +02:00
Fabio Scotto di Santolo
9055c15628 Remove Sway from the playbook, keep Noctalia configs
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>
2026-05-13 18:44:56 +02:00
Fabio Scotto di Santolo
f0e93cb081 Replace gnome-console with ptyxis on Arch
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 11:45:02 +02:00