Declarative Package ManagementWith declarative package management, you specify which packages
you want on your system by setting the option
. For instance, adding the
following line to configuration.nix enables the
Mozilla Thunderbird email application:
environment.systemPackages = [ pkgs.thunderbird ];
The effect of this specification is that the Thunderbird package from
Nixpkgs will be built or downloaded as part of the system when you run
nixos-rebuild switch.You can get a list of the available packages as follows:
$ nix-env -qaP '*' --description
nixos.firefox firefox-23.0 Mozilla Firefox - the browser, reloaded
...
The first column in the output is the attribute
name, such as
nixos.thunderbird. (The
nixos prefix allows distinguishing between
different channels that you might have.)To “uninstall” a package, simply remove it from
and run
nixos-rebuild switch.