{ config, lib, ... }: { options = { allowUnfreePackages = lib.mkOption { type = lib.types.listOf lib.types.str; description = "List of unfree packages to allow."; default = [ ]; }; allowInsecurePackages = lib.mkOption { type = lib.types.listOf lib.types.str; description = "List of insecure packages to allow."; default = [ ]; }; }; config = { # # Allow specified unfree packages (identified elsewhere) # # Retrieves package object based on string name # nixpkgs.config.allowUnfreePredicate = # pkg: builtins.elem (lib.getName pkg) config.allowUnfreePackages; # # # Allow specified insecure packages (identified elsewhere) # nixpkgs.config.permittedInsecurePackages = config.allowInsecurePackages; }; }