{ config, inputs, lib, this, ... }: with lib; let cfg = config.nixfiles.modules.common.nix; in { options.nixfiles.modules.common.nix.allowedUnfreePackages = mkOption { description = "A list of allowed unfree packages."; type = with types; listOf str; default = []; }; config = { nix.settings.trusted-users = ["@wheel"]; nixpkgs = { config.allowUnfreePredicate = p: elem (getName p) cfg.allowedUnfreePackages; overlays = with inputs; [ agenix.overlay pollymc.overlay xmonad-ng.overlays.default # nix-minecraft-servers.overlays.default ]; }; system.stateVersion = with builtins; head (split "\n" (readFile "${inputs.nixpkgs}/.version")); environment = { sessionVariables.NIX_SHELL_PRESERVE_PROMPT = "1"; localBinInPath = true; defaultPackages = []; }; }; }