Files
infra/ansible/roles/packages_void/tasks/main.yml
Fabio Scotto di Santolo 2d3fb543de 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

81 lines
2.3 KiB
YAML

---
- name: Ensure XBPS extra repositories directory exists
tags: [packages]
ansible.builtin.file:
path: /etc/xbps.d
state: directory
mode: "0755"
when: (host_xbps_repositories | default([])) | length > 0
- name: Configure host-specific XBPS repositories
tags: [packages]
ansible.builtin.copy:
dest: "/etc/xbps.d/{{ item.name }}.conf"
content: |
repository={{ item.url }}
owner: root
group: root
mode: "0644"
loop: "{{ host_xbps_repositories | default([]) }}"
loop_control:
label: "{{ item.name }}"
register: host_xbps_repository_configs
when: (host_xbps_repositories | default([])) | length > 0
- name: Install Void nonfree repository if needed
tags: [packages]
community.general.xbps:
name: void-repo-nonfree
state: present
update_cache: false
register: void_nonfree_repository
when: "'void-repo-nonfree' in (host_packages | default([]) + void_packages_base | default([]))"
- name: Refresh XBPS cache after configuring repositories
tags: [packages]
community.general.xbps:
update_cache: true
accept_pubkey: true
when: >-
(host_xbps_repositories | default([])) | length > 0
or (void_nonfree_repository is defined and void_nonfree_repository is changed)
- name: Synchronize and upgrade Void Linux packages
tags: [packages]
community.general.xbps:
update_cache: false
upgrade: true
- name: Install packages on Void Linux
tags: [packages]
community.general.xbps:
name: >-
{{
(
(common_packages | default([]))
+ (void_packages_base | default([]))
+ (profile_packages | default([]))
+ (desktop_common_packages | default([]))
+ (
(desktop_i3_packages | default([]))
if 'i3' in (desktop_sessions_enabled | default([]))
else []
)
+ (
(desktop_sway_packages | default([]))
if 'sway' in (desktop_sessions_enabled | default([]))
else []
)
+ (host_packages | default([]))
)
| unique
}}
state: present
update_cache: false
- name: Remove host-absent packages on Void Linux
tags: [packages]
community.general.xbps:
name: "{{ host_packages_absent | default([]) }}"
state: absent
when: (host_packages_absent | default([])) | length > 0