{ lib, config, ... }: let cfg = config.this.unfree; inherit (builtins) elem; inherit (lib) getName; in { options = { this.unfree.allowed = lib.mkOption { type = with lib.types; listOf str; default = []; }; }; config = { nixpkgs.config.allowUnfreePredicate = pkg: elem (getName pkg) cfg.allowed; }; }