Nix 'n' flakes

Makes keeping track of personal software (and rolling back when needed) a breeze.

Here are the steps I stick to now:

Step 1: edit flake

$ nvim flake.nix

Add whatever packages I want

Step 2: update + install

(git path elided)

$ nix flake update
warning: Git tree '...' is dirty
$ nix profile install .#myProfile
warning: Git tree '...' is dirty

Step 3: Verify

$ which kubectl
/home/agam/.nix-profile/bin/kubectl

After sampling various approaches over the years, this is the best so far.

As an example, my current "personal" flake.nix is here