{ lib | |
, config | |
, ... | |
}: | |
let | |
allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) config.internal.allowUnfree; | |
in | |
{ | |
options.internal.allowUnfree = with lib; | |
mkOption { | |
type = types.listOf types.str; | |
default = [ ]; | |
description = "Unfree packages to permit installing via the AllowUnfreePredicate"; | |
}; | |
config = { | |
environment.variables = { | |
NIXPKGS_ALLOW_UNFREE = "1"; | |
}; | |
nixpkgs.config.allowUnfreePredicate = allowUnfreePredicate; | |
}; | |
} |