+1
-1
flake-module.nix
+1
-1
flake-module.nix
···
137
137
138
138
nix-darwin = mkOption {
139
139
type = types.anything;
140
-
default = inputs.darwin or inputs.nix-darwin or (throw "cannot find nix-darwin input");
140
+
default = inputs.darwin or inputs.nix-darwin or null;
141
141
example = literalExpression "inputs.nix-darwin";
142
142
description = "The nix-darwin to be used for the host";
143
143
};
+10
-7
lib.nix
+10
-7
lib.nix
···
7
7
let
8
8
inherit (inputs) self;
9
9
10
-
inherit (builtins)
11
-
readDir
10
+
inherit (builtins) readDir;
11
+
inherit (lib)
12
12
elemAt
13
13
filter
14
14
pathExists
15
15
foldl'
16
-
;
17
-
inherit (lib.lists) optionals singleton concatLists;
18
-
inherit (lib.attrsets)
16
+
optionals
17
+
singleton
18
+
concatLists
19
19
recursiveUpdate
20
20
foldAttrs
21
21
attrValues
22
22
mapAttrs
23
23
filterAttrs
24
+
mkDefault
25
+
evalModules
26
+
mergeAttrs
27
+
assertMsg
24
28
;
25
-
inherit (lib.modules) mkDefault evalModules;
26
-
inherit (lib.trivial) mergeAttrs;
27
29
28
30
classToOS = class: if (class == "darwin") then "darwin" else "linux";
29
31
classToND = class: if (class == "darwin") then "darwin" else "nixos";
···
218
220
if ((classToND class) == "nixos") then
219
221
{ nixosConfigurations.${name} = eval; }
220
222
else
223
+
assert assertMsg (nix-darwin != null) "nix-darwin must be set when class is darwin";
221
224
{
222
225
darwinConfigurations.${name} = eval // {
223
226
system = eval.config.system.build.toplevel;