Unfree software
Unfree software refers to software that has restrictive licensing on modification and/or redistribution. This type of software cannot be freely provided or distributed in an official capacity, which means that unfree software is neither built by Hydra, nor cached on the official binary cache. Despite this, Nixpkgs offers a very large collection of unfree software as derivations, however they cannot be used by default without configuring Nixpkgs and opting in to unfree software usage.
Nixpkgs manual on allowing unfree packages
Allowing unfree software
By default, nix will refuse to evaluate any derivation containing unfree software, prompting the user to read the manual for more details. This behaviour can be configured in different ways depending on the context of the derivation.
Unfree software using Home Manager
Depending on your Home Manager installation, there are multiple ways to allow unfree software.
Standalone Home Manager
If your Home Manager configuration isn't integrated into your NixOS configuration (i.e. you switch generations using home-manager switch
and not by rebuilding the whole system), then you may allow unfree software by setting the nixpkgs option in your config:
{ ... }:
{
...
nixpkgs.config.allowUnfree = true;
}