System config for the desktop
This repository has been archived on 2024-02-16. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Hoang Nguyen 9796d5beb0
Add Vagrantfile for testing
Also fix some edge cases when testing
2022-02-27 19:20:25 +07:00
group_vars Add Vagrantfile for testing 2022-02-27 19:20:25 +07:00
roles Add Vagrantfile for testing 2022-02-27 19:20:25 +07:00
.gitignore Add Vagrantfile for testing 2022-02-27 19:20:25 +07:00
ansible.cfg Getting started 2022-01-15 01:46:59 +07:00
hosts Getting started 2022-01-15 01:46:59 +07:00
LICENSE Big chunk of changes 2022-02-12 00:56:39 +07:00
README.md Add Vagrantfile for testing 2022-02-27 19:20:25 +07:00
setup.yml Add acpi events 2022-02-17 11:48:37 +07:00
Vagrantfile Add Vagrantfile for testing 2022-02-27 19:20:25 +07:00

System configurations

This is an Ansible playbook to deploy system configurations for desktop usage.

🧰 Usage

  • Have a fresh installation of Alpine (after running setup-alpine and reboot)

  • Install ansible and git

  • Clone this repository

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

  • Run the playbook:

    ansible-playbook setup.yml
    
  • Reboot and login as the newly created normal user

  • Proceed with dotfiles-ansible playbook

✔️ Testing

# Start the VM and ssh into it
vagrant up

# ssh into the VM (requires OpenSSH)
# Alternatively run 'vagrant ssh-config' to get the machine IP address
# and manually ssh into it, e.g. 'dbclient -y vagrant@<ip_address>'
vagrant ssh

# Run the playbook as root
cd /vagrant
sudo ansible-playbook -v setup.yml

🖊️ Notes

  • This playbook assumes that the person running it is me 😃. It might do specific tasks that you don't like. Use with your own risks.

  • The playbook is intended to be run as root. It is separated from dotfiles-ansible, which should only be run as a normal user.

TODO

  • ZFS on root
  • EFI secure boot
  • libudev-zero
  • ACPI events
  • Better way to handle libvirt's firewall rules (currently hardcoded)
  • /etc/security/access.conf (maybe)
  • snapper/btrbk (rootfs=btrfs)

📄 License

MIT