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:
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