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.nixAdd 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 dirtyStep 3: Verify
$ which kubectl
/home/agam/.nix-profile/bin/kubectlAfter sampling various approaches over the years, this is the best so far.
As an example, my current "personal" flake.nix is here