Unfree software: Difference between revisions
allowUnfree works in home-manager post issue #2942 |
Added missing `nixpkgs.config.` prefix for proper scoping. |
||
Line 6: | Line 6: | ||
{{file|/etc/nixos/configuration.nix|nix|<nowiki> | {{file|/etc/nixos/configuration.nix|nix|<nowiki> | ||
{ | { | ||
allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ | nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ | ||
"vscode" | "vscode" | ||
]; | ]; |
Revision as of 11:40, 17 June 2024
Hydra does not test or build unfree software by policy. Most unfree licenses have restrictions on software distribution.
Per-package (Ideal)
This method works for both NixOS system level configuration and Home manager:
/etc/nixos/configuration.nix
{
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"vscode"
];
}
For all packages
This method works for both NixOS system level configuration and Home manager:
/etc/nixos/configuration.nix
{
nixpkgs.config.allowUnfree = true;
}
Command Line
You won't be able to install or search for an unfree package as a user unless you explicitly enable it:
~/.config/nixpkgs/config.nix
{
allowUnfree = true;
}
Temporary allowing
For temporary allowing unfree packages, you can use an environment variable:
$ NIXPKGS_ALLOW_UNFREE=1 nix-shell -p vscode
Note for the new nix3-style commands, you need to pass --impure
as well:
$ NIXPKGS_ALLOW_UNFREE=1 nix run nixpkgs#vscode --impure