Jump to content

Unfree software: Difference between revisions

m
Tomodachi94 moved page Unfree Software to Unfree software: use sentance case
(General improvements)
m (Tomodachi94 moved page Unfree Software to Unfree software: use sentance case)
 
(9 intermediate revisions by 5 users not shown)
Line 1: Line 1:
Hydra does not test or build unfree software by policy. Most unfree licenses have restrictions on software distribution.
'''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 (Ideal) ===
== Using unfree packages ==
This method works for NixOS system level configuration and Home-Manager standalone
=== Per-package (preferred) ===
This method works for both NixOS system level configuration and [[Home Manager]]:


<syntaxhighlight lang="nix">
{{file|/etc/nixos/configuration.nix|nix|<nowiki>
{lib, ...}: {
{
   nixpkgs.config.allowUnfreePredicate = pkg:
   nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
    builtins.elem (lib.getName pkg) [
    "vscode"
      # Add additional package names here
  ];
      "hello-unfree"
    ];
}
}
</syntaxhighlight>
 
</nowiki>}}


=== For all packages ===
=== For all packages ===


This method works for NixOS system-level configuration:
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 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 30:
{{file|~/.config/nixpkgs/config.nix|nix|<nowiki>
{{file|~/.config/nixpkgs/config.nix|nix|<nowiki>
{
{
   nixpkgs.config.allowUnfree = true;
   allowUnfree = true;
}
}
</nowiki>}}
</nowiki>}}


=== Temporary allowing ===
=== 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#vscode"
$ NIXPKGS_ALLOW_UNFREE=1 nix run nixpkgs#vscode --impure
</syntaxhighlight>
</syntaxhighlight>


=== More precision ===
== 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]


For whitelisting '''only specific''' unfree licenses
[[Category:Software]]
see the [https://nixos.org/nixpkgs/manual/#sec-allow-unfree "Installing unfree packages" section]
of the Nixpkgs manual.
134

edits