diff --git a/flake.nix b/flake.nix index ed59c4bd..32e7d282 100644 --- a/flake.nix +++ b/flake.nix @@ -122,16 +122,21 @@ ./modules ]; nixosSystem = system: name: - let nixpkgs = nixpkgsForSystem system; in - inputs.nixpkgs.lib.nixosSystem { + let + nixpkgs = nixpkgsForSystem system; lib = (import nixpkgs { inherit overlays system; }).lib; + in + inputs.nixpkgs.lib.nixosSystem { + inherit lib system; specialArgs = { modulesPath = toString (nixpkgs + "/nixos/modules"); }; - system = "x86_64-linux"; baseModules = import (nixpkgs + "/nixos/modules/module-list.nix"); modules = commonModules ++ [ ({ config, ... }: { - nixpkgs.overlays = overlays; + nixpkgs.pkgs = import nixpkgs { + inherit overlays system; + config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) config.chvp.base.nix.unfreePackages; + }; networking.hostName = name; nix = { extraOptions = "extra-experimental-features = nix-command flakes"; diff --git a/modules/base/nix/default.nix b/modules/base/nix/default.nix index 6f35bd25..24b49da7 100644 --- a/modules/base/nix/default.nix +++ b/modules/base/nix/default.nix @@ -25,6 +25,7 @@ in default = false; example = true; }; + # Used in /flake.nix, since we have to use it at nixpkgs import time unfreePackages = lib.mkOption { default = [ ]; example = [ "teams" ]; @@ -85,8 +86,6 @@ in ''; }; - nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) config.chvp.base.nix.unfreePackages; - home-manager.users.charlotte = { ... }: lib.recursiveUpdate (lib.optionalAttrs config.chvp.base.nix.enableDirenv baseDirenv)