# Unfree software

All users of Nixpkgs are free software users, and many users (and developers) of Nixpkgs want to limit and tightly control their exposure to unfree software. At the same time, many users need (or want) to run some specific pieces of proprietary software. Nixpkgs includes some expressions for unfree software packages. By default unfree software cannot be installed and doesn’t show up in searches. To allow installing unfree software in a single Nix invocation one can export `NIXPKGS_ALLOW_UNFREE=1`. For a persistent solution, users can set `allowUnfree` in the Nixpkgs configuration.

Fine-grained control is possible by defining `allowUnfreePredicate` function in config; it takes the `mkDerivation` parameter attrset and returns `true` for unfree packages that should be allowed.