cachy-workstation

Log | Files | Refs | README

commit af197aba57084f8715987ec7f1c24277e5c6b1f5
parent f8581af6683d1352e7a58cd5752ec07d978d1338
Author: Chris Roberts <chris.roberts@learningunix.net>
Date:   Sat, 20 Jun 2026 05:34:41 -0500

added remaining package groups and flatpak role

Diffstat:
A9734 | 0
MREADME.md | 6++++++
Apackages.txt | 78++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aroles/flatpak/meta/main.yml | 6++++++
Aroles/flatpak/tasks/main.yml | 22++++++++++++++++++++++
Aroles/flatpak/vars/main.yml | 4++++
Aroles/virtualization/meta/main.yml | 6++++++
Aroles/virtualization/tasks/main.yml | 20++++++++++++++++++++
Aroles/web/meta/main.yml | 6++++++
Aroles/web/tasks/main.yml | 8++++++++
Msite.yml | 10++++++++++
11 files changed, 166 insertions(+), 0 deletions(-)

diff --git a/9734 b/9734 diff --git a/README.md b/README.md @@ -19,6 +19,12 @@ Infrastructure-as-Code for a CachyOS Linux workstation, managed with Ansible. - Ansible installed on the workstation - A working Python environment (required by Ansible) +Install prerequisites manually before running the playbook: + +```bash +sudo pacman -S ansible ansible-lint +``` + ## Usage Run the full site playbook: diff --git a/packages.txt b/packages.txt @@ -0,0 +1,78 @@ +# packages (general) +ansible +ansible-lint +azure-cli +ex-vi-compat +fio +geoip +goaccess +handbrake +htop +iftop +ioping +iperf3 +iptables +libreoffice-fresh +libva-utils +localsend +mmdblookup +neovim +net-tools +nmap +nodejs +npm +obsidian +obs-studio +okular +opentofu +pandoc-cli +python-lsp-server +python-passlib +python-pip +python-pipx +python-pyserial +python-ruff +python-weasyprint +python-yaml +remmina +restic +screen +shellcheck +shfmt +simple-scan +stylua +syncthing +sysstat +tigervnc +traceroute +tree-sitter-bash +tree-sitter-cli +tree-sitter-python +usbmuxd +whois +wl-clipboard +wofi +words +xfsdump +yakuake +yamllint +zip + +# docker +docker +docker-compose + +# virtualization +cloud-image-utils +qemu-full +virt-manager + +# web +hcloud +hugo +tea + +# flatpak +flatpak +com.google.Chrome +com.makemkv.MakeMKV diff --git a/roles/flatpak/meta/main.yml b/roles/flatpak/meta/main.yml @@ -0,0 +1,6 @@ +--- +galaxy_info: + author: cjr + description: Install Flatpak and some needed Flatpak applications + license: BSD-3-Clause + min_ansible_version: "2.1" diff --git a/roles/flatpak/tasks/main.yml b/roles/flatpak/tasks/main.yml @@ -0,0 +1,22 @@ +--- +- name: Install flatpak + community.general.pacman: + name: flatpak + state: present + +- name: Install wanted flatpak packages + community.general.flatpak: + name: "{{ flatpak_apps }}" + state: present + +- name: Check MakeMKV flatpak permissions + ansible.builtin.command: + cmd: flatpak info --show-permissions com.makemkv.MakeMKV + register: flatpak_makemkv_permissions + changed_when: false + +- name: Grant MakeMKV access to optical drives + ansible.builtin.command: + cmd: flatpak override --device=all com.makemkv.MakeMKV + when: "'--device=all' not in flatpak_makemkv_permissions.stdout" + changed_when: true diff --git a/roles/flatpak/vars/main.yml b/roles/flatpak/vars/main.yml @@ -0,0 +1,4 @@ +--- +flatpak_apps: + - com.google.Chrome + - com.makemkv.MakeMKV diff --git a/roles/virtualization/meta/main.yml b/roles/virtualization/meta/main.yml @@ -0,0 +1,6 @@ +--- +galaxy_info: + author: cjr + description: Install and configure virtualization tools + license: BSD-3-Clause + min_ansible_version: "2.1" diff --git a/roles/virtualization/tasks/main.yml b/roles/virtualization/tasks/main.yml @@ -0,0 +1,20 @@ +--- +- name: Install virtualization packages + community.general.pacman: + name: + - qemu-full + - virt-manager + - cloud-image-utils + state: present + +- name: Enable libvirtd service + ansible.builtin.service: + name: libvirtd + state: started + enabled: true + +- name: Add user to libvirt group + ansible.builtin.user: + name: "{{ ansible_user_id }}" + groups: libvirt + append: true diff --git a/roles/web/meta/main.yml b/roles/web/meta/main.yml @@ -0,0 +1,6 @@ +--- +galaxy_info: + author: cjr + description: Install web and hosting tools + license: BSD-3-Clause + min_ansible_version: "2.1" diff --git a/roles/web/tasks/main.yml b/roles/web/tasks/main.yml @@ -0,0 +1,8 @@ +--- +- name: Install web tools + community.general.pacman: + name: + - hcloud + - hugo + - tea + state: present diff --git a/site.yml b/site.yml @@ -7,3 +7,13 @@ roles: - role: firewall tags: firewall + - role: packages + tags: packages + - role: docker + tags: docker + - role: virtualization + tags: virtualization + - role: web + tags: web + - role: flatpak + tags: flatpak