diff --git a/nix/modules/unfree-packages.nix b/nix/modules/unfree-packages.nix new file mode 100644 index 0000000..498095e --- /dev/null +++ b/nix/modules/unfree-packages.nix @@ -0,0 +1,16 @@ +{ lib, config, ... }: +let + inherit (builtins) elem; + inherit (lib) mkOption 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; + }; +}