nix
¶
Work with Nix packages¶
Does not require the machine to be NixOS, just have Nix installed and available
to use for the user running this command. Their profile must be located in
their home, under $HOME/.nix-profile/
, and the nix store, unless specially
set up, should be in /nix
. To easily use this with multiple users or a root
user, set up the nix-daemon.
This module exposes most of the common nix operations.
Currently not meant to be run as a pkg
module, but explicitly as nix.*
.
For more information on nix, see the nix documentation.
- saltext.nix.modules.nix.upgrade(*pkgs)[source]¶
Runs an update operation on the specified packages, or all packages if none is specified.
- Parameters:
- Returns:
The upgraded packages. Example element:
['libxslt-1.1.0', 'libxslt-1.1.10']
- Return type:
CLI Example:
salt '*' nix.update salt '*' nix.update pkgs=one,two
- saltext.nix.modules.nix.install(*pkgs, **kwargs)[source]¶
Installs a single or multiple packages via nix
- Parameters:
- Returns:
Installed packages. Example element:
gcc-3.3.2
- Return type:
CLI Example:
salt '*' nix.install package [package2 ...] salt '*' nix.install attributes=True attr.name [attr.name2 ...]
- saltext.nix.modules.nix.list_pkgs(installed=True, attributes=True)[source]¶
Lists installed packages. Due to how nix works, it defaults to just doing a
nix-env -q
.- Parameters:
- Returns:
Packages installed or available, along with their attributes.
- Return type:
CLI Example:
salt '*' nix.list_pkgs salt '*' nix.list_pkgs installed=False
- saltext.nix.modules.nix.uninstall(*pkgs)[source]¶
Erases a package from the current nix profile. Nix uninstalls work differently than other package managers, and the symlinks in the profile are removed, while the actual package remains. There is also a
nix.purge
function, to clear the package cache of unused packages.- Parameters:
- Returns:
Packages that have been uninstalled
- Return type:
CLI Example:
salt '*' nix.uninstall pkg1 [pkg2 ...]
- saltext.nix.modules.nix.collect_garbage()[source]¶
Completely removed all currently ‘uninstalled’ packages in the nix store.
Tells the user how many store paths were removed and how much space was freed.
- Returns:
How much space was freed and how many derivations were removed
- Return type:
Warning
This is a destructive action on the nix store.
CLI Example:
salt '*' nix.collect_garbage