{ 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;

  };

}