From a "fresh" install of Ubuntu Server/Ubuntu MATE 20.04, this will let me set up my box the way I want to.
You'll want to install one of the two distros above, and then run:
git clone https://github.com/jws85/Dotfiles
~/Dotfiles/provision LEVEL
LEVEL
can be (the below refer to Ansible roles):
server
:base
,kvm
, anddocker
build
:base
andbuild
min-desktop
:base
,desktop
, andgnome
dev-desktop
: Everything inmin-desktop
+build
+docker
+emacs
+mpd
full-desktop
: Everything indev-desktop
+games
+kvm
On subsequent runs, LEVEL
can be omitted.
The Ansible playbook names are self-explanatory.
If you install one of the desktop playbooks, it'll set up i3
and
friends.
Because this is all implemented as one big Ansible setup, there is a hard requirement for Ansible, though I really need to investigate using its capability to install stuff remotely...
I installed Pop_OS sometime in 2020 at a point where I was happily hacking away on a reasonably recent laptop (an X260).
A little prior to Christmas 2020, my X260 started experiencing GPU failures, and all I had on hand at the time was... a Raspberry Pi 4. Pop_OS isn't even intended for non-x86_64 architectures. I ended up flashing an Ubuntu Server image and plopping my old i3 configs in place.
Moreover... I am increasingly interested in computer environments that are
- simple and clean
- performant
- can run on low-power boxen like a Raspberry Pi
i3 fits this all a lot better! However, I've historically done a lot of desktop environment jumping, and I'm sure it'll happen again... I hope not...
I found a guide that used Ansible, and honestly I wanted to learn a system automation tool at some point.
Ansible generally works well, but I have run into glitches sometimes
as can be expected by a tool that essentially has to do 'everything.'
It's also pretty heavy -- a big Python app. Right now I'm installing
it inside of a pipx
virtualenv, so at least it's not totally
infecting my installs!
I briefly looked into replacing Ansible with Makefiles
or with bash
scripts and realized that I was losing out on a lot of
functionality and work that was "already done for me."
It's my personal config, expect everything to be always broken.