filter_plugins | ||
group_vars | ||
requirements | ||
roles | ||
.ansible-lint | ||
.gitignore | ||
ansible.cfg | ||
inventory.toml | ||
LICENSE | ||
README.md | ||
setup.yml | ||
TODO.md |
Sysconfig
This is an Ansible playbook to deploy my system configurations for desktop usage.
🧰 Usage
-
Have a fresh installation of Alpine (after running
setup-alpine
and reboot) -
Install
ansible-core
andgit
-
Clone this repository
-
Install needed external modules (e.g.
apk
,pamd
,mount
):ansible-galaxy install -r requirements/collections.yml
-
Create an encrypted file to store your user password:
mkdir -p host_vars/YOUR_HOSTNAME touch host_vars/YOUR_HOSTNAME/secrets.yml ansible-vault encrypt host_vars/YOUR_HOSTNAME/secrets.yml ansible-vault edit host_vars/YOUR_HOSTNAME/secrets.yml
The file should look like this:
vault_password: <strong_&_secure_password>
-
Customize the variables in group_vars/all.yml.
Note that some variables only accept a list of defined values. They are listed in requirements/accepted_variables.yml.
-
Run the playbook:
ansible-playbook setup.yml
-
Reboot and login as the newly created normal user
-
Proceed with dotfiles-ansible playbook
🖊️ Notes
-
This playbook assumes that the person running it is me 😃 and targets a single-user AlpineLinux system. It might do specific tasks that you don't like. Use with your own risks.
-
The playbook assumes it's only run once. As such it doesn't take into account conflicted services when switching options in later runs.
-
The playbook is intended to be run as root. Hence, it is separated from dotfiles-ansible, which should only be run as a normal user.
📄 License
MIT