Ansible playbooks and config files to configure Arch systems after running archinstall and to keep it updated. A network connection is expected to be working with the target system.
When running the playbooks to configure a system remotely, network routing has to work between the computers and the ansible host running them has to have the ability to SSH to the target machine.
- Install ssh server on the target:
sudo pacman -S openssh
, if not already installed. - Start (and enable) the SSH server with
sudo systemctl start sshd
. - Import SSH key to the target with
ssh-copy-id
to not have to input the password all the time. - Install python on the target:
sudo pacman -S python
. - Add the hostname defined in the used inventory on the running computer in
~/.ssh/config
. It should have the normal user and not root. - Create a new vars file for the target system.
- Sync the
./secrets
folder. - Install yay Ansible library:
ansible-galaxy collection install kewlfft.aur
.
Example command:
ansible-playbook --vault-password-file=secrets/ansible_vault_password -i inventory --extra-vars=@vars/huron.yml playbooks/01-packages.yml
It includes the Ansible vault password to decrypt all encrypted variables like passwords used in environment files. Also wireguard configurations are stored there.
It should be synced inside the repository to all devices with Syncthing which run any playbooks.
Metadata should be stripped before committing images to the repository. On Arch perl-image-exiftool
has to be installed before running.
Remove metadata by overwriting all image files here:
exiftool -overwrite_original -recurse -all= ./wallpapers
A python module is probably missing, install it with sudo pacman -S python-pexpect
.