From eba6e440861a9f94f6837bb6b37fd2ef7e4e0446 Mon Sep 17 00:00:00 2001 From: Alexander Foremny Date: Sat, 6 Sep 2025 14:02:31 +0200 Subject: refactor lib/{machines,nixosModules}.nix --- lib/default.nix | 82 +++++++++++++-------------------------------------------- 1 file changed, 19 insertions(+), 63 deletions(-) (limited to 'lib/default.nix') diff --git a/lib/default.nix b/lib/default.nix index a5f3e17..430d6ec 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -1,75 +1,31 @@ -{ sources ? import ../npins -, pkgs ? import sources.nixpkgs {} +{ pkgs +, sources +, ... }: let inherit (pkgs) lib; - - eval = configuration: +in +{ + eval = config: let self = lib.evalModules { modules = [ - configuration - { - options = { - machines = lib.mkOption { - type = lib.types.attrsOf lib.types.raw; - default = {}; - }; - outputs = lib.mkOption { - type = lib.types.attrsOf lib.types.raw; - default = {}; - }; - }; - config = { - outputs.machines = lib.mapAttrs (name: configuration: - nixos configuration - ) self.config.machines; - }; - } + config + ./machines.nix + ./nixosModules.nix ]; - specialArgs.self = self; + specialArgs = { + inherit + self + sources + pkgs + ; + inherit (pkgs) + lib + ; + }; }; - - # nixos = config: lib.evalModules { - # modules = [ - # config - # { - # # XXX Otherwise building manual fails - # documentation.enable = false; - - # boot.loader.grub.device = "nodev"; - # fileSystems."/".device = "tmpfs"; - # nixpkgs.localSystem = "x86_64-linux"; - # } - # ]; - # specialArgs.self = self; - # }; - - nixos = config: import (sources.nixpkgs + "/nixos/lib/eval-config.nix") { - modules = [ - config - { - # XXX Otherwise building manual fails - documentation.enable = false; - - boot.loader.grub.device = "nodev"; - fileSystems."/".device = "tmpfs"; - nixpkgs.localSystem = { - system = "x86_64-linux"; - }; - } - ]; - specialArgs.self = self; - - # The system is inherited from the current pkgs above. - # Set it to null, to remove the "legacy" entrypoint's non-hermetic default. - system = null; - }; in self; - -in -{ - inherit eval; } -- cgit v1.2.3