nixpkgs/nixos/doc/manual/configuration/declarative-packages.xml

47 lines
1.8 KiB
XML
Raw Normal View History

<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="sec-declarative-package-mgmt">
2018-05-01 23:57:09 +00:00
<title>Declarative Package Management</title>
<para>
With declarative package management, you specify which packages you want on
your system by setting the option
<xref linkend="opt-environment.systemPackages"/>. For instance, adding the
following line to <filename>configuration.nix</filename> enables the Mozilla
Thunderbird email application:
<programlisting>
2018-04-05 08:43:56 +00:00
<xref linkend="opt-environment.systemPackages"/> = [ pkgs.thunderbird ];
</programlisting>
The <literal>pkgs</literal> variable is used to reference packages in your
root channel. The effect of this specification is that the Thunderbird
package from your root Nixpkgs channel will be built or downloaded as part of
the system when you run <command>nixos-rebuild switch</command>.
2018-05-01 23:57:09 +00:00
</para>
2018-05-01 23:57:09 +00:00
<para>
You can get a list of the available packages as follows:
<screen>
$ nix-env -qaP '*' --description
nixos.firefox firefox-23.0 Mozilla Firefox - the browser, reloaded
<replaceable>...</replaceable>
</screen>
2018-05-01 23:57:09 +00:00
The first column in the output is the <emphasis>attribute name</emphasis>,
such as <literal>nixos.thunderbird</literal>. The <literal>nixos</literal>
prefix tells us that we want to get the package from the `nixos` channel.
Some systems have other channels installed, such as `nixpkgs` or custom
channels for development purposes.
2018-05-01 23:57:09 +00:00
</para>
2018-05-01 23:57:09 +00:00
<para>
To “uninstall” a package, simply remove it from
<xref linkend="opt-environment.systemPackages"/> and run
<command>nixos-rebuild switch</command>.
</para>
2018-05-01 23:57:09 +00:00
<xi:include href="customizing-packages.xml" />
2018-05-01 23:57:09 +00:00
<xi:include href="adding-custom-packages.xml" />
</section>