#SPDX-License-Identifier: MIT-0 --- # tasks file for bootstrap # @TODO create bootstrap tasks for installation and configuration of software - name: Update and upgrade software block: - name: Update Aptitude package cache and upgrade Aptitude packages when: "ansible_facts['pkg_mgr'] == 'apt'" become: true ansible.builtin.apt: upgrade: yes update_cache: yes cache_valid_time: 86400 - name: Install NeoVim editor become: true block: - name: Install NeoVim using Aptitude package manager when: "ansible_facts['pkg_mgr'] == 'apt'" ansible.builtin.package: name: neovim use: "{{ ansible_facts['pkg_mgr'] }}" state: present # @TODO create handler to notify to for configuring neovim # notify: neovim - name: Install kitty-terminfo for SSH client xterm-kitty compatibility become: true block: - name: Install kitty-terminfo using Aptitude package manager when: "ansible_facts['pkg_mgr'] == 'apt'" ansible.builtin.package: name: kitty-terminfo use: "{{ ansible_facts['pkg_mgr'] }}" state: present - name: Install necessary software managers and container engines become: true block: - name: Install snapd when: "ansible_facts['pkg_mgr'] == 'apt'" block: - name: Install snapd using Aptitude package manager ansible.builtin.package: name: snapd use: "{{ ansible_facts['pkg_mgr'] }}" state: present notify: snapd - name: Install flatpak when: "ansible_facts['pkg_mgr'] == 'apt'" block: - name: Install flatpak using Aptitude package manager ansible.builtin.package: name: flatpak use: "{{ ansible_facts['pkg_mgr'] }}" state: present - name: Install podman when: "ansible_facts['pkg_mgr'] == 'apt'" block: - name: Install podman using Aptitude package manager ansible.builtin.package: name: podman use: "{{ ansible_facts['pkg_mgr'] }}" state: present - name: Install podman-compose when: "ansible_facts['pkg_mgr'] == 'apt'" block: - name: Install podman-compose using Aptitude package manager ansible.builtin.package: name: podman-compose use: "{{ ansible_facts['pkg_mgr'] }}" state: present - name: Install git block: - name: Install git using Aptitude package manager when: "ansible_facts['pkg_mgr'] == 'apt'" ansible.builtin.package: name: git use: "{{ ansible_facts['pkg_mgr'] }}" state: present notify: git - name: Install packages when: ansible_facts['pkg_mgr'] in item.value.name ansible.builtin.package: name: "{{ item.value.name[ansible_facts['pkg_mgr']] }}" use: "{{ ansible_facts['pkg_mgr'] }}" state: present # @TODO research what happens when nonexistent handler is called or notify field is null notify: "{{ item.key }}" loop: "{{ lookup('ansible.builtin.dict', software.pkgs) }}"