| group_vars | ||
| roles | ||
| INSTALL.md | ||
| localhost | ||
| playbook.yml | ||
| README.md | ||
Spark
Spark is an Ansible playbook meant to provision a personal machine running Arch Linux. It is intended to run locally on a fresh Arch install (ie, taking the place of any post-installation), but due to Ansible's idempotent nature it may also be run on top of an already configured machine.
Spark assumes it will be run on a laptop -- specifically, a ThinkPad -- and
performs some configuration based on this assumption. This behaviour may be
changed by removing the laptop and/or thinkpad role from the playbook, as
appropriate.
Running
First, sync mirrors and install Ansible.
$ pacman -Syy python2-passlib ansible
Ansible will attempt to install the private SSH key for the user. The key
should be available at the path specified in the ssh.user_key variable.
Run the playbook as root.
# ansible-playbook -i localhost playbook.yml
When run, Ansible will prompt for the user password. This only needs to be provided on the first run when the user is being created. On later runs, providing any password -- whether the current user password or a new one -- will have no effect.
Tagging
All tasks are tagged with their role, allowing them to be skipped by tag in
addition to modifying playbook.yml. For instance, a system could be built
excluding the entire media role and the dotfiles section of the base
role.
# ansible-playbook -i localhost playbook.yml --skip-tags "media,dotfiles"
AUR
All tasks involving the AUR are tagged aur. To provision an AUR-free
system, pass this tag to ansible's --skip-tag.
AUR packages will be downloaded via cower and installed with makepkg.
It is assumed that the user will want to use an AUR helper after the
system has been provisioned, so whatever package is defined in aur.helper
will be installed. This helper will not be used during any of the
provisioning.
Known Issues
- tpfanco, normally installed as part of the
thinkpadrole is currently unavailable in the AUR. No ThinkPad fan control software is currently installed. - gpxpy, normally installed as part of the
mappingrole is currently unavailable in the AUR.