Unfree software: Difference between revisions

From NixOS Wiki
(Added missing `nixpkgs.config.` prefix for proper scoping.)
m (fix heading levels)
Line 1: Line 1:
Hydra does not test or build unfree software by policy. Most unfree licenses have restrictions on software distribution.
Hydra does not test or build unfree software by policy. Most unfree licenses have restrictions on software distribution.


=== Per-package (Ideal) ===
== Per-package (Ideal) ==
This method works for both NixOS system level configuration and [[Home manager]]:
This method works for both NixOS system level configuration and [[Home manager]]:


Line 12: Line 12:


</nowiki>}}
</nowiki>}}
=== For all packages ===
== For all packages ==


This method works for both NixOS system level configuration and [[Home manager]]:
This method works for both NixOS system level configuration and [[Home manager]]:
Line 21: Line 21:
}
}
</nowiki>}}
</nowiki>}}
=== Command Line ===
 
== Command Line ==


You won't be able to install or search for an unfree package as a user unless you explicitly enable it:
You won't be able to install or search for an unfree package as a user unless you explicitly enable it:
Line 30: Line 31:
}
}
</nowiki>}}
</nowiki>}}
=== Temporary allowing ===
 
== Temporary allowing ==


For temporary allowing unfree packages, you can use an environment variable:
For temporary allowing unfree packages, you can use an environment variable:
Line 43: Line 45:
$ NIXPKGS_ALLOW_UNFREE=1 nix run nixpkgs#vscode --impure
$ NIXPKGS_ALLOW_UNFREE=1 nix run nixpkgs#vscode --impure
</syntaxhighlight>
</syntaxhighlight>
=== See also ===
 
== See also ==


* [https://nixos.org/nixpkgs/manual/#sec-allow-unfree Nixpkgs manual#Installing unfree packages]
* [https://nixos.org/nixpkgs/manual/#sec-allow-unfree Nixpkgs manual#Installing unfree packages]


[[Category:Software]]
[[Category:Software]]

Revision as of 05:46, 21 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

See also