This is one way of managing your user profile declaratively.
Alternatives include:
- an attrset-based
nix-env-based environment, installed usingnix-env -irrather thannix-env --set. LnL has an overlay which shows a way of doing this. - home-manager, which provides NixOS-like config for your
$HOME
Note that this is incompatible with regular imperative use of nix-env, e.g. nix-env -iA nixpkgs.hello. It has the advantage of allowing the installation of multiple outputs of the same package much better than nix-env's builtin profile builder does.