Skip to content

Commit 1daa73c

Browse files
committed
Switch from fixMergeModules to evalModules
fixMergeModules is deprecated and using it produces deprecation warning messages in newer revisions of nixpkgs. Since it's implemented as a simple wrapper around evalModules, let's just use evalModules instead and set the module arguments through config._module.args.
1 parent ce1c57e commit 1daa73c

1 file changed

Lines changed: 31 additions & 16 deletions

File tree

nix/eval-machine-info.nix

Lines changed: 31 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -122,22 +122,37 @@ in rec {
122122
};
123123

124124
evalResources = mainModule: _resources:
125-
lib.mapAttrs (name: defs:
126-
(builtins.removeAttrs (lib.fixMergeModules
127-
([ mainModule deploymentInfoModule ./resource.nix ] ++ defs)
128-
{
129-
inherit pkgs uuid name resources;
130-
131-
# inherit nodes, essentially
132-
nodes =
133-
lib.mapAttrs (nodeName: node:
134-
lib.mapAttrs
135-
(key: lib.warn "Resource ${name} accesses nodes.${nodeName}.${key}, which is deprecated. Use the equivalent option instead: nodes.${nodeName}.${newOpt key}.")
136-
info.machines.${nodeName}
137-
// node)
138-
nodes;
139-
}
140-
).config) ["_module"]) _resources;
125+
lib.mapAttrs
126+
(name: defs:
127+
let
128+
# Arguments fed to all modules
129+
moduleArgs = {
130+
_module.args = {
131+
inherit pkgs uuid name resources;
132+
133+
# inherit nodes, essentially
134+
nodes =
135+
lib.mapAttrs
136+
(nodeName: node:
137+
lib.mapAttrs
138+
(key: lib.warn "Resource ${name} accesses nodes.${nodeName}.${key}, which is deprecated. Use the equivalent option instead: nodes.${nodeName}.${newOpt key}.")
139+
info.machines.${nodeName}
140+
// node)
141+
nodes;
142+
};
143+
_module.check = false;
144+
};
145+
modules = [
146+
moduleArgs
147+
mainModule
148+
deploymentInfoModule
149+
./resource.nix
150+
] ++ defs;
151+
in
152+
builtins.removeAttrs
153+
(lib.evalModules { inherit modules; }).config
154+
["_module"])
155+
_resources;
141156

142157
newOpt = key: {
143158
nixosRelease = "config.system.nixos.release and make sure it is set properly";

0 commit comments

Comments
 (0)