--- - name: Get host dependent variables hosts: all tasks: - name: Load host relative variables ansible.builtin.include_vars: dir: 'vars/{{ ansible_hostname}}' - name: Merge Sway output variable ansible.builtin.set_fact: sway_outputs: '{{ local_sway_outputs | community.general.lists_mergeby(sway_outputs, "id") }}' when: local_sway_outputs is defined - name: Merge Sway output variable ansible.builtin.set_fact: sway_inputs: '{{ local_sway_inputs | community.general.lists_mergeby(sway_outputs, "name" ) }' when: local_sway_input is defined - name: Merge Kanshi profiles variable ansible.builtin.set_fact: sway_outputs: '{{ local_kanshi_profiles | community.general.lists_mergeby(kanshi_profiles, "profile") }}' when: local_kanshi_profiles is defined - name: Install CLI stuff hosts: all tasks: - name: Copy configuration files ansible.builtin.copy: src: config/ dest: '{{ ansible_user_dir }}/.config/' mode: 0640 directory_mode: 0750 - name: Install packages ansible.builtin.package: pkg: - zsh - pass - vifm - cmus state: present become: true - name: Copy ZSH files ansible.builtin.copy: src: '{{ item }}' dest: '{{ ansible_user_dir }}' mode: 0640 loop: - zsh/.zshrc - zsh/.zprofile - name: Launch Sway related roles hosts: all roles: - ansible-sshagentd - ansible-sway - ansible-kanshi - ansible-mako - ansible-swaylock - ansible-swayidle - name: Configure desktop hosts: all tasks: - name: Install packages on Arch ansible.builtin.package: pkg: - arc-solid-gtk-theme when: ansible_distribution == "Archlinux" - name: Install packages on Arch ansible.builtin.package: pkg: - arc-theme when: ansible_distribution == "Debian" - name: Install others packages ansible.builtin.package: pkg: - papirus-icon-theme - firefox - firefox-l10n-fr - foot - foot-terminfo - glib2 - mpv - pipewire - pipewire-pulse - waybar - wireplumber - name: Copy executable files ansible.builtin.copy: src: bin/ dest: '{{ ansible_user_dir }}/.local/bin/' mode: 0750 - block: - name: Reload Systemd daemon ansible.builtin.systemd: scope: user daemon-reload: true - name: Activate Import Gsettings service ansible.builtin.systemd: name: 'import-gsettings.service' scope: user state: started when: service_file is changed and not ansible_check_mode