- name: Bootstrap dotfile and depencies hosts: localhost vars: dconf_tilix: "{{ lookup('file', '.dconf/Tilix.dconf') }}" dconf_gnome_mk: "{{ lookup('file', '.dconf/MediaKeys.dconf') }}" dconf_gnome_mutter: "{{ lookup('file', '.dconf/Mutter.dconf') }}" dconf_gnome_mutter_w: "{{ lookup('file', '.dconf/MutterWayland.dconf') }}" dconf_gnome_shell: "{{ lookup('file', '.dconf/Shell.dconf') }}" dconf_gnome_wm: "{{ lookup('file', '.dconf/WindowManager.dconf') }}" dconf_gnome_forge: "{{ lookup('file', '.dconf/Forge.dconf') }}" tasks: - name: Full system upgrade become: true community.general.pacman: update_cache: true upgrade: true - name: Install yay dependencies become: true community.general.pacman: state: present name: - git - base-devel - name: Clone yay git: repo: https://aur.archlinux.org/yay.git dest: "/tmp/yay" update: true - name: Build and install yay command: chdir: "/tmp/yay" cmd: "makepkg -sfi --noconfirm" creates: /usr/bin/yay - name: Install standard dependencies become: True community.general.pacman: state: present name: - zsh - vim - ttf-meslo-nerd - tilix - name: Check install packages (for later use with yay) ansible.builtin.command: pacman -Qm register: installed_packages - name: "Install package" become: false ansible.builtin.command: "yay --noconfirm --noprogressbar --needed --sync {{ item }}" when: item not in installed_packages.stdout with_items: - find-the-command - oh-my-posh - archey4 - find-the-command - name: Install oh-my-posh config copy: src: "{{playbook_dir}}/.ohmyposh/" dest: ~/.ohmyposh/ - name: Install oh-my-posh config for root become: true copy: src: "{{playbook_dir}}/.ohmyposh/" dest: /root/.ohmyposh/ - name: Install bashrc copy: src: "{{playbook_dir}}/.bashrc" dest: ~/.bashrc - name: Install bashrc for root become: true copy: src: "{{playbook_dir}}/.bashrc" dest: /root/.bashrc - name: Install zshrc copy: src: "{{playbook_dir}}/.zshrc" dest: ~/.zshrc - name: Install zshrc for root become: true copy: src: "{{playbook_dir}}/.zshrc" dest: /root/.zshrc - name: Reset tilix config community.general.dconf: key: "/com/gexperts/Tilix" state: absent - name: Import tilix config ansible.builtin.command: "dconf load /com/gexperts/Tilix/" args: stdin: "{{dconf_tilix}}" - name: Install fancy helper scripts become: true copy: src: "{{playbook_dir}}/.scripts/" dest: /opt mode: '0755' - name: Import Gnome MediaKey Shortcuts ansible.builtin.command: "dconf load /org/gnome/settings-daemon/plugins/media-keys/" args: stdin: "{{dconf_gnome_mk}}" - name: Import Gnome Mutter Shortcuts ansible.builtin.command: "dconf load /org/gnome/mutter/keybindings/" args: stdin: "{{dconf_gnome_mutter}}" - name: Import Gnome Mutter Wayland Shortcuts ansible.builtin.command: "dconf load /org/gnome/mutter/wayland/keybindings/" args: stdin: "{{dconf_gnome_mutter_w}}" - name: Import Gnome Shell Shortcuts ansible.builtin.command: "dconf load /org/gnome/shell/keybindings/" args: stdin: "{{dconf_gnome_shell}}" - name: Import Gnome Window Manager Shortcuts ansible.builtin.command: "dconf load /org/gnome/desktop/wm/keybindings/" args: stdin: "{{dconf_gnome_wm}}" - name: Import Gnome Extension Forge ansible.builtin.command: "dconf load /org/gnome/shell/extensions/forge/keybindings/" args: stdin: "{{dconf_gnome_forge}}"