This README contains important information; please it in its entirety before running the playbook.
These Ansible roles aim to harden Linux, improve system performance, and set up my preferred user environment.
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. I only use Debian, Ubuntu, and Arch with regularity and they are supported by this repository.
ansibleansible-playbook
This playbook consists of four collections:
Further information on each collection's roles can be found in the corresponding directory's README.
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 configuration files for Bash, Git, GnuPG, Gnu Screen, SSH, Vim, etc, as well as installing my own certificate authority, and removing Snap.
NB: If you intend to use this role, first ensure that the git submodules are initialized and up-to-date.
Roles:
bash. Configuresbashto my preference.dotfiles. Loads my dotfiles.filesystem. Sets up my home directory.git. Configuresgitto my liking.gnupg. Configuresgnupg. Loads pubkeys, agent config, etc.packages. Installs system packages I like to have.screen. Configures Gnuscreento my preference.scripts. Installs personal scripts (sh/python).ssh. Sets up~/.ssh/.vim. Configuresvimto my preference.
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.
Roles:
auditddefaultdenydisablecrashreportersfail2banfaillockkernellocalfirewallpasswordsprivilegeescalationsshulimitunattendedupgrades
Presently the smallest role. Enables the fstrim timer, IO schedulers.
Roles:
filesystemioscheduler