{ config, inputs, lib, ... }: 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 = { daemonCPUSchedPolicy = "idle"; daemonIOSchedClass = "idle"; daemonIOSchedPriority = 7; }; nixpkgs.config.allowUnfreePredicate = p: elem (getName p) cfg.allowedUnfreePackages; system.stateVersion = with builtins; head (split "\n" (readFile "${inputs.nixpkgs}/.version")); environment = { sessionVariables.NIX_SHELL_PRESERVE_PROMPT = "1"; localBinInPath = true; defaultPackages = [ ]; }; }; }