18 lines
488 B
Nix
18 lines
488 B
Nix
{ lib, config, ... }:
|
|
let
|
|
inherit (builtins) elem;
|
|
inherit (lib.options) mkOption;
|
|
inherit (lib.strings) getName;
|
|
inherit (lib.types) listOf str;
|
|
predicate = pkg: elem (getName pkg) config.allowedUnfreePackages;
|
|
in
|
|
{
|
|
options.allowedUnfreePackages = mkOption {
|
|
type = listOf str;
|
|
default = [ ];
|
|
};
|
|
config.flake.modules = {
|
|
nixos.default.nixpkgs.config.allowUnfreePredicate = predicate;
|
|
darwin.default.nixpkgs.config.allowUnfreePredicate = predicate;
|
|
};
|
|
}
|