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 62f28a2c92
cron: add scrub and trim jobs for btrfs/zfs
No longer depend on `rootfs` variable.
2023-06-20 00:00:00 +07:00
filter_plugins networking: add IPv6 stable privacy address 2023-04-22 00:00:00 +07:00
group_vars snapshot: add cron for btrbk 2023-06-18 00:00:00 +07:00
requirements cron: add scrub and trim jobs for btrfs/zfs 2023-06-20 00:00:00 +07:00
roles cron: add scrub and trim jobs for btrfs/zfs 2023-06-20 00:00:00 +07:00
.ansible-lint snapshot: add new role with 'snapper' option 2023-06-16 00:00:00 +07:00
.gitignore
LICENSE
README.md Add 'ntpd' and 'auditd' roles 2023-04-06 00:00:00 +07:00
TODO.md cron: add scrub and trim jobs for btrfs/zfs 2023-06-20 00:00:00 +07:00
ansible.cfg Add PAM config for base-session 2023-04-01 00:00:00 +07:00
inventory.toml Add PAM config for base-session 2023-04-01 00:00:00 +07:00
setup.yml cron: add scrub and trim jobs for btrfs/zfs 2023-06-20 00:00:00 +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

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