88 lines
3.0 KiB
YAML
88 lines
3.0 KiB
YAML
#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) }}"
|