--- - 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 input variable ansible.builtin.set_fact: sway_inputs: '{{ local_sway_inputs | community.general.lists_mergeby( sway_inputs, "name" ) }}' when: local_sway_inputs 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 - unzip state: present become: true - name: Clone my zsh repository ansible.builtin.git: repo: ssh://git@git.epha.se:24422/ephase/zsh_config.git dest: '{{ ansible_user_dir }}/.config/zsh' - name: Symlink .zshenv to ~ ansible.builtin.file: src: '{{ ansible_user_dir }}/.config/zsh/.zshenv' dest: '{{ ansible_user_dir }}/.zshenv' state: link - name: Clone my neovim repository ansible.builtin.git: repo: ssh://git@git.epha.se:24422/ephase/nvim_config.git dest: '{{ ansible_user_dir }}/.config/nvim' - 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: - glib2 - pinentry - gcr - libnotify - qt5-wayland - ttf-dejavu - ttf-fira-code - ttf-joypixels - ttf-liberation - ttf-linux-libertine - arc-solid-gtk-theme when: ansible_distribution == "Archlinux" become: true - name: Install packages on Debian ansible.builtin.package: pkg: - arc-theme - fonts-dejavu - fonts-firacode - fonts-liberation2 - fonts-linuxlibertine - fonts-noto-color-emoji - libglib2.0-bin - lmodern - libnotify-bin - pandoc - pinentry-gnome3 - pulseaudio-utils - qtwayland5 - texlive - webext-browserpass when: ansible_distribution == "Debian" become: true - name: Install others packages ansible.builtin.package: pkg: - papirus-icon-theme - brightnessctl - firefox - foot - foot-terminfo - fzf - g++ - hugo - npm - mpv - pipewire - pipewire-pulse - qutebrowser - rsync - waybar - wireplumber - xdg-desktop-portal-wlr - xwayland become: true - 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 Various service ansible.builtin.systemd: name: '{{ item }}' scope: user state: started loop: - import-gsettings.service - waybar.service when: service_file is changed and not ansible_check_mode