pantheon/nix/modules/options/unfree-packages.nix

17 lines
420 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;
};
}