⟰ Some NixOS Notes
⟸ Packages and Derivations
⟹
home-manager
for User Configurationhome-manager
provides a set of modules for managing user-specific packages and configuration. It can be installed as a NixOS module to be integrated into the normal system configuration, or by the user to be configured independently.
nix-env
Considered Harmfulnix-env
manipulates user environments, which are sets of packages currently available to the user.
Each generation of a user environment is no less reproducible than any other system configuration. However, the experience of using nix-env
feels to me like a devolution to the ad-hoc package management found in the package managers for any other distro: it makes packages passively available in your environment without an obvious declarative configuration.
If you want a temporary environment with some packages, you have nix-shell -p
. If you want packages available permanently, you have users.users.<name>.packages
or home-manager
’s home.packages
.
note: If you’re using Nix apart from NixOS and you just intend to use it like you would a traditional package manager, this does not necessarily apply.