Unfree software: Difference between revisions
m
Tomodachi94 moved page Unfree Software to Unfree software: use sentance case
(General improvements) |
Tomodachi94 (talk | contribs) m (Tomodachi94 moved page Unfree Software to Unfree software: use sentance case) |
||
(9 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
'''Unfree software''', sometimes called '''nonfree software''', is software that cannot be freely modified or distributed. [[Nixpkgs]] provides packages for unfree software, but additional configuration is required before they can be used. | |||
=== Per-package ( | == Using unfree packages == | ||
This method works for NixOS system level configuration and Home | === Per-package (preferred) === | ||
This method works for both NixOS system level configuration and [[Home Manager]]: | |||
< | {{file|/etc/nixos/configuration.nix|nix|<nowiki> | ||
{ | |||
nixpkgs.config.allowUnfreePredicate = pkg: | nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ | ||
"vscode" | |||
]; | |||
} | } | ||
</ | |||
</nowiki>}} | |||
=== For all packages === | === For all packages === | ||
This method works for NixOS system | This method works for both NixOS system level configuration and [[Home Manager]]: | ||
{{file|/etc/nixos/configuration.nix|nix|<nowiki> | {{file|/etc/nixos/configuration.nix|nix|<nowiki> | ||
Line 24: | Line 24: | ||
</nowiki>}} | </nowiki>}} | ||
=== Command | === 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 30: | ||
{{file|~/.config/nixpkgs/config.nix|nix|<nowiki> | {{file|~/.config/nixpkgs/config.nix|nix|<nowiki> | ||
{ | { | ||
allowUnfree = true; | |||
} | } | ||
</nowiki>}} | </nowiki>}} | ||
=== | === Temporarily allowing === | ||
For temporary allowing unfree packages, you can use an environment variable: | For temporary allowing unfree packages, you can use an environment variable: | ||
Line 45: | Line 45: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
$ NIXPKGS_ALLOW_UNFREE=1 nix run --impure | $ NIXPKGS_ALLOW_UNFREE=1 nix run nixpkgs#vscode --impure | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | == Hydra == | ||
[[Hydra]] does not build unfree software, and unfree software is unavailable in <code>cache.nixos.org</code>. | |||
== See also == | |||
* [https://nixos.org/nixpkgs/manual/#sec-allow-unfree Nixpkgs manual on allowing unfree packages] | |||
[[Category:Software]] | |||