pantheon/nix/modules/unfree-packages.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;
};
}