desktop-playbook/playbook.yml

136 lines
3.3 KiB
YAML

---
- 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
- unzip
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:
- glib2
- font-dejavu
- ttf-firacode
- ttf-liberation2
- ttf-linuxlibertine
- ttf-noto-color-emoji
- arc-solid-gtk-theme
when: ansible_distribution == "Archlinux"
become: true
- name: Install packages on Arch
ansible.builtin.package:
pkg:
- arc-theme
- font-dejavu
- font-firacode
- font-liberation2
- font-linuxlibertine
- font-noto-color-emoji
- libglib2.0-0
when: ansible_distribution == "Debian"
become: true
- name: Install others packages
ansible.builtin.package:
pkg:
- papirus-icon-theme
- firefox
- firefox-l10n-fr
- foot
- foot-terminfo
- fzf
- mpv
- pipewire
- pipewire-pulse
- waybar
- wireplumber
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 Gsettings 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