This README contains important information; please it in its entirety before running the playbook.
This ansible playbook aims to:
- Harden Linux.
- Optimize system performance.
- Installing some useful packages.
- Set up an environment that I like.
Its scripts, functions, aliases and packages are ones that I find useful and enjoy having on any machine I regularly use.
While the repository is intended to be portable across Linux distributions, this should not be assumed. Distros I use with regularity include Debian/Ubuntu, Fedora, and Arch and are supported by this repository.
ansible
ansible-playbook
This playbook consists of four roles:
Further information on each roles' tasks can be found in the corresponding directory's README.md.
This playbook makes significant changes to kernel, grub, sysctl, filesystem modes, system services. It also removes system crash reporters and enables unattended upgrades for security packages only.
Read and understand the tasks before running. Similarly: don't hold a lit firework in your hand, wait an hour after eating to go swimming, and wear your sunscreen.
Presently the smallest role. Enables the fstrim timer, IO schedulers, some other stuff. RTFM.
The largest role in this playbook, and the least relevant for people who are not me. This role sets up my preferred user environments and dotfiles for Bash, Git, GnuPG, Gnu Screen, SSH, Vim, etc, as well as installing my own CA certificates, and removing Snap.
Run:
ansible-playbook -K main.yml
You will be prompted for your local user password (Ansible calls this the "BECOME" password as it's needed to "become" root), after which the playbook will run.