--- - name: Check if quickshell path is a symlink stat: path: "{{ config_dir }}/quickshell" register: quickshell_stat - name: Remove existing quickshell symlink if present file: path: "{{ config_dir }}/quickshell" state: absent when: quickshell_stat.stat.exists and quickshell_stat.stat.islnk - name: Create quickshell config directories file: path: "{{ item }}" state: directory mode: '0755' loop: - "{{ config_dir }}/quickshell" - "{{ config_dir }}/quickshell/bar" - "{{ config_dir }}/quickshell/components" - name: Symlink quickshell config files file: src: "{{ role_path }}/files/{{ item.src }}" dest: "{{ config_dir }}/quickshell/{{ item.dest }}" state: link force: true loop: # Root - { src: shell.qml, dest: shell.qml } # Shared components module - { src: components/Theme.qml, dest: components/Theme.qml } - { src: components/Enclosure.qml, dest: components/Enclosure.qml } - { src: components/qmldir, dest: components/qmldir } # Bar module (imported as "bar" in shell.qml) - { src: bar/Bar.qml, dest: bar/Bar.qml } - { src: bar/MusicPlayer.qml, dest: bar/MusicPlayer.qml } - { src: bar/MusicPlayerControls.qml, dest: bar/MusicPlayerControls.qml } - { src: bar/Workspaces.qml, dest: bar/Workspaces.qml } - { src: bar/WorkspaceButton.qml, dest: bar/WorkspaceButton.qml } - { src: bar/qmldir, dest: bar/qmldir }