Bootstrapping a Daily Driver Linux Environment with Ansible

The playbook aims to:
- Harden Linux.
- Optimize system performance.
- Installing some useful packages.
- Set up an environment that I like.
To achieve this, the playbook consists of four roles. Respectively:
securityperformance_tweaksenvironment
Playbook Roles
Security
This playbook makes significant changes to kernel, grub, sysctl, filesystem modes, system services, based on the Center for Internet Security’s Linux Benchmarks. Not all benchmarks are implemented, though parity remains the end-goal.
The playbook also disables system crash reporters and enables unattended upgrades for security packages only.
Performance Tweaks
Presently the smallest role. Enables the fstrim timer, IO schedulers, some other stuff. RTFM.
Environment
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.
It modifies the ${PATH} environment variable to include my personal scripts
directories and removes Snap (on Ubuntu systems).