Personal Arch Linux workstation configuration managed with Ansible.
The repository installs system packages, AUR packages, services, and symlinks user configuration from config/ into the home directory.
- Arch Linux
sudoaccessmake
Install Ansible tools, Galaxy collections, and prepare the AUR builder user:
make bootstrapThe bootstrap playbook asks for the sudo password once, then configures passwordless sudo for the invoking user, creates the dedicated AUR builder user and group, and allows the builder to run pacman without a password.
Apply the main local playbook:
make applyPass extra Ansible flags with ANSIBLE_FLAGS:
make apply ANSIBLE_FLAGS="--check --diff"Run syntax and lint checks:
make checkSeparate checks:
make syntax
make lintsite.yaml- main playbook, imports all sectionsbootstrap.yaml- initial AUR builder setupinventory.yaml- local inventory and shared variablesrequirements.yaml- Ansible Galaxy collectionsconfig/- user configuration symlink sourcecommon.yaml- common CLI packages and base configurationdev-tools.yaml- developer toolsdisplay.yaml- display stack, Wayland, fonts, UI servicesaudio.yaml- PipeWire and Bluetoothapps.yaml- desktop applicationsvirt.yaml- containers, Kubernetes, virtualizationmisc.yaml- miscellaneous applicationssystem.yaml- bootloader and low-level system configuration
Playbooks target localhost and use local connection from inventory.yaml.
Package tasks use state: present; full system upgrades are explicit in common.yaml.