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 4dcca81110
fstab: add switch to enable/disable efivarfs mount
Don't use noefi kernel parameter here as we want to switch on the fly
2022-08-21 15:48:37 +07:00
filter_plugins Tons of cool things 2022-06-20 01:29:26 +07:00
group_vars fstab: add switch to enable/disable efivarfs mount 2022-08-21 15:48:37 +07:00
requirements Tons of cool things 2022-06-20 01:29:26 +07:00
roles fstab: add switch to enable/disable efivarfs mount 2022-08-21 15:48:37 +07:00
.gitignore Tons of cool things 2022-06-20 01:29:26 +07:00
LICENSE Big chunk of changes 2022-02-12 00:56:39 +07:00
README.md dns: update resolvconf command path 2022-07-04 00:31:01 +07:00
Vagrantfile Yep yep 2022-04-17 19:02:21 +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
setup.yml Move hardcoded variable use_polkit to main playbook 2022-08-18 19:56:44 +07:00

README.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 and git

  • Install needed external modules (e.g. apk, pamd, mount):

    ansible-galaxy collection install -r requirements/collections.yml
    
  • 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
vagrant up

# ssh into the VM (OpenSSH is required)
# Alternatively run 'vagrant ssh-config' to get the machine's 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
  • /etc/security/access.conf (maybe?)
  • snapper / btrbk (rootfs=btrfs)
  • auditd

📄 License

MIT