This is my personal crib-sheet for setting up a new system.
Contained is a mostly-automated full setup for a developer desktop running Ubuntu. Provided is an idempotent 'run-setup' script that will do the majority of the setup. Also in this README are a few additional notes for things to install and/or configure.
ssh-keygen -t ed25519
# Add SSH key to github.com
sudo apt install -y git
mkdir ~/work/
cd ~/work/
git clone [email protected]:DanVanAtta/linux_setup.git
cd linux_setup/
./run-setup
The following are installed/configured:
- Grub boot menu will always be displayed on boot (5s timeout)
- Security hardening configs
- Git:
- sets up git username & email
- add git config file with defaults & settings
- SCM Breeze
- Docker: install sudo-less docker (requires machine reboot)
- DNS: adds DNS blacklist which maps advertising and tracking hosts to '0.0.0.0'
- Apt: installs a lot of packages, eg: clamav, zip, shellcheck
- VIM: deploys vimrc file
- Apps:
- Brave
- Intellij (ultimate)
- Steam
- Boiler plate directories, eg: ~/Documents
- apparmor
- firefox
- set up keyboard shortcuts
- yed
git clone [email protected]:DanVanAtta/git_tools.git ~/.git_tools
## add to path
grep -q 'git_tools' ~/.bashrc \
|| (TOOL_HOME=~/.git_tools \
&& echo -n 'PATH=$PATH:' >> ~/.bashrc \
&& echo "$TOOL_HOME" >> ~/.bashrc)