+2
-2
flake-module.nix
+2
-2
flake-module.nix
···
85
85
modules = [ ];
86
86
specialArgs = { };
87
87
};
88
-
defaultText = ''
88
+
defaultText = ''
89
89
class: {
90
90
modules = [ ];
91
91
specialArgs = { };
···
184
184
185
185
system = mkOption {
186
186
type = types.str;
187
-
default = constructSystem cfg config.arch config.class;
187
+
default = constructSystem cfg.additionalClasses config.arch config.class;
188
188
example = "aarch64-darwin";
189
189
description = "The system to be used for the host";
190
190
internal = true; # this should ideally be set by easy-hosts
+11
-8
lib.nix
+11
-8
lib.nix
···
29
29
classToND = class: if (class == "darwin") then "darwin" else "nixos";
30
30
31
31
redefineClass =
32
-
cfg: class: ({ linux = "nixos"; } // (cfg.additionalClasses or { })).${class} or class;
32
+
additionalClasses: class: ({ linux = "nixos"; } // additionalClasses).${class} or class;
33
33
34
34
constructSystem =
35
-
config: arch: class:
35
+
additionalClasses: arch: class:
36
36
let
37
-
class' = redefineClass config class;
37
+
class' = redefineClass additionalClasses class;
38
38
os = classToOS class';
39
39
in
40
40
"${arch}-${os}";
···
194
194
let
195
195
# memoize the class and perClass values so we don't have to recompute them
196
196
perClass = easyHostsConfig.perClass hostConfig.class;
197
-
class = redefineClass easyHostsConfig hostConfig.class;
197
+
class = redefineClass easyHostsConfig.additionalClasses hostConfig.class;
198
198
in
199
199
toHostOutput {
200
200
inherit name class;
···
229
229
];
230
230
231
231
normaliseHost =
232
-
cfg: system: path:
232
+
additionalClasses: system: path:
233
233
let
234
234
inherit (splitSystem system) arch class;
235
235
in
236
236
{
237
237
inherit arch class path;
238
-
system = constructSystem cfg arch class;
238
+
system = constructSystem additionalClasses arch class;
239
239
};
240
240
241
241
normaliseHosts =
242
242
cfg: hosts:
243
243
if (cfg.onlySystem == null) then
244
244
pipe hosts [
245
-
(mapAttrs (system: mapAttrs (name: _: normaliseHost cfg system "${cfg.path}/${system}/${name}")))
245
+
(mapAttrs (
246
+
system:
247
+
mapAttrs (name: _: normaliseHost cfg.additionalClasses system "${cfg.path}/${system}/${name}")
248
+
))
246
249
247
250
attrValues
248
251
foldAttrsMerge
249
252
]
250
253
else
251
-
mapAttrs (name: _: normaliseHost cfg cfg.onlySystem "${cfg.path}/${name}") hosts;
254
+
mapAttrs (name: _: normaliseHost cfg.additionalClasses cfg.onlySystem "${cfg.path}/${name}") hosts;
252
255
253
256
buildHosts =
254
257
cfg: