3 ms·
I also use Nix, with sets of packages managed by git. I use four "levels": - System-wide packages, systemd services, users, cronjobs, etc. are managed by /etc/
by chriswarbo 10y ago
I also use Nix, with sets of packages managed by git. I use four "levels":
- System-wide packages, systemd services, users, cronjobs, etc. are managed by /etc/nixos/configuration.nix
- My user profile has one package installed, which depends on all of the tools I want to be generally available (emacs, firefox, etc.). By using a single meta-package like this, I can manage it using git and it makes updates/rollbacks easier
- Each project I work on maintains its own lists of dependencies (either directly in a .nix file, or converted automatically from other formats like .cabal), which are brought into scope by nix-shell
- I also have a bunch of scripts which use nix-shell shebangs, so their dependencies are fetched when invoked, and available for garbage collection once they're finished