Unfree software: Difference between revisions

From NixOS Wiki
Sdht0 (talk | contribs)
Update code
Sdht0 (talk | contribs)
Remove blank lines. Annoying.
Line 12: Line 12:


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


Line 22: Line 21:
}
}
</nowiki>}}
</nowiki>}}
=== Command Line ===
=== Command Line ===


Line 32: Line 30:
}
}
</nowiki>}}
</nowiki>}}
=== Temporary allowing ===
=== Temporary allowing ===


Line 46: Line 43:
$ NIXPKGS_ALLOW_UNFREE=1 nix run --impure "nixpkgs#vscode"
$ NIXPKGS_ALLOW_UNFREE=1 nix run --impure "nixpkgs#vscode"
</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]

Revision as of 18:53, 6 April 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 standalone Home manager:

/etc/nixos/configuration.nix
{
  allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
    "vscode"
  ];
}

For all packages

This method works for NixOS system-level configuration:

/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
{
  nixpkgs.config.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 --impure "nixpkgs#vscode"

See also