Laptop: kobol
Setup, configuration and documentation for my local Ubuntu workstation following an infrastructure as code approach.
Requirements Overview
-
Setup my local workstation with minimal manual interactions.
-
Add or update packages without any risk → avoid having to repair broken installations (dumping the broken setup and reverting to a working one is preferred).
-
Test the setup regularly (automated) to ensure a new installation from scratch will work.
Quality Goals
-
The whole setup of my local workstation, all my Vagrantboxes and all my Docker images is Infrastructure as Code.
-
Software installations through the classic package managers like
apt
should be avoided. As much as possible should run inside docker containers. This is true for the host machine as well as Vagrantboxes.
Building Block View / Whitebox Overall System
Install
Download and install a fresh Ubuntu from an iso image:
-
Download iso image from https://ubuntu.com/download/desktop
-
Create bootable USB stick using the application "Startup Disk Creator" (shipped with Ubuntu) or some other software like Etcher
-
Install the OS on the machine
Once the basic OS is installed, perform the following steps on your machine:
-
Choose NVIDIA graphics driver from "Additional Drivers"
-
Enable Dark Mode
-
Setup three monitors, Dock position and icon size, add favourite applications to Dock
-
Login to Firefox Sync
-
Adjust wokspaces behavior in Settings > Multitasking (Workspaces on all displays)
-
Setup Deja Dup Backup folder to "/media/sebastian/USB-1TB/.kobol-backups/deja-dup
-
Run setup from infrastructure repository
-
Install git using
sudo apt-get install -y git
and create foldermkdir -p ~/work/repos/sebastian-sommerfeld-io
-
Clone repository (
git clone https://github.com/sebastian-sommerfeld-io/infrastructure.git
) to~/work/repos/sebastian-sommerfeld-io
-
Run
src/main/workstations/kobol/provision/10-configure.sh
→ Basic configuration and .bashrc settings -
Run
src/main/workstations/kobol/provision/20-install.sh
→ Install software packages -
Run
src/main/workstations/kobol/provision/21-install-intellij.sh
→ Install IntelliJ -
Run
src/main/workstations/kobol/provision/90-start-services.sh
→ Start basic services and docker containers which are always running
-
-
Add
~/work
,~/temp
and~/virtualmachines
to favourites (in File Manager) -
Update file associations in Settings > Applications > Sublime Text
-
Clone repositories
-
-
Enable Auto-Export for Firefox bookmarks
-
Import existing Virtualbox VMs
Steam Setup for Windows Games on Linux
-
Install Steam
-
Enable the Steam Beta Client: Go to Steam → Settings and (in the account tab) click change in the Steam Beta Update and click on Steam Beta Update
-
Enable Steam Play for all games: Go to Settings → Steam Play Tab and click "Enable Steam Play for all titles"
-
Install the respective games