Files
infra/ansible/roles/profile_desktop_sway/tasks/main.yml
Fabio Scotto di Santolo e5b24fdf2c Align desktop theming around Noctalia Ayu
- Move Sway, GTK, Qt, Alacritty, and Emacs toward the Noctalia-generated Ayu theme
- Add shared font/cursor settings, qt5ct/qt6ct templates, and Flatpak theme integration support
- Keep browser and Telegram theming manual while preserving generated Noctalia assets where useful
2026-04-23 20:52:58 +02:00

144 lines
4.6 KiB
YAML

---
- 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/sway"
- "{{ user_home }}/.config/kanshi"
- "{{ user_home }}/.config/qt5ct"
- "{{ user_home }}/.config/qt5ct/colors"
- "{{ user_home }}/.config/qt6ct"
- "{{ user_home }}/.config/qt6ct/colors"
when: "'sway' in (desktop_sessions_enabled | default([]))"
- name: Ensure Noctalia config directories exist
tags: [dotfiles, dotfiles:desktop, sway, noctalia]
ansible.builtin.file:
path: "{{ item }}"
state: directory
owner: "{{ username }}"
group: "{{ user_group }}"
mode: "0755"
loop:
- "{{ user_home }}/.config/noctalia"
- "{{ user_home }}/.config/noctalia/plugins"
- "{{ user_home }}/.local/share/noctalia-plugins"
when: "'sway' in (desktop_sessions_enabled | default([]))"
- name: Install Sway emptty session entry
tags: [packages, services, emptty, sway]
ansible.builtin.template:
src: Sway.desktop.j2
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([]))"
- name: Render Sway shell config
tags: [dotfiles, dotfiles:desktop, sway]
ansible.builtin.template:
src: shell.conf.j2
dest: "{{ user_home }}/.config/sway/shell.conf"
owner: "{{ username }}"
group: "{{ user_group }}"
mode: "0644"
when: "'sway' in (desktop_sessions_enabled | default([]))"
- name: Render Noctalia settings template
tags: [dotfiles, dotfiles:desktop, sway, noctalia]
ansible.builtin.template:
src: noctalia-settings.json.j2
dest: "{{ user_home }}/.config/noctalia/settings.json"
owner: "{{ username }}"
group: "{{ user_group }}"
mode: "0644"
when: "'sway' in (desktop_sessions_enabled | default([]))"
- name: Render qt5ct config
tags: [dotfiles, dotfiles:desktop, sway, noctalia]
ansible.builtin.template:
src: qt5ct.conf.j2
dest: "{{ user_home }}/.config/qt5ct/qt5ct.conf"
owner: "{{ username }}"
group: "{{ user_group }}"
mode: "0644"
when: "'sway' in (desktop_sessions_enabled | default([]))"
- name: Render qt6ct config
tags: [dotfiles, dotfiles:desktop, sway, noctalia]
ansible.builtin.template:
src: qt6ct.conf.j2
dest: "{{ user_home }}/.config/qt6ct/qt6ct.conf"
owner: "{{ username }}"
group: "{{ user_group }}"
mode: "0644"
when: "'sway' in (desktop_sessions_enabled | default([]))"
- name: Manage Noctalia shell plugins
tags: [dotfiles, dotfiles:desktop, sway, noctalia]
ansible.builtin.include_tasks: noctalia.yml
when: "'sway' in (desktop_sessions_enabled | default([]))"
- name: Copy shared Clipper settings
tags: [dotfiles, dotfiles:desktop, sway, noctalia]
ansible.builtin.copy:
src: "{{ playbook_dir }}/../dotfiles/desktop/.config/noctalia/plugins/clipper/settings.json"
dest: "{{ user_home }}/.config/noctalia/plugins/clipper/settings.json"
owner: "{{ username }}"
group: "{{ user_group }}"
mode: "0644"
when: "'sway' in (desktop_sessions_enabled | default([]))"
- name: Allow Flatpak apps to read shared theme configs
tags: [packages, dotfiles, dotfiles:desktop, sway, noctalia]
ansible.builtin.command:
argv:
- flatpak
- override
- --user
- "--filesystem={{ item }}"
become_user: "{{ username }}"
environment:
HOME: "{{ user_home }}"
changed_when: false
loop: "{{ desktop_flatpak_global_filesystems | default([]) }}"
when:
- "'sway' in (desktop_sessions_enabled | default([]))"
- (desktop_flatpak_packages | default([])) | length > 0
- name: Export global Flatpak environment for theme integration
tags: [packages, dotfiles, dotfiles:desktop, sway, noctalia]
ansible.builtin.command:
argv:
- flatpak
- override
- --user
- "--env={{ item }}"
become_user: "{{ username }}"
environment:
HOME: "{{ user_home }}"
changed_when: false
loop: "{{ desktop_flatpak_global_env | default([]) }}"
when:
- "'sway' in (desktop_sessions_enabled | default([]))"
- (desktop_flatpak_packages | default([])) | length > 0