From cddaef3b04527c8ad86a59ce4032f914e4791d60 Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Sat, 16 May 2026 19:39:11 +0200 Subject: [PATCH 01/16] 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 --- ansible/inventory/group_vars/desktop.yml | 26 ++ ansible/inventory/group_vars/void.yml | 28 ++- ansible/roles/packages_void/tasks/main.yml | 5 + .../profile_desktop_common/tasks/main.yml | 1 + .../templates/emptty-conf.j2 | 1 + .../profile_desktop_sway/files/sway.desktop | 5 + .../roles/profile_desktop_sway/tasks/main.yml | 41 +++ ansible/site.yml | 1 + dotfiles/desktop/.config/sway/config | 238 ++++++++++++++++++ .../desktop/.config/sway/scripts/lockscreen | 20 ++ .../desktop/.config/sway/scripts/powermenu.sh | 29 +++ .../.config/sway/scripts/setup-gtk-theme.sh | 53 ++++ .../sway/wallpapers/wallpaper-161664.jpg | Bin 0 -> 120708 bytes dotfiles/desktop/.config/waybar/config.jsonc | 101 ++++++++ dotfiles/desktop/.config/waybar/style.css | 67 +++++ dotfiles/desktop/.local/bin/start-sway | 24 ++ .../desktop/.local/bin/update-turnstile-env | 15 +- 17 files changed, 639 insertions(+), 16 deletions(-) create mode 100644 ansible/roles/profile_desktop_sway/files/sway.desktop create mode 100644 ansible/roles/profile_desktop_sway/tasks/main.yml create mode 100644 dotfiles/desktop/.config/sway/config create mode 100755 dotfiles/desktop/.config/sway/scripts/lockscreen create mode 100755 dotfiles/desktop/.config/sway/scripts/powermenu.sh create mode 100755 dotfiles/desktop/.config/sway/scripts/setup-gtk-theme.sh create mode 100755 dotfiles/desktop/.config/sway/wallpapers/wallpaper-161664.jpg create mode 100644 dotfiles/desktop/.config/waybar/config.jsonc create mode 100644 dotfiles/desktop/.config/waybar/style.css create mode 100755 dotfiles/desktop/.local/bin/start-sway diff --git a/ansible/inventory/group_vars/desktop.yml b/ansible/inventory/group_vars/desktop.yml index 4a38ad1..23aa315 100644 --- a/ansible/inventory/group_vars/desktop.yml +++ b/ansible/inventory/group_vars/desktop.yml @@ -156,6 +156,32 @@ desktop_i3_dotfiles: dest: .xinitrc mode: "0644" +desktop_sway_dotfiles: + - name: sway config + src: .config/sway/ + dest: .config/sway/ + mode: preserve + - name: Sway session launcher + src: .local/bin/start-sway + dest: .local/bin/start-sway + mode: "0755" + - name: dunst config + src: .config/dunst/ + dest: .config/dunst/ + mode: preserve + - name: rofi config + src: .config/rofi/ + dest: .config/rofi/ + mode: preserve + - name: waybar config + src: .config/waybar/ + dest: .config/waybar/ + mode: preserve + - name: alacritty config + src: .config/alacritty/ + dest: .config/alacritty/ + mode: preserve + noctalia_bar_monitors: - DP-1 diff --git a/ansible/inventory/group_vars/void.yml b/ansible/inventory/group_vars/void.yml index 32660b8..c551709 100644 --- a/ansible/inventory/group_vars/void.yml +++ b/ansible/inventory/group_vars/void.yml @@ -63,7 +63,6 @@ void_packages_base: - tealdeer - tree-sitter-grammars - ufw - - xdotool - void-repo-nonfree - vpm - vsv @@ -115,10 +114,6 @@ desktop_void_dotfiles: src: .bashrc.d/15-runit-desktop.sh dest: .bashrc.d/15-runit-desktop.sh mode: "0644" - - name: alacritty config - src: .config/alacritty/ - dest: .config/alacritty/ - mode: preserve - name: GTK theme setup script src: .local/bin/setup-gtk-theme dest: .local/bin/setup-gtk-theme @@ -141,9 +136,11 @@ desktop_void_dotfiles: mode: preserve desktop_common_packages: + - blueman - brightnessctl - dex - emptty + - network-manager-applet - pinentry-emacs - pinentry-gtk - turnstile @@ -151,6 +148,7 @@ desktop_common_packages: - xdg-desktop-portal - xdg-desktop-portal-gtk - xdg-user-dirs + - xfce-polkit desktop_i3_packages: - arandr @@ -162,22 +160,36 @@ desktop_i3_packages: - i3lock-color - i3status - dunst - - network-manager-applet - picom - polybar - rofi - scrot - setxkbmap - - blueman - volumeicon - xclip - - xfce-polkit - xfce4-clipman-plugin - xfce4-screenshooter - xkbutils - xorg-fonts - xorg-minimal - xss-lock + - xdotool + +desktop_sway_packages: + - cliphist + - dunst + - kanshi + - rofi + - swayfx + - swaybg + - swayidle + - swaylock-effects + - SwayOSD + - waybar + - wl-clipboard + - xfce4-screenshooter + - xdg-desktop-portal-wlr + - xorg-server-xwayland profile_packages: - alacritty diff --git a/ansible/roles/packages_void/tasks/main.yml b/ansible/roles/packages_void/tasks/main.yml index 967ea4a..4f0f422 100644 --- a/ansible/roles/packages_void/tasks/main.yml +++ b/ansible/roles/packages_void/tasks/main.yml @@ -61,6 +61,11 @@ if 'i3' in (desktop_sessions_enabled | default([])) else [] ) + + ( + (desktop_sway_packages | default([])) + if 'sway' in (desktop_sessions_enabled | default([])) + else [] + ) + (host_packages | default([])) ) | unique diff --git a/ansible/roles/profile_desktop_common/tasks/main.yml b/ansible/roles/profile_desktop_common/tasks/main.yml index 6b505e0..91b0d24 100644 --- a/ansible/roles/profile_desktop_common/tasks/main.yml +++ b/ansible/roles/profile_desktop_common/tasks/main.yml @@ -246,6 +246,7 @@ mode: "0755" loop: - /etc/emptty/xsessions + - /etc/emptty/wayland-sessions when: "'void' in group_names" - name: Configure emptty diff --git a/ansible/roles/profile_desktop_common/templates/emptty-conf.j2 b/ansible/roles/profile_desktop_common/templates/emptty-conf.j2 index c4f93df..c54363e 100644 --- a/ansible/roles/profile_desktop_common/templates/emptty-conf.j2 +++ b/ansible/roles/profile_desktop_common/templates/emptty-conf.j2 @@ -10,6 +10,7 @@ DEFAULT_SESSION_ENV={{ desktop_default_session_env | default('') }} DBUS_LAUNCH=false XINITRC_LAUNCH=true XORG_SESSIONS_PATH=/etc/emptty/xsessions +WAYLAND_SESSIONS_PATH=/etc/emptty/wayland-sessions VERTICAL_SELECTION=true IDENTIFY_ENVS=true SELECT_LAST_USER=global diff --git a/ansible/roles/profile_desktop_sway/files/sway.desktop b/ansible/roles/profile_desktop_sway/files/sway.desktop new file mode 100644 index 0000000..16f3054 --- /dev/null +++ b/ansible/roles/profile_desktop_sway/files/sway.desktop @@ -0,0 +1,5 @@ +[Desktop Entry] +Name=Sway +Comment=SwayFX (Wayland) +Exec=start-sway +Type=Application diff --git a/ansible/roles/profile_desktop_sway/tasks/main.yml b/ansible/roles/profile_desktop_sway/tasks/main.yml new file mode 100644 index 0000000..74503cb --- /dev/null +++ b/ansible/roles/profile_desktop_sway/tasks/main.yml @@ -0,0 +1,41 @@ +--- +- name: Ensure sway config directories exist + tags: [dotfiles, dotfiles:desktop, sway] + ansible.builtin.file: + path: "{{ item }}" + state: directory + owner: "{{ username }}" + group: "{{ user_group }}" + mode: "0755" + loop: + - "{{ user_home }}/.config/alacritty" + - "{{ user_home }}/.config/dunst" + - "{{ user_home }}/.config/rofi" + - "{{ user_home }}/.config/sway" + - "{{ user_home }}/.config/sway/scripts" + - "{{ user_home }}/.config/sway/wallpapers" + - "{{ user_home }}/.config/waybar" + when: "'sway' in (desktop_sessions_enabled | default([]))" + +- name: Install allowed emptty Wayland sessions + tags: [packages, services, emptty, sway] + ansible.builtin.copy: + src: sway.desktop + dest: /etc/emptty/wayland-sessions/sway.desktop + owner: root + group: root + mode: "0644" + when: "'sway' in (desktop_sessions_enabled | default([]))" + +- name: Copy sway desktop dotfiles + tags: [dotfiles, dotfiles:desktop, sway] + ansible.builtin.copy: + src: "{{ playbook_dir }}/../dotfiles/desktop/{{ item.src }}" + dest: "{{ user_home }}/{{ item.dest }}" + owner: "{{ username }}" + group: "{{ user_group }}" + mode: "{{ item.mode }}" + loop: "{{ desktop_sway_dotfiles | default([]) }}" + loop_control: + label: "{{ item.dest }}" + when: "'sway' in (desktop_sessions_enabled | default([]))" diff --git a/ansible/site.yml b/ansible/site.yml index 456f2ce..3a754ae 100644 --- a/ansible/site.yml +++ b/ansible/site.yml @@ -25,6 +25,7 @@ - services_runit - profile_desktop_common - profile_desktop_i3 + - profile_desktop_sway - profile_desktop_host - hosts: workstation_dev_ubuntu diff --git a/dotfiles/desktop/.config/sway/config b/dotfiles/desktop/.config/sway/config new file mode 100644 index 0000000..eaac001 --- /dev/null +++ b/dotfiles/desktop/.config/sway/config @@ -0,0 +1,238 @@ +# Sway / SwayFX config + +set $mod Mod4 + +font pango:LiterationMono Nerd Font 10 + +# vim-like directions +set $left h +set $down j +set $up k +set $right l + +# Workspaces (etichette in numeri romani) +set $ws1 "1: I" +set $ws2 "2: II" +set $ws3 "3: III" +set $ws4 "4: IV" +set $ws5 "5: V" +set $ws6 "6: VI" +set $ws7 "7: VII" +set $ws8 "8: VIII" +set $ws9 "9: IX" +set $ws10 "10: X" + +# Input devices +input * { + xkb_layout us + xkb_variant intl +} + +# Cursor +seat * xcursor_theme Yaru 24 + +# Outputs +output * bg ~/.config/sway/wallpapers/wallpaper-161664.jpg fill + +# SwayFX effects +corner_radius 8 +blur enable +blur_passes 2 +blur_radius 5 +shadows enable +default_dim_inactive 0.1 + +# Allow X11 applications +xwayland enable + +# General behavior +focus_follows_mouse no +mouse_warping none +floating_modifier $mod +tiling_drag modifier titlebar + +# Borders +default_border pixel 2 +default_floating_border pixel 2 +new_window pixel 2 +new_float pixel 2 +hide_edge_borders none + +# Gaps +gaps inner 10 +gaps outer 4 +smart_gaps on +smart_borders on + +# Autostart — XDG and session services +exec dex --autostart --environment sway +exec gnome-keyring-daemon --start --components=secrets +exec_always ~/.config/sway/scripts/setup-gtk-theme.sh +exec /usr/libexec/xdg-desktop-portal + +# Audio +exec pipewire +exec pipewire-pulse +exec wireplumber + +# Status bar +exec_always waybar + +# OSD daemon (volume/brightness/caps-lock) +exec swayosd-server + +# Tray services +exec dunst +exec /usr/libexec/xfce-polkit +exec nm-applet +exec blueman-applet +exec udiskie + +# Clipboard manager (Wayland-native) +exec wl-paste --type text --watch cliphist store +exec wl-paste --type image --watch cliphist store + +# Lock on suspend +exec swayidle -w before-sleep '~/.config/sway/scripts/lockscreen' + +# Terminal +bindsym $mod+Return exec alacritty + +# Emacs client +bindsym $mod+Shift+e exec emacsclient -c -n + +# Launcher +bindsym $mod+d exec "rofi -show drun -theme ~/.config/rofi/config.rasi" + +# Clipboard history picker +bindsym $mod+c exec "cliphist list | rofi -dmenu -theme ~/.config/rofi/config.rasi | cliphist decode | wl-copy" + +# Audio panel control +bindsym $mod+Shift+v exec pavucontrol + +# File manager +bindsym $mod+Shift+f exec thunar + +# Manual lock screen +bindsym $mod+Shift+x exec ~/.config/sway/scripts/lockscreen + +# Kill focused window +bindsym $mod+Shift+q kill + +# Screenshot (xfce4-screenshooter via xdg-desktop-portal-wlr) +bindsym Print exec xfce4-screenshooter +bindsym Shift+Print exec xfce4-screenshooter -r +bindsym Alt+Print exec xfce4-screenshooter -w + +# Focus +bindsym $mod+$left focus left +bindsym $mod+$down focus down +bindsym $mod+$up focus up +bindsym $mod+$right focus right + +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# Move windows +bindsym $mod+Shift+$left move left +bindsym $mod+Shift+$down move down +bindsym $mod+Shift+$up move up +bindsym $mod+Shift+$right move right + +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# Split +bindsym $mod+b split h +bindsym $mod+v split v + +# Layouts +bindsym $mod+f fullscreen toggle +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# Floating / focus mode +bindsym $mod+Shift+space floating toggle +bindsym $mod+space focus mode_toggle +bindsym $mod+a focus parent + +# Scratchpad +bindsym $mod+Shift+minus move scratchpad +bindsym $mod+minus scratchpad show + +# Volume (via swayosd: aggiorna pactl + mostra OSD) +bindsym XF86AudioRaiseVolume exec swayosd-client --output-volume raise +bindsym XF86AudioLowerVolume exec swayosd-client --output-volume lower +bindsym XF86AudioMute exec swayosd-client --output-volume mute-toggle +bindsym XF86AudioMicMute exec swayosd-client --input-volume mute-toggle + +# Brightness (via swayosd: aggiorna brightnessctl + mostra OSD) +bindsym XF86MonBrightnessUp exec swayosd-client --brightness raise +bindsym XF86MonBrightnessDown exec swayosd-client --brightness lower + +# Media keys +bindsym XF86AudioPlay exec playerctl play-pause +bindsym XF86AudioNext exec playerctl next +bindsym XF86AudioPrev exec playerctl previous + +# Workspace switch +bindsym $mod+1 workspace number $ws1 +bindsym $mod+2 workspace number $ws2 +bindsym $mod+3 workspace number $ws3 +bindsym $mod+4 workspace number $ws4 +bindsym $mod+5 workspace number $ws5 +bindsym $mod+6 workspace number $ws6 +bindsym $mod+7 workspace number $ws7 +bindsym $mod+8 workspace number $ws8 +bindsym $mod+9 workspace number $ws9 +bindsym $mod+0 workspace number $ws10 +bindsym $mod+comma workspace prev +bindsym $mod+period workspace next + +bindsym $mod+Shift+1 move container to workspace number $ws1 +bindsym $mod+Shift+2 move container to workspace number $ws2 +bindsym $mod+Shift+3 move container to workspace number $ws3 +bindsym $mod+Shift+4 move container to workspace number $ws4 +bindsym $mod+Shift+5 move container to workspace number $ws5 +bindsym $mod+Shift+6 move container to workspace number $ws6 +bindsym $mod+Shift+7 move container to workspace number $ws7 +bindsym $mod+Shift+8 move container to workspace number $ws8 +bindsym $mod+Shift+9 move container to workspace number $ws9 +bindsym $mod+Shift+0 move container to workspace number $ws10 + +# Reload / exit +bindsym $mod+Shift+c reload +bindsym $mod+Shift+r reload +bindsym $mod+Shift+BackSpace exec swaymsg exit +bindsym $mod+Shift+Escape exec ~/.config/sway/scripts/powermenu.sh + +# Resize mode +mode "resize" { + bindsym $left resize shrink width 10 px or 10 ppt + bindsym $down resize grow height 10 px or 10 ppt + bindsym $up resize shrink height 10 px or 10 ppt + bindsym $right resize grow width 10 px or 10 ppt + + bindsym Left resize shrink width 10 px or 10 ppt + bindsym Down resize grow height 10 px or 10 ppt + bindsym Up resize shrink height 10 px or 10 ppt + bindsym Right resize grow width 10 px or 10 ppt + + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+r mode "default" +} +bindsym $mod+r mode "resize" + +# Client colors (border, background, text, indicator, child_border) +client.focused #4a90d9 #4a90d9 #ffffff #4a90d9 #4a90d9 +client.focused_inactive #3a3a46 #2b2b36 #eeeeee #3a3a46 #3a3a46 +client.unfocused #2b2b36 #1f1f28 #bcbcbc #2b2b36 #2b2b36 +client.urgent #c7162b #c7162b #ffffff #c7162b #c7162b +client.placeholder #1f1f28 #1f1f28 #bcbcbc #1f1f28 #1f1f28 +client.background #1f1f28 diff --git a/dotfiles/desktop/.config/sway/scripts/lockscreen b/dotfiles/desktop/.config/sway/scripts/lockscreen new file mode 100755 index 0000000..a38be30 --- /dev/null +++ b/dotfiles/desktop/.config/sway/scripts/lockscreen @@ -0,0 +1,20 @@ +#!/bin/sh + +exec swaylock-effects \ + --image "$HOME/.config/sway/wallpapers/wallpaper-161664.jpg" \ + --scaling fill \ + --clock \ + --indicator \ + --effect-blur 7x5 \ + --fade-in 0.3 \ + --ring-color 2f4058 \ + --inside-color 1f1f28 \ + --line-color 00000000 \ + --separator-color 3a3a46 \ + --key-hl-color 6daeea \ + --bs-hl-color c7162b \ + --ring-ver-color 4a90d9 \ + --inside-ver-color 1f1f28 \ + --ring-wrong-color c7162b \ + --inside-wrong-color 1f1f28 \ + --text-color d0d0d0 diff --git a/dotfiles/desktop/.config/sway/scripts/powermenu.sh b/dotfiles/desktop/.config/sway/scripts/powermenu.sh new file mode 100755 index 0000000..8af775d --- /dev/null +++ b/dotfiles/desktop/.config/sway/scripts/powermenu.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +choice="$(printf "⏻ Shutdown\n Reboot\n Logout\n Lock\n⏾ Suspend" \ +| rofi -dmenu \ +-i \ +-p "Power" \ +-theme ~/.config/rofi/config.rasi \ +-theme-str 'window { width: 20%; location: center; anchor: center; } listview { columns: 1; spacing: 6px; }')" + +[ -z "$choice" ] && exit 0 + +case "$choice" in + *Lock) + ~/.config/sway/scripts/lockscreen + ;; + *Logout) + swaymsg exit + ;; + *Suspend) + ~/.config/sway/scripts/lockscreen + loginctl suspend + ;; + *Reboot) + loginctl reboot + ;; + *Shutdown) + loginctl poweroff + ;; +esac diff --git a/dotfiles/desktop/.config/sway/scripts/setup-gtk-theme.sh b/dotfiles/desktop/.config/sway/scripts/setup-gtk-theme.sh new file mode 100755 index 0000000..21116f7 --- /dev/null +++ b/dotfiles/desktop/.config/sway/scripts/setup-gtk-theme.sh @@ -0,0 +1,53 @@ +#!/bin/sh + +THEME="Yaru-blue-dark" +ICONS="Yaru-blue-dark" +CURSOR="Yaru" + +FONT_UI="Liberation Sans 10" + +mkdir -p "$HOME/.config/gtk-3.0" +mkdir -p "$HOME/.config/gtk-4.0" + +cat > "$HOME/.gtkrc-2.0" < "$HOME/.config/gtk-3.0/settings.ini" < "$HOME/.config/gtk-4.0/settings.ini" </dev/null 2>&1; then + gsettings set org.gnome.desktop.interface gtk-theme "$THEME" >/dev/null 2>&1 || true + gsettings set org.gnome.desktop.interface icon-theme "$ICONS" >/dev/null 2>&1 || true + gsettings set org.gnome.desktop.interface cursor-theme "$CURSOR" >/dev/null 2>&1 || true + gsettings set org.gnome.desktop.interface color-scheme prefer-dark >/dev/null 2>&1 || true +fi diff --git a/dotfiles/desktop/.config/sway/wallpapers/wallpaper-161664.jpg b/dotfiles/desktop/.config/sway/wallpapers/wallpaper-161664.jpg new file mode 100755 index 0000000000000000000000000000000000000000..3296e5b8688c3a04f8b79bb1e55d412280c89689 GIT binary patch literal 120708 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 _2tJXl!2#l5hV2z(L4@LR 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 literal 0 HcmV?d00001 diff --git a/dotfiles/desktop/.config/waybar/config.jsonc b/dotfiles/desktop/.config/waybar/config.jsonc new file mode 100644 index 0000000..8ba2a07 --- /dev/null +++ b/dotfiles/desktop/.config/waybar/config.jsonc @@ -0,0 +1,101 @@ +{ + "layer": "top", + "position": "top", + "height": 26, + "spacing": 4, + + "modules-left": ["sway/workspaces"], + "modules-center": ["clock"], + "modules-right": ["cpu", "memory", "disk", "temperature", "backlight", "network", "pulseaudio", "battery", "tray"], + + "sway/workspaces": { + "disable-scroll": true, + "all-outputs": false, + "format": "{icon}", + "format-icons": { + "1": "I", + "2": "II", + "3": "III", + "4": "IV", + "5": "V", + "6": "VI", + "7": "VII", + "8": "VIII", + "9": "IX", + "10": "X" + }, + "persistent-workspaces": { + "*": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + } + }, + + "clock": { + "interval": 60, + "format": " {:%Y-%m-%d %H:%M}", + "tooltip-format": "{calendar}" + }, + + "cpu": { + "interval": 5, + "format": " {usage}%" + }, + + "memory": { + "interval": 10, + "format": " {used:0.1f}G / {total:0.1f}G" + }, + + "disk": { + "interval": 60, + "path": "/", + "format": " {used} / {total}" + }, + + "temperature": { + "interval": 10, + "critical-threshold": 80, + "format": " {temperatureC}°C", + "format-critical": " {temperatureC}°C" + }, + + "backlight": { + "format": " {percent}%", + "on-scroll-up": "brightnessctl set +5%", + "on-scroll-down": "brightnessctl set 5%-" + }, + + "network": { + "interval": 5, + "format-wifi": " {essid} {signalStrength}%", + "format-ethernet": " {ifname}", + "format-disconnected": " offline", + "tooltip-format": "{ifname} {ipaddr}" + }, + + "pulseaudio": { + "format": "{icon} {volume}%", + "format-muted": " muted", + "format-bluetooth": "{icon} {volume}% ", + "format-icons": { "default": ["", "", ""] }, + "on-click": "swayosd-client --output-volume mute-toggle", + "on-click-right": "pavucontrol" + }, + + "battery": { + "bat": "BAT0", + "interval": 30, + "states": { + "warning": 30, + "critical": 15 + }, + "format": "{icon} {capacity}%", + "format-charging": " {capacity}%", + "format-full": " full", + "format-icons": ["", "", "", "", ""] + }, + + "tray": { + "icon-size": 16, + "spacing": 6 + } +} diff --git a/dotfiles/desktop/.config/waybar/style.css b/dotfiles/desktop/.config/waybar/style.css new file mode 100644 index 0000000..67febb5 --- /dev/null +++ b/dotfiles/desktop/.config/waybar/style.css @@ -0,0 +1,67 @@ +* { + font-family: "LiterationMono Nerd Font", "Symbols Nerd Font Mono", monospace; + font-size: 10pt; + min-height: 0; +} + +window#waybar { + background-color: #1f1f28; + color: #d0d0d0; + border: none; +} + +#workspaces button { + padding: 0 8px; + margin: 0; + color: #9a9a9a; + background-color: transparent; + border: none; + border-radius: 0; +} + +#workspaces button.visible { + color: #d0d0d0; + background-color: #2b2b36; +} + +#workspaces button.focused { + color: #ffffff; + background-color: #4a90d9; +} + +#workspaces button.urgent { + color: #ffffff; + background-color: #c7162b; +} + +#clock, +#cpu, +#memory, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#battery, +#tray { + padding: 0 8px; +} + +#clock { color: #d0d0d0; } +#cpu { color: #bb9af7; } +#memory { color: #7dcfff; } +#disk { color: #9ec07c; } +#temperature { color: #e0af68; } +#temperature.critical { color: #c7162b; } +#backlight { color: #d0d0d0; } +#network { color: #4a90d9; } +#network.disconnected { color: #3a3a46; } +#pulseaudio { color: #7dcfff; } +#pulseaudio.muted { color: #3a3a46; } +#battery { color: #d0d0d0; } +#battery.charging { color: #9ec07c; } +#battery.warning { color: #e0af68; } +#battery.critical { color: #c7162b; } +#battery.full { color: #9ec07c; } + +#tray { padding: 0 6px; } diff --git a/dotfiles/desktop/.local/bin/start-sway b/dotfiles/desktop/.local/bin/start-sway new file mode 100755 index 0000000..629cdc2 --- /dev/null +++ b/dotfiles/desktop/.local/bin/start-sway @@ -0,0 +1,24 @@ +#!/bin/sh + +[ -r /etc/profile ] && . /etc/profile +[ -r "$HOME/.profile" ] && . "$HOME/.profile" + +export XDG_CURRENT_DESKTOP=sway +export XDG_SESSION_DESKTOP=sway +export XDG_SESSION_TYPE=wayland + +export MOZ_ENABLE_WAYLAND=1 +export QT_QPA_PLATFORM='wayland;xcb' +export _JAVA_AWT_WM_NONREPARENTING=1 +export SDL_VIDEODRIVER=wayland +export GDK_BACKEND='wayland,x11' + +export SSH_AUTH_SOCK="$HOME/.local/state/ssh-agent/socket" + +exec dbus-run-session sh -eu -c ' + umask 077 + printf "%s\n" "$DBUS_SESSION_BUS_ADDRESS" > "$HOME/.dbus-session-bus-address" + gpgconf --launch gpg-agent + "$HOME/.local/bin/update-turnstile-env" + exec sway +' diff --git a/dotfiles/desktop/.local/bin/update-turnstile-env b/dotfiles/desktop/.local/bin/update-turnstile-env index ad3888f..303efff 100755 --- a/dotfiles/desktop/.local/bin/update-turnstile-env +++ b/dotfiles/desktop/.local/bin/update-turnstile-env @@ -6,11 +6,10 @@ if ! command -v turnstile-update-runit-env >/dev/null 2>&1; then exit 0 fi -turnstile-update-runit-env \ - DISPLAY \ - XAUTHORITY \ - DBUS_SESSION_BUS_ADDRESS \ - SSH_AUTH_SOCK \ - XDG_CURRENT_DESKTOP \ - XDG_SESSION_DESKTOP \ - XDG_SESSION_TYPE >/dev/null 2>&1 || true +vars="DISPLAY XAUTHORITY DBUS_SESSION_BUS_ADDRESS SSH_AUTH_SOCK XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP XDG_SESSION_TYPE" + +[ -n "${WAYLAND_DISPLAY:-}" ] && vars="$vars WAYLAND_DISPLAY" +[ -n "${SWAYSOCK:-}" ] && vars="$vars SWAYSOCK" + +# shellcheck disable=SC2086 +turnstile-update-runit-env $vars >/dev/null 2>&1 || true From 2e2153e2515ce08320ab3853aa6e4d2e00a65590 Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Sat, 16 May 2026 20:25:21 +0200 Subject: [PATCH 02/16] Fix Waybar package name --- ansible/inventory/group_vars/void.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible/inventory/group_vars/void.yml b/ansible/inventory/group_vars/void.yml index c551709..d2fab3b 100644 --- a/ansible/inventory/group_vars/void.yml +++ b/ansible/inventory/group_vars/void.yml @@ -185,7 +185,7 @@ desktop_sway_packages: - swayidle - swaylock-effects - SwayOSD - - waybar + - Waybar - wl-clipboard - xfce4-screenshooter - xdg-desktop-portal-wlr From 2508ffdeb2b0d4d79b6fd0b1b1d32272bcc81a0d Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Sat, 16 May 2026 20:39:44 +0200 Subject: [PATCH 03/16] 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 --- ansible/inventory/group_vars/void.yml | 2 +- dotfiles/desktop/.config/sway/scripts/lockscreen | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/ansible/inventory/group_vars/void.yml b/ansible/inventory/group_vars/void.yml index d2fab3b..0a0013a 100644 --- a/ansible/inventory/group_vars/void.yml +++ b/ansible/inventory/group_vars/void.yml @@ -183,7 +183,7 @@ desktop_sway_packages: - swayfx - swaybg - swayidle - - swaylock-effects + - swaylock - SwayOSD - Waybar - wl-clipboard diff --git a/dotfiles/desktop/.config/sway/scripts/lockscreen b/dotfiles/desktop/.config/sway/scripts/lockscreen index a38be30..feabb67 100755 --- a/dotfiles/desktop/.config/sway/scripts/lockscreen +++ b/dotfiles/desktop/.config/sway/scripts/lockscreen @@ -1,12 +1,10 @@ #!/bin/sh -exec swaylock-effects \ +exec swaylock \ --image "$HOME/.config/sway/wallpapers/wallpaper-161664.jpg" \ --scaling fill \ --clock \ --indicator \ - --effect-blur 7x5 \ - --fade-in 0.3 \ --ring-color 2f4058 \ --inside-color 1f1f28 \ --line-color 00000000 \ From a1317e7d6e61324ab11c97307dc53382b9b1fb1e Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Sat, 16 May 2026 20:53:25 +0200 Subject: [PATCH 04/16] 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 --- ansible/inventory/group_vars/desktop.yml | 5 - ansible/inventory/group_vars/void.yml | 4 - dotfiles/desktop/.config/noctalia/colors.json | 18 ---- .../Lilac AMOLED/Lilac AMOLED.json | 90 ------------------ .../Rosey AMOLED/Rosey AMOLED.json | 90 ------------------ .../noctalia/colorschemes/Vesper/Vesper.json | 94 ------------------- .../desktop/.config/noctalia/plugins.json | 28 ------ .../noctalia/plugins/clipper/settings.json | 84 ----------------- 8 files changed, 413 deletions(-) delete mode 100644 dotfiles/desktop/.config/noctalia/colors.json delete mode 100644 dotfiles/desktop/.config/noctalia/colorschemes/Lilac AMOLED/Lilac AMOLED.json delete mode 100644 dotfiles/desktop/.config/noctalia/colorschemes/Rosey AMOLED/Rosey AMOLED.json delete mode 100644 dotfiles/desktop/.config/noctalia/colorschemes/Vesper/Vesper.json delete mode 100644 dotfiles/desktop/.config/noctalia/plugins.json delete mode 100644 dotfiles/desktop/.config/noctalia/plugins/clipper/settings.json diff --git a/ansible/inventory/group_vars/desktop.yml b/ansible/inventory/group_vars/desktop.yml index 23aa315..148854a 100644 --- a/ansible/inventory/group_vars/desktop.yml +++ b/ansible/inventory/group_vars/desktop.yml @@ -182,11 +182,6 @@ desktop_sway_dotfiles: dest: .config/alacritty/ mode: preserve -noctalia_bar_monitors: - - DP-1 - -noctalia_screen_overrides: [] - desktop_flatpak_packages: - be.alexandervanhee.gradia - ch.protonmail.protonmail-bridge diff --git a/ansible/inventory/group_vars/void.yml b/ansible/inventory/group_vars/void.yml index 0a0013a..87796f2 100644 --- a/ansible/inventory/group_vars/void.yml +++ b/ansible/inventory/group_vars/void.yml @@ -130,10 +130,6 @@ desktop_void_dotfiles: src: .local/bin/update-turnstile-env dest: .local/bin/update-turnstile-env mode: "0755" - - name: Noctalia config - src: .config/noctalia/ - dest: .config/noctalia/ - mode: preserve desktop_common_packages: - blueman diff --git a/dotfiles/desktop/.config/noctalia/colors.json b/dotfiles/desktop/.config/noctalia/colors.json deleted file mode 100644 index 64d7b79..0000000 --- a/dotfiles/desktop/.config/noctalia/colors.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "mError": "#d95757", - "mHover": "#39bae6", - "mOnError": "#0b0e14", - "mOnHover": "#0b0e14", - "mOnPrimary": "#0b0e14", - "mOnSecondary": "#0b0e14", - "mOnSurface": "#d1d1c7", - "mOnSurfaceVariant": "#8e959e", - "mOnTertiary": "#0b0e14", - "mOutline": "#565b66", - "mPrimary": "#e6b450", - "mSecondary": "#aad94c", - "mShadow": "#000000", - "mSurface": "#0b0e14", - "mSurfaceVariant": "#1e222a", - "mTertiary": "#39bae6" -} diff --git a/dotfiles/desktop/.config/noctalia/colorschemes/Lilac AMOLED/Lilac AMOLED.json b/dotfiles/desktop/.config/noctalia/colorschemes/Lilac AMOLED/Lilac AMOLED.json deleted file mode 100644 index 4c3508f..0000000 --- a/dotfiles/desktop/.config/noctalia/colorschemes/Lilac AMOLED/Lilac AMOLED.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "dark": { - "mPrimary": "#b58fff", - "mOnPrimary": "#000000", - "mSecondary": "#c79aff", - "mOnSecondary": "#000000", - "mTertiary": "#d8b4ff", - "mOnTertiary": "#000000", - "mError": "#ff6f9b", - "mOnError": "#000000", - "mSurface": "#000000", - "mOnSurface": "#e8d8ff", - "mSurfaceVariant": "#110d1a", - "mOnSurfaceVariant": "#b58fff", - "mOutline": "#4c3a70", - "mShadow": "#000000", - "terminal": { - "foreground": "#e8d8ff", - "background": "#000000", - "selectionFg": "#e8d8ff", - "selectionBg": "#4c3a70", - "cursorText": "#000000", - "cursor": "#e8d8ff", - "normal": { - "black": "#000000", - "red": "#ff6f9b", - "green": "#a8e6cf", - "yellow": "#d8b4ff", - "blue": "#b58fff", - "magenta": "#c79aff", - "cyan": "#e0c1ff", - "white": "#e8d8ff" - }, - "bright": { - "black": "#4c3a70", - "red": "#ff8cb3", - "green": "#b8f0d8", - "yellow": "#e6d1ff", - "blue": "#c9a8ff", - "magenta": "#d4b8ff", - "cyan": "#f0e0ff", - "white": "#f5f0ff" - } - } - }, - "light": { - "mPrimary": "#8a56d4", - "mOnPrimary": "#ffffff", - "mSecondary": "#a074ff", - "mOnSecondary": "#ffffff", - "mTertiary": "#c79aff", - "mOnTertiary": "#ffffff", - "mError": "#ff6f9b", - "mOnError": "#ffffff", - "mSurface": "#fbf8ff", - "mOnSurface": "#1a1428", - "mSurfaceVariant": "#e8e0f8", - "mOnSurfaceVariant": "#8a56d4", - "mOutline": "#9b85c2", - "mShadow": "#e2d8f5", - "terminal": { - "foreground": "#1a1428", - "background": "#fbf8ff", - "selectionFg": "#1a1428", - "selectionBg": "#e8e0f8", - "cursorText": "#fbf8ff", - "cursor": "#1a1428", - "normal": { - "black": "#6b5b95", - "red": "#ff6f9b", - "green": "#6fb58f", - "yellow": "#c79aff", - "blue": "#8a56d4", - "magenta": "#a074ff", - "cyan": "#b89fff", - "white": "#1a1428" - }, - "bright": { - "black": "#9b85c2", - "red": "#ff8cb3", - "green": "#85d7a8", - "yellow": "#e0c1ff", - "blue": "#b58fff", - "magenta": "#c79aff", - "cyan": "#d8b4ff", - "white": "#120f1f" - } - } - } -} diff --git a/dotfiles/desktop/.config/noctalia/colorschemes/Rosey AMOLED/Rosey AMOLED.json b/dotfiles/desktop/.config/noctalia/colorschemes/Rosey AMOLED/Rosey AMOLED.json deleted file mode 100644 index 5b8eedc..0000000 --- a/dotfiles/desktop/.config/noctalia/colorschemes/Rosey AMOLED/Rosey AMOLED.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "dark": { - "mPrimary": "#ff8cb3", - "mOnPrimary": "#000000", - "mSecondary": "#ffb3cc", - "mOnSecondary": "#000000", - "mTertiary": "#ffcce0", - "mOnTertiary": "#000000", - "mError": "#ff99b8", - "mOnError": "#000000", - "mSurface": "#000000", - "mOnSurface": "#ffe0eb", - "mSurfaceVariant": "#1a0f16", - "mOnSurfaceVariant": "#ff8cb3", - "mOutline": "#5a3f4d", - "mShadow": "#000000", - "terminal": { - "foreground": "#ffe0eb", - "background": "#000000", - "selectionFg": "#ffe0eb", - "selectionBg": "#5a3f4d", - "cursorText": "#000000", - "cursor": "#ffe0eb", - "normal": { - "black": "#000000", - "red": "#ff99b8", - "green": "#ffccdd", - "yellow": "#ffcce0", - "blue": "#ff8cb3", - "magenta": "#ffb3cc", - "cyan": "#ffd6e8", - "white": "#ffe0eb" - }, - "bright": { - "black": "#5a3f4d", - "red": "#ffb8cc", - "green": "#ffd6e8", - "yellow": "#ffe0f0", - "blue": "#ffa8c2", - "magenta": "#ffccdd", - "cyan": "#ffe8f2", - "white": "#fff0f5" - } - } - }, - "light": { - "mPrimary": "#e57399", - "mOnPrimary": "#ffffff", - "mSecondary": "#ff99b8", - "mOnSecondary": "#ffffff", - "mTertiary": "#ffb3cc", - "mOnTertiary": "#ffffff", - "mError": "#ff99b8", - "mOnError": "#ffffff", - "mSurface": "#fff5fa", - "mOnSurface": "#2c1822", - "mSurfaceVariant": "#f5d6e3", - "mOnSurfaceVariant": "#e57399", - "mOutline": "#b38099", - "mShadow": "#f0d0e0", - "terminal": { - "foreground": "#2c1822", - "background": "#fff5fa", - "selectionFg": "#2c1822", - "selectionBg": "#f5d6e3", - "cursorText": "#fff5fa", - "cursor": "#2c1822", - "normal": { - "black": "#8c6075", - "red": "#ff99b8", - "green": "#e599b3", - "yellow": "#ffb3cc", - "blue": "#e57399", - "magenta": "#ff99b8", - "cyan": "#ffb8d1", - "white": "#2c1822" - }, - "bright": { - "black": "#b38099", - "red": "#ffb8cc", - "green": "#ffccdd", - "yellow": "#ffcce0", - "blue": "#ff8cb3", - "magenta": "#ffb3cc", - "cyan": "#ffd6e8", - "white": "#1a1015" - } - } - } -} diff --git a/dotfiles/desktop/.config/noctalia/colorschemes/Vesper/Vesper.json b/dotfiles/desktop/.config/noctalia/colorschemes/Vesper/Vesper.json deleted file mode 100644 index 07e9a84..0000000 --- a/dotfiles/desktop/.config/noctalia/colorschemes/Vesper/Vesper.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "dark": { - "mPrimary": "#FFC799", - "mOnPrimary": "#000000", - "mSecondary": "#99FFE4", - "mOnSecondary": "#000000", - "mTertiary": "#FBADFF", - "mOnTertiary": "#000000", - "mError": "#FF8080", - "mOnError": "#000000", - "mSurface": "#0C0C0C", - "mOnSurface": "#FFFFFF", - "mSurfaceVariant": "#1C1C1C", - "mOnSurfaceVariant": "#A0A0A0", - "mOutline": "#505050", - "mShadow": "#000000", - "mHover": "#282828", - "mOnHover": "#FFFFFF", - "terminal": { - "foreground": "#FFFFFF", - "background": "#0C0C0C", - "normal": { - "black": "#0C0C0C", - "red": "#FF8080", - "green": "#99FFE4", - "yellow": "#FFC799", - "blue": "#80B3FF", - "magenta": "#FBADFF", - "cyan": "#99FFE4", - "white": "#A0A0A0" - }, - "bright": { - "black": "#505050", - "red": "#FF8080", - "green": "#99FFE4", - "yellow": "#FFC799", - "blue": "#80B3FF", - "magenta": "#FBADFF", - "cyan": "#99FFE4", - "white": "#FFFFFF" - }, - "cursor": "#FFFFFF", - "cursorText": "#000000", - "selectionFg": "#000000", - "selectionBg": "#FFC799" - } - }, - "light": { - "mPrimary": "#FFB170", - "mOnPrimary": "#0C0C0C", - "mSecondary": "#00CC99", - "mOnSecondary": "#0C0C0C", - "mTertiary": "#FBADFF", - "mOnTertiary": "#0C0C0C", - "mError": "#FF8080", - "mOnError": "#0C0C0C", - "mSurface": "#F2F2F2", - "mOnSurface": "#0C0C0C", - "mSurfaceVariant": "#E5E5E5", - "mOnSurfaceVariant": "#282828", - "mOutline": "#505050", - "mShadow": "#D9D9D9", - "mHover": "#E0E0E0", - "mOnHover": "#0C0C0C", - "terminal": { - "foreground": "#0C0C0C", - "background": "#F2F2F2", - "normal": { - "black": "#F2F2F2", - "red": "#FF8080", - "green": "#00CC99", - "yellow": "#FFC799", - "blue": "#004A77", - "magenta": "#FBADFF", - "cyan": "#006B57", - "white": "#505050" - }, - "bright": { - "black": "#A0A0A0", - "red": "#FF8080", - "green": "#00CC99", - "yellow": "#FFC799", - "blue": "#80B3FF", - "magenta": "#FBADFF", - "cyan": "#99FFE4", - "white": "#0C0C0C" - }, - "cursor": "#0C0C0C", - "cursorText": "#F2F2F2", - "selectionFg": "#F2F2F2", - "selectionBg": "#FFC799" - } - } -} diff --git a/dotfiles/desktop/.config/noctalia/plugins.json b/dotfiles/desktop/.config/noctalia/plugins.json deleted file mode 100644 index 435db85..0000000 --- a/dotfiles/desktop/.config/noctalia/plugins.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "sources": [ - { - "enabled": true, - "name": "Noctalia Plugins", - "url": "https://github.com/noctalia-dev/noctalia-plugins" - } - ], - "states": { - "clipper": { - "enabled": true, - "sourceUrl": "https://github.com/noctalia-dev/noctalia-plugins" - }, - "polkit-agent": { - "enabled": true, - "sourceUrl": "https://github.com/noctalia-dev/noctalia-plugins" - }, - "screenshot": { - "enabled": true, - "sourceUrl": "https://github.com/noctalia-dev/noctalia-plugins" - }, - "usb-drive-manager": { - "enabled": true, - "sourceUrl": "https://github.com/noctalia-dev/noctalia-plugins" - } - }, - "version": 2 -} diff --git a/dotfiles/desktop/.config/noctalia/plugins/clipper/settings.json b/dotfiles/desktop/.config/noctalia/plugins/clipper/settings.json deleted file mode 100644 index f0d0259..0000000 --- a/dotfiles/desktop/.config/noctalia/plugins/clipper/settings.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "message": "Clipboard Panel", - "backgroundColor": "#fabd2f", - "cardColors": { - "Text": { - "bg": "mOutline", - "separator": "mSurface", - "fg": "mOnSurface" - }, - "Image": { - "bg": "mTertiary", - "separator": "mSurface", - "fg": "mOnTertiary" - }, - "Link": { - "bg": "mPrimary", - "separator": "mSurface", - "fg": "mOnPrimary" - }, - "Code": { - "bg": "mSecondary", - "separator": "mSurface", - "fg": "mOnSecondary" - }, - "Color": { - "bg": "mSecondary", - "separator": "mSurface", - "fg": "mOnSecondary" - }, - "Emoji": { - "bg": "mHover", - "separator": "mSurface", - "fg": "mOnHover" - }, - "File": { - "bg": "mError", - "separator": "mSurface", - "fg": "mOnError" - } - }, - "customColors": { - "Text": { - "bg": "#555555", - "separator": "#000000", - "fg": "#e9e4f0" - }, - "Image": { - "bg": "#e0b7c9", - "separator": "#000000", - "fg": "#20161f" - }, - "Link": { - "bg": "#c7a1d8", - "separator": "#000000", - "fg": "#1a151f" - }, - "Code": { - "bg": "#a984c4", - "separator": "#000000", - "fg": "#f3edf7" - }, - "Color": { - "bg": "#a984c4", - "separator": "#000000", - "fg": "#f3edf7" - }, - "Emoji": { - "bg": "#e0b7c9", - "separator": "#000000", - "fg": "#20161f" - }, - "File": { - "bg": "#e9899d", - "separator": "#000000", - "fg": "#1e1418" - } - }, - "enableTodoIntegration": true, - "autoOpenPinnedPanel": false, - "pincardsEnabled": true, - "notecardsEnabled": true, - "showCloseButton": true, - "closeOnBackgroundClick": true -} From 87ae83e84ef48352c5c48e2524f429bd67ef297b Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Sat, 16 May 2026 20:54:38 +0200 Subject: [PATCH 05/16] desktop: enable emptty session prompt instead of auto-selecting i3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- ansible/inventory/group_vars/desktop.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/ansible/inventory/group_vars/desktop.yml b/ansible/inventory/group_vars/desktop.yml index 148854a..070eaf8 100644 --- a/ansible/inventory/group_vars/desktop.yml +++ b/ansible/inventory/group_vars/desktop.yml @@ -6,6 +6,7 @@ desktop_sessions_enabled: desktop_default_session: i3 desktop_default_session_env: xorg +desktop_prompt_for_session: true desktop_source_tools: - name: gf From 099904f69b03adbce9f825464fb5365359e18b3d Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Sat, 16 May 2026 21:01:11 +0200 Subject: [PATCH 06/16] scripts: add cleanup-i3 and cleanup-sway uninstallers Two POSIX sh scripts to undo a session install on a Void host: remove session-exclusive packages (filtered to those actually installed), exclusive dotfiles and runtime state, plus the emptty session entry. Shared resources (dunst, rofi, alacritty, xfce4-screenshooter) are left in place so the other session keeps working. Confirmation prompt before any destructive action. Co-Authored-By: Claude Opus 4.7 --- scripts/cleanup-i3.sh | 103 ++++++++++++++++++++++++++++++++++++++++ scripts/cleanup-sway.sh | 93 ++++++++++++++++++++++++++++++++++++ 2 files changed, 196 insertions(+) create mode 100755 scripts/cleanup-i3.sh create mode 100755 scripts/cleanup-sway.sh diff --git a/scripts/cleanup-i3.sh b/scripts/cleanup-i3.sh new file mode 100755 index 0000000..cab98f1 --- /dev/null +++ b/scripts/cleanup-i3.sh @@ -0,0 +1,103 @@ +#!/usr/bin/env sh +# Remove i3 session artifacts: exclusive packages, dotfiles and the emptty +# xsessions entry. Shared resources with sway (dunst, rofi, alacritty, +# xfce4-screenshooter) are left untouched. + +set -eu + +I3_PACKAGES=" +arandr +autorandr +feh +i3 +i3blocks +i3blocks-blocklets +i3lock-color +i3status +picom +polybar +scrot +setxkbmap +volumeicon +xclip +xfce4-clipman-plugin +xkbutils +xorg-fonts +xorg-minimal +xss-lock +xdotool +" + +I3_DOTFILES=" +$HOME/.config/i3 +$HOME/.config/i3blocks +$HOME/.config/picom +$HOME/.config/polybar +$HOME/.xinitrc +" + +EMPTTY_SESSION=/etc/emptty/xsessions/i3.desktop + +confirm() { + printf '%s [y/N] ' "$1" + read -r answer + case "$answer" in + y|Y|yes|YES) return 0 ;; + *) return 1 ;; + esac +} + +filter_installed() { + for p in $1; do + if xbps-query -p pkgver "$p" >/dev/null 2>&1; then + printf '%s\n' "$p" + fi + done +} + +if ! command -v xbps-remove >/dev/null 2>&1; then + printf 'Error: xbps-remove not found (not a Void host?)\n' >&2 + exit 1 +fi + +installed=$(filter_installed "$I3_PACKAGES" | tr '\n' ' ' | sed 's/ *$//') + +printf '== i3 cleanup ==\n\n' +printf 'Packages to remove (installed only):\n' +if [ -n "$installed" ]; then + printf ' %s\n' $installed +else + printf ' (none)\n' +fi +printf '\nDotfiles to remove:\n' +for d in $I3_DOTFILES; do + if [ -e "$d" ] || [ -L "$d" ]; then + printf ' %s\n' "$d" + fi +done +printf '\nEmptty session entry:\n' +if [ -e "$EMPTTY_SESSION" ]; then + printf ' %s\n' "$EMPTTY_SESSION" +else + printf ' (absent)\n' +fi +printf '\nShared (NOT removed): dunst, rofi, alacritty, xfce4-screenshooter and their configs.\n\n' + +confirm 'Proceed?' || { printf 'Aborted.\n'; exit 0; } + +if [ -n "$installed" ]; then + # shellcheck disable=SC2086 + sudo xbps-remove -Ry $installed +fi + +for d in $I3_DOTFILES; do + if [ -e "$d" ] || [ -L "$d" ]; then + rm -rf -- "$d" + fi +done + +if [ -e "$EMPTTY_SESSION" ]; then + sudo rm -f -- "$EMPTTY_SESSION" +fi + +printf '\nDone.\n' diff --git a/scripts/cleanup-sway.sh b/scripts/cleanup-sway.sh new file mode 100755 index 0000000..1b4a706 --- /dev/null +++ b/scripts/cleanup-sway.sh @@ -0,0 +1,93 @@ +#!/usr/bin/env sh +# Remove sway session artifacts: exclusive packages, dotfiles, runtime state +# and the emptty wayland-sessions entry. Shared resources with i3 (dunst, +# rofi, alacritty, xfce4-screenshooter) are left untouched. + +set -eu + +SWAY_PACKAGES=" +cliphist +kanshi +swayfx +swaybg +swayidle +swaylock +SwayOSD +Waybar +wl-clipboard +xdg-desktop-portal-wlr +xorg-server-xwayland +" + +SWAY_DOTFILES=" +$HOME/.config/sway +$HOME/.config/waybar +$HOME/.local/bin/start-sway +$HOME/.cache/cliphist +" + +EMPTTY_SESSION=/etc/emptty/wayland-sessions/sway.desktop + +confirm() { + printf '%s [y/N] ' "$1" + read -r answer + case "$answer" in + y|Y|yes|YES) return 0 ;; + *) return 1 ;; + esac +} + +filter_installed() { + for p in $1; do + if xbps-query -p pkgver "$p" >/dev/null 2>&1; then + printf '%s\n' "$p" + fi + done +} + +if ! command -v xbps-remove >/dev/null 2>&1; then + printf 'Error: xbps-remove not found (not a Void host?)\n' >&2 + exit 1 +fi + +installed=$(filter_installed "$SWAY_PACKAGES" | tr '\n' ' ' | sed 's/ *$//') + +printf '== sway cleanup ==\n\n' +printf 'Packages to remove (installed only):\n' +if [ -n "$installed" ]; then + printf ' %s\n' $installed +else + printf ' (none)\n' +fi +printf '\nDotfiles / state to remove:\n' +for d in $SWAY_DOTFILES; do + if [ -e "$d" ] || [ -L "$d" ]; then + printf ' %s\n' "$d" + fi +done +printf '\nEmptty session entry:\n' +if [ -e "$EMPTTY_SESSION" ]; then + printf ' %s\n' "$EMPTTY_SESSION" +else + printf ' (absent)\n' +fi +printf '\nShared (NOT removed): dunst, rofi, alacritty, xfce4-screenshooter and their configs.\n\n' + +confirm 'Proceed?' || { printf 'Aborted.\n'; exit 0; } + +if [ -n "$installed" ]; then + # shellcheck disable=SC2086 + sudo xbps-remove -Ry $installed +fi + +for d in $SWAY_DOTFILES; do + if [ -e "$d" ] || [ -L "$d" ]; then + rm -rf -- "$d" + fi +done + +if [ -e "$EMPTTY_SESSION" ]; then + sudo rm -f -- "$EMPTTY_SESSION" +fi + +printf '\nDone.\n' From 2ee4bd963ee9480f7d86767eee105e5ecd167903 Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Sat, 16 May 2026 21:20:01 +0200 Subject: [PATCH 07/16] 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 --- ansible/inventory/group_vars/desktop.yml | 4 --- .../profile_desktop_sway/files/sway.desktop | 2 +- .../roles/profile_desktop_sway/tasks/main.yml | 10 +++++++ dotfiles/desktop/.config/sway/config | 26 +++++++++---------- scripts/cleanup-sway.sh | 26 +++++++++++-------- 5 files changed, 38 insertions(+), 30 deletions(-) diff --git a/ansible/inventory/group_vars/desktop.yml b/ansible/inventory/group_vars/desktop.yml index 070eaf8..e0fa0c6 100644 --- a/ansible/inventory/group_vars/desktop.yml +++ b/ansible/inventory/group_vars/desktop.yml @@ -162,10 +162,6 @@ desktop_sway_dotfiles: src: .config/sway/ dest: .config/sway/ mode: preserve - - name: Sway session launcher - src: .local/bin/start-sway - dest: .local/bin/start-sway - mode: "0755" - name: dunst config src: .config/dunst/ dest: .config/dunst/ diff --git a/ansible/roles/profile_desktop_sway/files/sway.desktop b/ansible/roles/profile_desktop_sway/files/sway.desktop index 16f3054..fe2e57a 100644 --- a/ansible/roles/profile_desktop_sway/files/sway.desktop +++ b/ansible/roles/profile_desktop_sway/files/sway.desktop @@ -1,5 +1,5 @@ [Desktop Entry] Name=Sway Comment=SwayFX (Wayland) -Exec=start-sway +Exec=/usr/local/bin/start-sway Type=Application diff --git a/ansible/roles/profile_desktop_sway/tasks/main.yml b/ansible/roles/profile_desktop_sway/tasks/main.yml index 74503cb..de3032b 100644 --- a/ansible/roles/profile_desktop_sway/tasks/main.yml +++ b/ansible/roles/profile_desktop_sway/tasks/main.yml @@ -27,6 +27,16 @@ mode: "0644" when: "'sway' in (desktop_sessions_enabled | default([]))" +- name: Install Sway session launcher in /usr/local/bin + tags: [packages, services, sway] + ansible.builtin.copy: + src: "{{ playbook_dir }}/../dotfiles/desktop/.local/bin/start-sway" + dest: /usr/local/bin/start-sway + owner: root + group: root + mode: "0755" + when: "'sway' in (desktop_sessions_enabled | default([]))" + - name: Copy sway desktop dotfiles tags: [dotfiles, dotfiles:desktop, sway] ansible.builtin.copy: diff --git a/dotfiles/desktop/.config/sway/config b/dotfiles/desktop/.config/sway/config index eaac001..9eac327 100644 --- a/dotfiles/desktop/.config/sway/config +++ b/dotfiles/desktop/.config/sway/config @@ -10,17 +10,17 @@ set $down j set $up k set $right l -# Workspaces (etichette in numeri romani) -set $ws1 "1: I" -set $ws2 "2: II" -set $ws3 "3: III" -set $ws4 "4: IV" -set $ws5 "5: V" -set $ws6 "6: VI" -set $ws7 "7: VII" -set $ws8 "8: VIII" -set $ws9 "9: IX" -set $ws10 "10: X" +# Workspaces (waybar formatta i numeri in romani via format-icons) +set $ws1 "1" +set $ws2 "2" +set $ws3 "3" +set $ws4 "4" +set $ws5 "5" +set $ws6 "6" +set $ws7 "7" +set $ws8 "8" +set $ws9 "9" +set $ws10 "10" # Input devices input * { @@ -49,13 +49,11 @@ xwayland enable focus_follows_mouse no mouse_warping none floating_modifier $mod -tiling_drag modifier titlebar +tiling_drag enable # Borders default_border pixel 2 default_floating_border pixel 2 -new_window pixel 2 -new_float pixel 2 hide_edge_borders none # Gaps diff --git a/scripts/cleanup-sway.sh b/scripts/cleanup-sway.sh index 1b4a706..82b9242 100755 --- a/scripts/cleanup-sway.sh +++ b/scripts/cleanup-sway.sh @@ -22,11 +22,13 @@ xorg-server-xwayland SWAY_DOTFILES=" $HOME/.config/sway $HOME/.config/waybar -$HOME/.local/bin/start-sway $HOME/.cache/cliphist " -EMPTTY_SESSION=/etc/emptty/wayland-sessions/sway.desktop +SWAY_SYSTEM_FILES=" +/etc/emptty/wayland-sessions/sway.desktop +/usr/local/bin/start-sway +" confirm() { printf '%s [y/N] ' "$1" @@ -65,12 +67,12 @@ for d in $SWAY_DOTFILES; do printf ' %s\n' "$d" fi done -printf '\nEmptty session entry:\n' -if [ -e "$EMPTTY_SESSION" ]; then - printf ' %s\n' "$EMPTTY_SESSION" -else - printf ' (absent)\n' -fi +printf '\nSystem files to remove:\n' +for f in $SWAY_SYSTEM_FILES; do + if [ -e "$f" ] || [ -L "$f" ]; then + printf ' %s\n' "$f" + fi +done printf '\nShared (NOT removed): dunst, rofi, alacritty, xfce4-screenshooter and their configs.\n\n' confirm 'Proceed?' || { printf 'Aborted.\n'; exit 0; } @@ -86,8 +88,10 @@ for d in $SWAY_DOTFILES; do fi done -if [ -e "$EMPTTY_SESSION" ]; then - sudo rm -f -- "$EMPTTY_SESSION" -fi +for f in $SWAY_SYSTEM_FILES; do + if [ -e "$f" ] || [ -L "$f" ]; then + sudo rm -f -- "$f" + fi +done printf '\nDone.\n' From 6884ad709df4387f9778456e2b0a956b2f828190 Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Sat, 16 May 2026 22:05:17 +0200 Subject: [PATCH 08/16] sway: center wallpaper, fix lockscreen flags and add idle timeouts - 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 --- dotfiles/desktop/.config/sway/config | 14 +++++++++++--- dotfiles/desktop/.config/sway/scripts/lockscreen | 3 +-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/dotfiles/desktop/.config/sway/config b/dotfiles/desktop/.config/sway/config index 9eac327..575389d 100644 --- a/dotfiles/desktop/.config/sway/config +++ b/dotfiles/desktop/.config/sway/config @@ -32,7 +32,7 @@ input * { seat * xcursor_theme Yaru 24 # Outputs -output * bg ~/.config/sway/wallpapers/wallpaper-161664.jpg fill +output * bg ~/.config/sway/wallpapers/wallpaper-161664.jpg center # SwayFX effects corner_radius 8 @@ -90,8 +90,16 @@ exec udiskie exec wl-paste --type text --watch cliphist store exec wl-paste --type image --watch cliphist store -# Lock on suspend -exec swayidle -w before-sleep '~/.config/sway/scripts/lockscreen' +# Idle / lock policy +# 5 min idle → lock +# 10 min idle → screen off (DPMS) +# resume → screen on +# before sleep → lock +exec swayidle -w \ + timeout 300 '~/.config/sway/scripts/lockscreen' \ + timeout 600 'swaymsg "output * dpms off"' \ + resume 'swaymsg "output * dpms on"' \ + before-sleep '~/.config/sway/scripts/lockscreen' # Terminal bindsym $mod+Return exec alacritty diff --git a/dotfiles/desktop/.config/sway/scripts/lockscreen b/dotfiles/desktop/.config/sway/scripts/lockscreen index feabb67..cbab212 100755 --- a/dotfiles/desktop/.config/sway/scripts/lockscreen +++ b/dotfiles/desktop/.config/sway/scripts/lockscreen @@ -3,8 +3,7 @@ exec swaylock \ --image "$HOME/.config/sway/wallpapers/wallpaper-161664.jpg" \ --scaling fill \ - --clock \ - --indicator \ + --indicator-idle-visible \ --ring-color 2f4058 \ --inside-color 1f1f28 \ --line-color 00000000 \ From 430c44eb14010934252369b5234c869b04f0a897 Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Sat, 16 May 2026 22:09:16 +0200 Subject: [PATCH 09/16] waybar: restore audio glyphs and raise muted-state contrast 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 --- dotfiles/desktop/.config/waybar/config.jsonc | 6 +++--- dotfiles/desktop/.config/waybar/style.css | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dotfiles/desktop/.config/waybar/config.jsonc b/dotfiles/desktop/.config/waybar/config.jsonc index 8ba2a07..1a6cf72 100644 --- a/dotfiles/desktop/.config/waybar/config.jsonc +++ b/dotfiles/desktop/.config/waybar/config.jsonc @@ -74,9 +74,9 @@ "pulseaudio": { "format": "{icon} {volume}%", - "format-muted": " muted", - "format-bluetooth": "{icon} {volume}% ", - "format-icons": { "default": ["", "", ""] }, + "format-muted": " muted", + "format-bluetooth": "{icon} {volume}% ", + "format-icons": { "default": ["", "", ""] }, "on-click": "swayosd-client --output-volume mute-toggle", "on-click-right": "pavucontrol" }, diff --git a/dotfiles/desktop/.config/waybar/style.css b/dotfiles/desktop/.config/waybar/style.css index 67febb5..cee9a46 100644 --- a/dotfiles/desktop/.config/waybar/style.css +++ b/dotfiles/desktop/.config/waybar/style.css @@ -57,7 +57,7 @@ window#waybar { #network { color: #4a90d9; } #network.disconnected { color: #3a3a46; } #pulseaudio { color: #7dcfff; } -#pulseaudio.muted { color: #3a3a46; } +#pulseaudio.muted { color: #8e8e9a; } #battery { color: #d0d0d0; } #battery.charging { color: #9ec07c; } #battery.warning { color: #e0af68; } From c9b75a8cd22f87a644aedf38f2c4b38718c609d7 Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Sat, 16 May 2026 22:21:36 +0200 Subject: [PATCH 10/16] sway/waybar: fix muted glyph, dedupe bar on reload, relocate clock, match lock wallpaper - 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 --- dotfiles/desktop/.config/sway/config | 2 +- .../desktop/.config/sway/scripts/lockscreen | 2 +- .../.config/sway/wallpapers/maxresdefault.jpg | Bin 0 -> 119342 bytes dotfiles/desktop/.config/waybar/config.jsonc | 8 ++++---- 4 files changed, 6 insertions(+), 6 deletions(-) create mode 100755 dotfiles/desktop/.config/sway/wallpapers/maxresdefault.jpg diff --git a/dotfiles/desktop/.config/sway/config b/dotfiles/desktop/.config/sway/config index 575389d..8280aee 100644 --- a/dotfiles/desktop/.config/sway/config +++ b/dotfiles/desktop/.config/sway/config @@ -74,7 +74,7 @@ exec pipewire-pulse exec wireplumber # Status bar -exec_always waybar +exec waybar # OSD daemon (volume/brightness/caps-lock) exec swayosd-server diff --git a/dotfiles/desktop/.config/sway/scripts/lockscreen b/dotfiles/desktop/.config/sway/scripts/lockscreen index cbab212..3199af7 100755 --- a/dotfiles/desktop/.config/sway/scripts/lockscreen +++ b/dotfiles/desktop/.config/sway/scripts/lockscreen @@ -1,7 +1,7 @@ #!/bin/sh exec swaylock \ - --image "$HOME/.config/sway/wallpapers/wallpaper-161664.jpg" \ + --image "$HOME/.config/sway/wallpapers/maxresdefault.jpg" \ --scaling fill \ --indicator-idle-visible \ --ring-color 2f4058 \ diff --git a/dotfiles/desktop/.config/sway/wallpapers/maxresdefault.jpg b/dotfiles/desktop/.config/sway/wallpapers/maxresdefault.jpg new file mode 100755 index 0000000000000000000000000000000000000000..b0da946bf2a022b06229ad606adfa0649614b054 GIT binary patch literal 119342 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 G|NIxP2`2Xd literal 0 HcmV?d00001 diff --git a/dotfiles/desktop/.config/waybar/config.jsonc b/dotfiles/desktop/.config/waybar/config.jsonc index 1a6cf72..00464a7 100644 --- a/dotfiles/desktop/.config/waybar/config.jsonc +++ b/dotfiles/desktop/.config/waybar/config.jsonc @@ -5,8 +5,8 @@ "spacing": 4, "modules-left": ["sway/workspaces"], - "modules-center": ["clock"], - "modules-right": ["cpu", "memory", "disk", "temperature", "backlight", "network", "pulseaudio", "battery", "tray"], + "modules-center": [], + "modules-right": ["cpu", "memory", "disk", "temperature", "backlight", "network", "pulseaudio", "battery", "tray", "clock"], "sway/workspaces": { "disable-scroll": true, @@ -31,7 +31,7 @@ "clock": { "interval": 60, - "format": " {:%Y-%m-%d %H:%M}", + "format": "{:%Y-%m-%d %H:%M}", "tooltip-format": "{calendar}" }, @@ -74,7 +74,7 @@ "pulseaudio": { "format": "{icon} {volume}%", - "format-muted": " muted", + "format-muted": " muted", "format-bluetooth": "{icon} {volume}% ", "format-icons": { "default": ["", "", ""] }, "on-click": "swayosd-client --output-volume mute-toggle", From 41c474820fa1ec115990b38ee537fd8a3ad4dcd7 Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Sat, 16 May 2026 22:24:33 +0200 Subject: [PATCH 11/16] sway: restore Nerd Font glyphs in powermenu The Reboot, Logout and Lock PUA glyphs (U+F01E, U+F08B, U+F023) were lost from the sway powermenu and rendered as blanks. Re-inject them so the menu matches the i3 version. Co-Authored-By: Claude Opus 4.7 --- dotfiles/desktop/.config/sway/scripts/powermenu.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dotfiles/desktop/.config/sway/scripts/powermenu.sh b/dotfiles/desktop/.config/sway/scripts/powermenu.sh index 8af775d..b842cff 100755 --- a/dotfiles/desktop/.config/sway/scripts/powermenu.sh +++ b/dotfiles/desktop/.config/sway/scripts/powermenu.sh @@ -1,6 +1,6 @@ #!/bin/sh -choice="$(printf "⏻ Shutdown\n Reboot\n Logout\n Lock\n⏾ Suspend" \ +choice="$(printf "⏻ Shutdown\n Reboot\n Logout\n Lock\n⏾ Suspend" \ | rofi -dmenu \ -i \ -p "Power" \ From d535c9ffd2b2340ae82207dd509a0c8c1545e986 Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Sat, 16 May 2026 23:26:45 +0200 Subject: [PATCH 12/16] 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 --- ansible/inventory/group_vars/void.yml | 5 ++- .../profile_desktop_common/tasks/main.yml | 22 ++++++++++ .../files/sway-portals.conf | 4 ++ .../roles/profile_desktop_sway/tasks/main.yml | 10 +++++ dotfiles/desktop/.config/sway/config | 17 ++++++-- .../desktop/.config/sway/scripts/screenshot | 40 +++++++++++++++++++ scripts/cleanup-sway.sh | 4 ++ 7 files changed, 97 insertions(+), 5 deletions(-) create mode 100644 ansible/roles/profile_desktop_sway/files/sway-portals.conf create mode 100755 dotfiles/desktop/.config/sway/scripts/screenshot diff --git a/ansible/inventory/group_vars/void.yml b/ansible/inventory/group_vars/void.yml index 87796f2..ae181c1 100644 --- a/ansible/inventory/group_vars/void.yml +++ b/ansible/inventory/group_vars/void.yml @@ -174,8 +174,12 @@ desktop_i3_packages: desktop_sway_packages: - cliphist - dunst + - flameshot + - grim + - jq - kanshi - rofi + - slurp - swayfx - swaybg - swayidle @@ -183,7 +187,6 @@ desktop_sway_packages: - SwayOSD - Waybar - wl-clipboard - - xfce4-screenshooter - xdg-desktop-portal-wlr - xorg-server-xwayland diff --git a/ansible/roles/profile_desktop_common/tasks/main.yml b/ansible/roles/profile_desktop_common/tasks/main.yml index 91b0d24..2983dc6 100644 --- a/ansible/roles/profile_desktop_common/tasks/main.yml +++ b/ansible/roles/profile_desktop_common/tasks/main.yml @@ -464,6 +464,28 @@ - (desktop_flatpak_extensions | default([])) | length > 0 - item | length > 0 +- name: Ensure /etc/flatpak/overrides exists + tags: [packages, flatpak, theme] + ansible.builtin.file: + path: /etc/flatpak/overrides + state: directory + owner: root + group: root + mode: "0755" + when: (desktop_flatpak_packages | default([])) | length > 0 + +- name: Force dark GTK theme for Flatpak applications + tags: [packages, flatpak, theme] + ansible.builtin.copy: + dest: /etc/flatpak/overrides/global + content: | + [Environment] + GTK_THEME={{ desktop_flatpak_gtk_theme | default('Yaru-Blue-dark') }} + owner: root + group: root + mode: "0644" + when: (desktop_flatpak_packages | default([])) | length > 0 + - name: Bootstrap rustup toolchain installer tags: [packages] block: diff --git a/ansible/roles/profile_desktop_sway/files/sway-portals.conf b/ansible/roles/profile_desktop_sway/files/sway-portals.conf new file mode 100644 index 0000000..d55d092 --- /dev/null +++ b/ansible/roles/profile_desktop_sway/files/sway-portals.conf @@ -0,0 +1,4 @@ +[preferred] +default=gtk +org.freedesktop.impl.portal.Screenshot=wlr +org.freedesktop.impl.portal.ScreenCast=wlr diff --git a/ansible/roles/profile_desktop_sway/tasks/main.yml b/ansible/roles/profile_desktop_sway/tasks/main.yml index de3032b..d3163fa 100644 --- a/ansible/roles/profile_desktop_sway/tasks/main.yml +++ b/ansible/roles/profile_desktop_sway/tasks/main.yml @@ -37,6 +37,16 @@ mode: "0755" when: "'sway' in (desktop_sessions_enabled | default([]))" +- name: Configure xdg-desktop-portal backend preferences for sway + tags: [packages, services, sway, portal] + ansible.builtin.copy: + src: sway-portals.conf + dest: /etc/xdg/xdg-desktop-portal/sway-portals.conf + owner: root + group: root + mode: "0644" + when: "'sway' in (desktop_sessions_enabled | default([]))" + - name: Copy sway desktop dotfiles tags: [dotfiles, dotfiles:desktop, sway] ansible.builtin.copy: diff --git a/dotfiles/desktop/.config/sway/config b/dotfiles/desktop/.config/sway/config index 8280aee..6c5995f 100644 --- a/dotfiles/desktop/.config/sway/config +++ b/dotfiles/desktop/.config/sway/config @@ -62,6 +62,11 @@ gaps outer 4 smart_gaps on smart_borders on +# Window rules +for_window [app_id="(?i)polkit"] floating enable +for_window [class="(?i)polkit"] floating enable +for_window [title="^Authentication Required"] floating enable + # Autostart — XDG and session services exec dex --autostart --environment sway exec gnome-keyring-daemon --start --components=secrets @@ -85,6 +90,7 @@ exec /usr/libexec/xfce-polkit exec nm-applet exec blueman-applet exec udiskie +exec flameshot # Clipboard manager (Wayland-native) exec wl-paste --type text --watch cliphist store @@ -125,10 +131,13 @@ bindsym $mod+Shift+x exec ~/.config/sway/scripts/lockscreen # Kill focused window bindsym $mod+Shift+q kill -# Screenshot (xfce4-screenshooter via xdg-desktop-portal-wlr) -bindsym Print exec xfce4-screenshooter -bindsym Shift+Print exec xfce4-screenshooter -r -bindsym Alt+Print exec xfce4-screenshooter -w +# Screenshot +# Print → flameshot GUI (annotations, save + clipboard via portal) +# Shift+Print → grim+slurp region → clipboard +# Alt+Print → grim focused output → clipboard +bindsym Print exec flameshot gui --path "$HOME/Pictures/Screenshots" --clipboard +bindsym Shift+Print exec ~/.config/sway/scripts/screenshot region +bindsym Alt+Print exec ~/.config/sway/scripts/screenshot output # Focus bindsym $mod+$left focus left diff --git a/dotfiles/desktop/.config/sway/scripts/screenshot b/dotfiles/desktop/.config/sway/scripts/screenshot new file mode 100755 index 0000000..c63481b --- /dev/null +++ b/dotfiles/desktop/.config/sway/scripts/screenshot @@ -0,0 +1,40 @@ +#!/bin/sh +# Quick screenshot helpers for sway. Captures via grim, saves to disk and +# also copies to the Wayland clipboard. Use the flameshot binding for +# annotations / fancy capture. +# +# Usage: screenshot {full|region|output|window} + +set -eu + +mode="${1:-full}" +dir="$HOME/Pictures/Screenshots" +mkdir -p "$dir" +file="$dir/$(date +%Y%m%d_%H%M%S).png" + +case "$mode" in + full) + grim "$file" + ;; + region) + grim -g "$(slurp)" "$file" + ;; + output) + out=$(swaymsg -t get_outputs --raw \ + | jq -r '.[] | select(.focused) | .name') + grim -o "$out" "$file" + ;; + window) + geom=$(swaymsg -t get_tree \ + | jq -r '.. | select(.focused? == true) + | "\(.rect.x),\(.rect.y) \(.rect.width)x\(.rect.height)"') + grim -g "$geom" "$file" + ;; + *) + printf 'Usage: %s {full|region|output|window}\n' "$0" >&2 + exit 1 + ;; +esac + +wl-copy < "$file" +notify-send "Screenshot saved" "$file" -i image-x-generic >/dev/null 2>&1 || true diff --git a/scripts/cleanup-sway.sh b/scripts/cleanup-sway.sh index 82b9242..f16e0c5 100755 --- a/scripts/cleanup-sway.sh +++ b/scripts/cleanup-sway.sh @@ -7,7 +7,11 @@ set -eu SWAY_PACKAGES=" cliphist +flameshot +grim +jq kanshi +slurp swayfx swaybg swayidle From a2c0c69e7be661d8f9bae4cde64c53b8b77010be Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Sat, 16 May 2026 23:29:48 +0200 Subject: [PATCH 13/16] hosts: enable sway alongside i3 on ikaros and nymph MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- ansible/inventory/host_vars/ikaros.yml | 1 + ansible/inventory/host_vars/nymph.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/ansible/inventory/host_vars/ikaros.yml b/ansible/inventory/host_vars/ikaros.yml index 6cc730e..685c2cd 100644 --- a/ansible/inventory/host_vars/ikaros.yml +++ b/ansible/inventory/host_vars/ikaros.yml @@ -3,6 +3,7 @@ hostname: ikaros desktop_sessions_enabled: - i3 + - sway desktop_default_session: i3 desktop_default_session_env: xorg diff --git a/ansible/inventory/host_vars/nymph.yml b/ansible/inventory/host_vars/nymph.yml index 8604813..43aca5d 100644 --- a/ansible/inventory/host_vars/nymph.yml +++ b/ansible/inventory/host_vars/nymph.yml @@ -3,6 +3,7 @@ hostname: nymph desktop_sessions_enabled: - i3 + - sway desktop_default_session: i3 desktop_default_session_env: xorg From 4638178c23417336fcc6d4a40582d22a3f3243a1 Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Sat, 16 May 2026 23:49:50 +0200 Subject: [PATCH 14/16] 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 --- ansible/roles/profile_desktop_sway/tasks/main.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ansible/roles/profile_desktop_sway/tasks/main.yml b/ansible/roles/profile_desktop_sway/tasks/main.yml index d3163fa..bc374e9 100644 --- a/ansible/roles/profile_desktop_sway/tasks/main.yml +++ b/ansible/roles/profile_desktop_sway/tasks/main.yml @@ -37,6 +37,16 @@ mode: "0755" when: "'sway' in (desktop_sessions_enabled | default([]))" +- name: Ensure /etc/xdg/xdg-desktop-portal exists + tags: [packages, services, sway, portal] + ansible.builtin.file: + path: /etc/xdg/xdg-desktop-portal + state: directory + owner: root + group: root + mode: "0755" + when: "'sway' in (desktop_sessions_enabled | default([]))" + - name: Configure xdg-desktop-portal backend preferences for sway tags: [packages, services, sway, portal] ansible.builtin.copy: From 4298fd9bdd1ad8e593150f556c07720879e63ed1 Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Sat, 16 May 2026 23:50:01 +0200 Subject: [PATCH 15/16] 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 --- ansible/inventory/host_vars/nymph.yml | 8 ++++++++ .../roles/profile_desktop_host/tasks/main.yml | 15 +++++++++++++++ dotfiles/desktop/.config/sway/config | 8 +++++++- dotfiles/desktop/.config/sway/host.conf | 3 +++ dotfiles/desktop/.local/bin/start-sway | 3 +++ dotfiles/nymph/.config/sway/host.conf | 16 ++++++++++++++++ dotfiles/nymph/.config/sway/session-env | 6 ++++++ 7 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 dotfiles/desktop/.config/sway/host.conf create mode 100644 dotfiles/nymph/.config/sway/host.conf create mode 100644 dotfiles/nymph/.config/sway/session-env diff --git a/ansible/inventory/host_vars/nymph.yml b/ansible/inventory/host_vars/nymph.yml index 43aca5d..97c2b03 100644 --- a/ansible/inventory/host_vars/nymph.yml +++ b/ansible/inventory/host_vars/nymph.yml @@ -31,3 +31,11 @@ host_i3_dotfiles: - src: .config/wireplumber/wireplumber.conf.d/60-camera-priority.conf dest: .config/wireplumber/wireplumber.conf.d/60-camera-priority.conf mode: "0644" + +host_sway_dotfiles: + - src: .config/sway/host.conf + dest: .config/sway/host.conf + mode: "0644" + - src: .config/sway/session-env + dest: .config/sway/session-env + mode: "0644" diff --git a/ansible/roles/profile_desktop_host/tasks/main.yml b/ansible/roles/profile_desktop_host/tasks/main.yml index 47cbd98..8bc0567 100644 --- a/ansible/roles/profile_desktop_host/tasks/main.yml +++ b/ansible/roles/profile_desktop_host/tasks/main.yml @@ -19,3 +19,18 @@ - "'i3' in (desktop_sessions_enabled | default([]))" - (host_i3_dotfiles | default([])) | length > 0 +- name: Copy host-specific sway dotfiles + tags: [dotfiles, dotfiles:desktop, dotfiles:host, sway] + ansible.builtin.copy: + src: "{{ playbook_dir }}/../dotfiles/{{ hostname }}/{{ item.src }}" + dest: "{{ user_home }}/{{ item.dest }}" + owner: "{{ username }}" + group: "{{ user_group }}" + mode: "{{ item.mode }}" + loop: "{{ host_sway_dotfiles | default([]) }}" + loop_control: + label: "{{ item.dest }}" + when: + - "'sway' in (desktop_sessions_enabled | default([]))" + - (host_sway_dotfiles | default([])) | length > 0 + diff --git a/dotfiles/desktop/.config/sway/config b/dotfiles/desktop/.config/sway/config index 6c5995f..bb78f34 100644 --- a/dotfiles/desktop/.config/sway/config +++ b/dotfiles/desktop/.config/sway/config @@ -10,6 +10,9 @@ set $down j set $up k set $right l +# Default terminal (hosts can override via host.conf — e.g. nymph wraps it in prime-run) +set $terminal alacritty + # Workspaces (waybar formatta i numeri in romani via format-icons) set $ws1 "1" set $ws2 "2" @@ -62,6 +65,9 @@ gaps outer 4 smart_gaps on smart_borders on +# Per-host overrides (terminal wrapper, gaps tweaks, workspace→output bindings, …) +include ~/.config/sway/host.conf + # Window rules for_window [app_id="(?i)polkit"] floating enable for_window [class="(?i)polkit"] floating enable @@ -108,7 +114,7 @@ exec swayidle -w \ before-sleep '~/.config/sway/scripts/lockscreen' # Terminal -bindsym $mod+Return exec alacritty +bindsym $mod+Return exec $terminal # Emacs client bindsym $mod+Shift+e exec emacsclient -c -n diff --git a/dotfiles/desktop/.config/sway/host.conf b/dotfiles/desktop/.config/sway/host.conf new file mode 100644 index 0000000..9ae379d --- /dev/null +++ b/dotfiles/desktop/.config/sway/host.conf @@ -0,0 +1,3 @@ +# Per-host sway overrides. Empty by default; hosts that need tuning +# ship their own version via host_sway_dotfiles, which overwrites this +# placeholder during deploy. diff --git a/dotfiles/desktop/.local/bin/start-sway b/dotfiles/desktop/.local/bin/start-sway index 629cdc2..d6c16d7 100755 --- a/dotfiles/desktop/.local/bin/start-sway +++ b/dotfiles/desktop/.local/bin/start-sway @@ -15,6 +15,9 @@ export GDK_BACKEND='wayland,x11' export SSH_AUTH_SOCK="$HOME/.local/state/ssh-agent/socket" +# Per-host session environment (GPU / Wayland tuning, etc.) +[ -r "$HOME/.config/sway/session-env" ] && . "$HOME/.config/sway/session-env" + exec dbus-run-session sh -eu -c ' umask 077 printf "%s\n" "$DBUS_SESSION_BUS_ADDRESS" > "$HOME/.dbus-session-bus-address" diff --git a/dotfiles/nymph/.config/sway/host.conf b/dotfiles/nymph/.config/sway/host.conf new file mode 100644 index 0000000..c51d06a --- /dev/null +++ b/dotfiles/nymph/.config/sway/host.conf @@ -0,0 +1,16 @@ +set $terminal ~/.local/bin/prime-run /usr/bin/alacritty + +gaps inner 10 +gaps outer 5 +corner_radius 10 + +workspace 1 output eDP-1 +workspace 2 output DP-1 +workspace 3 output DP-1 +workspace 4 output DP-1 +workspace 5 output DP-1 +workspace 6 output DP-1 +workspace 7 output DP-1 +workspace 8 output DP-1 +workspace 9 output DP-1 +workspace 10 output DP-1 diff --git a/dotfiles/nymph/.config/sway/session-env b/dotfiles/nymph/.config/sway/session-env new file mode 100644 index 0000000..4a16e3a --- /dev/null +++ b/dotfiles/nymph/.config/sway/session-env @@ -0,0 +1,6 @@ +export LIBVA_DRIVER_NAME=iHD +export QT_QPA_PLATFORM=wayland +export QT_QPA_PLATFORMTHEME=qt6ct +export SWAY_UNSUPPORTED_GPU=1 +export WLR_DRM_DEVICES=/dev/dri/card0:/dev/dri/card1 +export WLR_NO_HARDWARE_CURSORS=1 From 8402f0c1d3e9162255c8ff04e27d7251792cbe51 Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Sat, 16 May 2026 23:53:51 +0200 Subject: [PATCH 16/16] 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 --- ansible/inventory/host_vars/nymph.yml | 3 +++ dotfiles/nymph/.config/kanshi/config | 17 +++++++++++++++++ dotfiles/nymph/.config/sway/host.conf | 5 ++--- 3 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 dotfiles/nymph/.config/kanshi/config diff --git a/ansible/inventory/host_vars/nymph.yml b/ansible/inventory/host_vars/nymph.yml index 97c2b03..9b06dc2 100644 --- a/ansible/inventory/host_vars/nymph.yml +++ b/ansible/inventory/host_vars/nymph.yml @@ -39,3 +39,6 @@ host_sway_dotfiles: - src: .config/sway/session-env dest: .config/sway/session-env mode: "0644" + - src: .config/kanshi/ + dest: .config/kanshi/ + mode: preserve diff --git a/dotfiles/nymph/.config/kanshi/config b/dotfiles/nymph/.config/kanshi/config new file mode 100644 index 0000000..a96e34a --- /dev/null +++ b/dotfiles/nymph/.config/kanshi/config @@ -0,0 +1,17 @@ +profile solo { + output DP-1 disable + output DP-2 disable + output HDMI-A-1 disable + output HDMI-A-2 disable + output eDP-1 enable mode 1920x1080 position 0,0 + exec swaymsg "workspace 1, move workspace to output eDP-1; workspace 2, move workspace to output eDP-1; workspace 3, move workspace to output eDP-1; workspace 4, move workspace to output eDP-1; workspace 5, move workspace to output eDP-1; workspace 6, move workspace to output eDP-1; workspace 7, move workspace to output eDP-1; workspace 8, move workspace to output eDP-1; workspace 9, move workspace to output eDP-1; workspace 10, move workspace to output eDP-1" +} + +profile dual { + output DP-2 disable + output HDMI-A-1 disable + output HDMI-A-2 disable + output eDP-1 enable mode 1920x1080 position 0,0 + output DP-1 enable mode 3440x1440@100Hz position 1920,0 + exec swaymsg "workspace 1, move workspace to output eDP-1; workspace 2, move workspace to output DP-1; workspace 3, move workspace to output DP-1; workspace 4, move workspace to output DP-1; workspace 5, move workspace to output DP-1; workspace 6, move workspace to output DP-1; workspace 7, move workspace to output DP-1; workspace 8, move workspace to output DP-1; workspace 9, move workspace to output DP-1; workspace 10, move workspace to output DP-1" +} diff --git a/dotfiles/nymph/.config/sway/host.conf b/dotfiles/nymph/.config/sway/host.conf index c51d06a..7e3acb5 100644 --- a/dotfiles/nymph/.config/sway/host.conf +++ b/dotfiles/nymph/.config/sway/host.conf @@ -1,8 +1,7 @@ set $terminal ~/.local/bin/prime-run /usr/bin/alacritty -gaps inner 10 -gaps outer 5 -corner_radius 10 +# Multi-monitor profile switching (laptop standalone vs dock) +exec kanshi workspace 1 output eDP-1 workspace 2 output DP-1