Unfree software: Difference between revisions
imported>Hypnosis2839 m formatting |
imported>Gerg-L No edit summary |
||
Line 18: | Line 18: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
The previous method '''should''' work for Home-Manager standalone | The previous method '''should''' work for Home-Manager standalone | ||
If you're on the master branch update past this [https://github.com/nix-community/home-manager/commit/b2a2133c9a0b0aa4d06d72b5891275f263ee08df commit] | |||
the work-around is using: | on home-manager 23.05 the work-around is using: | ||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
{ | { |
Revision as of 22:01, 9 October 2023
Per-package (Ideal)
This method works for NixOS system level configuration and Home-Manager standalone
{lib, ...}: {
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
# Add additional package names here
"hello-unfree"
];
}
For all packages
This method works for NixOS system level configuration
{
nixpkgs.config.allowUnfree = true;
}
The previous method should work for Home-Manager standalone If you're on the master branch update past this commit on home-manager 23.05 the work-around is using:
{
nixpkgs.config.allowUnfreePredicate = _: true;
}
Command Line
You won't be able to install or search for an unfree package as a user, unless you explicitly enable it in ~/.config/nixpkgs/config.nix
(the file and folder may need to be created):
{
allowUnfree = true;
}
Temporary allowing
For temporary allowing unfree packages you can set the environment variable NIXPKGS_ALLOW_UNFREE
, e.g.
$ NIXPKGS_ALLOW_UNFREE=1 nix-shell
Note for nix3 commands you need to pass --impure
as well
More precision
For whitelisting only specific unfree licenses see the "Installing unfree packages" section of the Nixpkgs manual.
Note that we are not able to test or build unfree software on Hydra due to policy. Most unfree licenses prohibit us from either executing or distributing the software.