--- - 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