| 8 Mar 2026 |
emily | can you turn on abort on warn and --show-trace it? | 15:35:53 |
Randy Eckenrode | It appears the .nofollow stuff was added in macOS 15.4. | 15:45:41 |
antifuchs | sure! it's the vscode remote plugin's flake this time, but I'm getting the warning from 25 more things:
:; env NIX_ABORT_ON_WARN=1 nix build --impure --show-trace --no-link .#darwinConfigurations.glyn.config.system.build.toplevel
trace: evaluation warning: Nixpkgs 26.05 will be the last release to support x86_64-darwin; see https://nixos.org/manual/nixpkgs/unstable/release-notes#x86_64-darwin-26.05
error:
… while evaluating an expression to select 'drvPath' on it
at «internal»:1:552:
… while evaluating strict
at «internal»:1:552:
… while calling the 'derivationStrict' builtin
at «internal»:1:208:
… while evaluating derivation 'darwin-system-26.05.52d0615'
whose name attribute is located at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/pkgs/stdenv/generic/make-derivation.nix:536:13
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/pkgs/stdenv/generic/make-derivation.nix:536:13:
535| // {
536| ${if (attrs ? name || (attrs ? pname && attrs ? version)) then "name" else null} =
| ^
537| let
… while evaluating attribute 'buildCommand' of derivation 'darwin-system-26.05.52d0615'
at /nix/store/5rc49v3d3zi0ixprl36djg5cjl8kq93r-source/modules/system/default.nix:143:7:
142|
143| buildCommand = ''
| ^
144| mkdir $out
… while calling the 'getAttr' builtin
at «internal»:1:500:
… while calling the 'derivationStrict' builtin
at «internal»:1:208:
… while evaluating derivation 'etc'
whose name attribute is located at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/pkgs/stdenv/generic/make-derivation.nix:536:13
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/pkgs/stdenv/generic/make-derivation.nix:536:13:
535| // {
536| ${if (attrs ? name || (attrs ? pname && attrs ? version)) then "name" else null} =
| ^
537| let
… while evaluating attribute 'buildCommand' of derivation 'etc'
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/pkgs/build-support/trivial-builders/default.nix:80:17:
79| enableParallelBuilding = true;
80| inherit buildCommand name;
| ^
81| passAsFile = [ "buildCommand" ] ++ (derivationArgs.passAsFile or [ ]);
… from call site
at /nix/store/5rc49v3d3zi0ixprl36djg5cjl8kq93r-source/modules/system/etc.nix:36:11:
35| cd $out/etc
36| ${concatMapStringsSep "\n" (attr: ''
| ^
37| mkdir -p "$(dirname ${escapeShellArg attr.target})"
… while calling 'concatMapStringsSep'
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/strings.nix:262:13:
261| concatMapStringsSep =
262| sep: f: list:
| ^
263| concatStringsSep sep (map f list);
… while calling the 'concatStringsSep' builtin
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/strings.nix:263:5:
262| sep: f: list:
263| concatStringsSep sep (map f list);
| ^
264|
… while calling anonymous lambda
at /nix/store/5rc49v3d3zi0ixprl36djg5cjl8kq93r-source/modules/system/etc.nix:36:37:
35| cd $out/etc
36| ${concatMapStringsSep "\n" (attr: ''
| ^
37| mkdir -p "$(dirname ${escapeShellArg attr.target})"
… from call site
at /nix/store/5rc49v3d3zi0ixprl36djg5cjl8kq93r-source/modules/system/etc.nix:38:19:
37| mkdir -p "$(dirname ${escapeShellArg attr.target})"
38| ln -s ${escapeShellArgs [ attr.source attr.target ]}
| ^
39| '') etc}
… while calling 'concatMapStringsSep'
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/strings.nix:262:13:
261| concatMapStringsSep =
262| sep: f: list:
| ^
263| concatStringsSep sep (map f list);
… while calling the 'concatStringsSep' builtin
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/strings.nix:263:5:
262| sep: f: list:
263| concatStringsSep sep (map f list);
| ^
264|
… while calling 'escapeShellArg'
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/strings.nix:1202:5:
1201| escapeShellArg =
1202| arg:
| ^
1203| let
… while calling the 'match' builtin
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/strings.nix:1206:8:
1205| in
1206| if match "[[:alnum:],._+:@%/-]+" string == null then
| ^
1207| "'${replaceString "'" "'\\''" string}'"
… while evaluating the second argument passed to builtins.match
… while calling the 'toString' builtin
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/strings.nix:1204:16:
1203| let
1204| string = toString arg;
| ^
1205| in
… from call site
at /nix/store/5rc49v3d3zi0ixprl36djg5cjl8kq93r-source/modules/system/etc.nix:38:42:
37| mkdir -p "$(dirname ${escapeShellArg attr.target})"
38| ln -s ${escapeShellArgs [ attr.source attr.target ]}
| ^
39| '') etc}
… while calling anonymous lambda
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/attrsets.nix:1187:17:
1186| mapAttrs (
1187| name: value:
| ^
1188| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value
… from call site
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/attrsets.nix:1188:85:
1187| name: value:
1188| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value
| ^
1189| );
… while calling anonymous lambda
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/modules.nix:283:71:
282| # For definitions that have an associated option
283| declaredConfig = mapAttrsRecursiveCond (v: !isOption v) (_: v: v.value) options;
| ^
284|
… while evaluating the attribute 'value'
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/modules.nix:1159:7:
1158| // {
1159| value = addErrorContext "while evaluating the option `${showOption loc}':" value;
| ^
1160| inherit (res.defsFinal') highestPrio;
… while calling the 'addErrorContext' builtin
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/modules.nix:1159:15:
1158| // {
1159| value = addErrorContext "while evaluating the option `${showOption loc}':" value;
| ^
1160| inherit (res.defsFinal') highestPrio;
… while evaluating the option `environment.etc."nix/inputs/nixos-vscode-server".source':
… while evaluating the attribute 'mergedValue'
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/modules.nix:1233:5:
1232| # Type-check the remaining definitions, and merge them. Or throw if no definitions.
1233| mergedValue =
| ^
1234| if isDefined then
… while evaluating isDefined
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/modules.nix:1234:10:
1233| mergedValue =
1234| if isDefined then
| ^
1235| if type.merge ? v2 then
… while evaluating defsFinal
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/modules.nix:1295:17:
1294|
1295| isDefined = defsFinal != [ ];
| ^
1296|
… while evaluating the attribute 'values'
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/modules.nix:1227:9:
1226| {
1227| values = defsSorted;
| ^
1228| inherit (defsFiltered) highestPrio;
… while calling the 'any' builtin
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/modules.nix:1221:14:
1220| # Avoid sorting if we don't have to.
1221| if any (def: def.value._type or "" == "order") defsFiltered.values then
| ^
1222| sortProperties defsFiltered.values
… while evaluating the attribute 'values'
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/modules.nix:1401:7:
1400| {
1401| values = concatMap (def: if getPrio def == highestPrio then [ (strip def) ] else [ ]) defs;
| ^
1402| inherit highestPrio;
… while calling the 'concatMap' builtin
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/modules.nix:1401:16:
1400| {
1401| values = concatMap (def: if getPrio def == highestPrio then [ (strip def) ] else [ ]) defs;
| ^
1402| inherit highestPrio;
… while calling the 'concatMap' builtin
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/modules.nix:1201:26:
1200| # Process mkMerge and mkIf properties.
1201| defsNormalized = concatMap (
| ^
1202| m:
… while calling anonymous lambda
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/modules.nix:1202:11:
1201| defsNormalized = concatMap (
1202| m:
| ^
1203| map (
… while calling the 'map' builtin
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/modules.nix:1203:11:
1202| m:
1203| map (
| ^
1204| value:
… while calling the 'addErrorContext' builtin
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/modules.nix:1212:14:
1211| }
1212| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
| ^
1213| ) defs;
… while evaluating definitions from `<unknown-file>':
… from call site
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/modules.nix:1212:80:
1211| }
1212| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
| ^
1213| ) defs;
… while calling 'dischargeProperties'
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/modules.nix:1352:5:
1351| dischargeProperties =
1352| def:
| ^
1353| if def._type or "" == "merge" then
… while evaluating an expression to select '_type' on it
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/modules.nix:1353:8:
1352| def:
1353| if def._type or "" == "merge" then
| ^
1354| concatMap dischargeProperties def.contents
… while evaluating def
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/modules.nix:1353:8:
1352| def:
1353| if def._type or "" == "merge" then
| ^
1354| concatMap dischargeProperties def.contents
… while evaluating the attribute 'value'
at /nix/store/az8lhj92ggbhkvkssl3ahf4c9d387h2g-source/lib/modules.nix:846:21:
845| inherit (module) file;
846| inherit value;
| ^
847| }) module.config
… while evaluating an expression to select 'outPath' on it
at /nix/store/6aw71kqpkvkfr8mz3f37lxggyr9fahfs-source/machine/flake-part.nix:77:28:
76| name = "nix/inputs/${name}";
77| value.source = flake.outPath;
| ^
78| }) (inputs // { nixpkgs = nixpkgs; });
… while evaluating flake
at /nix/store/6aw71kqpkvkfr8mz3f37lxggyr9fahfs-source/machine/flake-part.nix:77:28:
76| name = "nix/inputs/${name}";
77| value.source = flake.outPath;
| ^
78| }) (inputs // { nixpkgs = nixpkgs; });
… from call site
at /nix/store/6aw71kqpkvkfr8mz3f37lxggyr9fahfs-source/machine/flake-part.nix:77:28:
76| name = "nix/inputs/${name}";
77| value.source = flake.outPath;
| ^
78| }) (inputs // { nixpkgs = nixpkgs; });
… while calling anonymous lambda
at «string»:24:46:
23|
24| inputs = builtins.mapAttrs (inputName: inputSpec: allNodes.${resolveInput inputSpec}) (
| ^
25| node.inputs or { }
… from call site
at «string»:24:66:
23|
24| inputs = builtins.mapAttrs (inputName: inputSpec: allNodes.${resolveInput inputSpec}) (
| ^
25| node.inputs or { }
… while calling anonymous lambda
at «string»:9:10:
8| allNodes = builtins.mapAttrs (
9| key: node:
| ^
10| let
… while evaluating result
at «string»:68:7:
67| assert builtins.isFunction flake.outputs;
68| result
| ^
69| else
… while evaluating outputs
at «string»:49:9:
48| result =
49| outputs
| ^
50| # We add the sourceInfo attribute for its metadata, as they are
… from call site
at «string»:46:17:
45|
46| outputs = flake.outputs (inputs // { self = result; });
| ^
47|
… while calling 'outputs'
at /nix/store/fk72y5m99vh5r6g2ygq70r0yp3kz8ia2-source/flake.nix:8:13:
7|
8| outputs = {
| ^
9| self,
… from call site
at /nix/store/fk72y5m99vh5r6g2ygq70r0yp3kz8ia2-source/flake.nix:22:7:
21| in
22| eachSystem defaultSystems (system: let
| ^
23| pkgs = nixpkgs.legacyPackages.${system};
… while calling 'eachSystemOp'
at /nix/store/01x5k4nlxcpyd85nnr0b9gm89rm8ff4x-source/lib.nix:52:18:
51| eachSystemOp =
52| op: systems: f:
| ^
53| builtins.foldl' (op f) { } (
… while calling the 'foldl'' builtin
at /nix/store/01x5k4nlxcpyd85nnr0b9gm89rm8ff4x-source/lib.nix:53:5:
52| op: systems: f:
53| builtins.foldl' (op f) { } (
| ^
54| if
… while calling anonymous lambda
at /nix/store/01x5k4nlxcpyd85nnr0b9gm89rm8ff4x-source/lib.nix:35:15:
34| # Merge outputs for each system.
35| f: attrs: system:
| ^
36| let
… while calling the 'foldl'' builtin
at /nix/store/01x5k4nlxcpyd85nnr0b9gm89rm8ff4x-source/lib.nix:39:5:
38| in
39| builtins.foldl' (
| ^
40| attrs: key:
… while calling the 'attrNames' builtin
at /nix/store/01x5k4nlxcpyd85nnr0b9gm89rm8ff4x-source/lib.nix:47:14:
46| }
47| ) attrs (builtins.attrNames ret)
| ^
48| );
… from call site
at /nix/store/01x5k4nlxcpyd85nnr0b9gm89rm8ff4x-source/lib.nix:37:13:
36| let
37| ret = f system;
| ^
38| in
… while calling anonymous lambda
at /nix/store/fk72y5m99vh5r6g2ygq70r0yp3kz8ia2-source/flake.nix:22:34:
21| in
22| eachSystem defaultSystems (system: let
| ^
23| pkgs = nixpkgs.legacyPackages.${system};
… while evaluating optionalAttrs
at /nix/store/fk72y5m99vh5r6g2ygq70r0yp3kz8ia2-source/flake.nix:28:9:
27| # The package depends on `inotify-tools` which is only available on Linux.
28| optionalAttrs (hasSuffix "-linux" system) {
| ^
29| packages = {
… while evaluating an expression to select 'optionalAttrs' on it
at /nix/store/fk72y5m99vh5r6g2ygq70r0yp3kz8ia2-source/flake.nix:24:38:
23| pkgs = nixpkgs.legacyPackages.${system};
24| inherit (pkgs.lib) hasSuffix optionalAttrs;
| ^
25| auto-fix-vscode-server = pkgs.callPackage ./pkgs/auto-fix-vscode-server.nix { };
… while evaluating an expression to select 'lib' on it
at /nix/store/fk72y5m99vh5r6g2ygq70r0yp3kz8ia2-source/flake.nix:24:18:
23| pkgs = nixpkgs.legacyPackages.${system};
24| inherit (pkgs.lib) hasSuffix optionalAttrs;
| ^
25| auto-fix-vscode-server = pkgs.callPackage ./pkgs/auto-fix-vscode-server.nix { };
… while evaluating pkgs
at /nix/store/fk72y5m99vh5r6g2ygq70r0yp3kz8ia2-source/flake.nix:24:18:
23| pkgs = nixpkgs.legacyPackages.${system};
24| inherit (pkgs.lib) hasSuffix optionalAttrs;
| ^
25| auto-fix-vscode-server = pkgs.callPackage ./pkgs/auto-fix-vscode-server.nix { };
… while evaluating the attribute 'legacyPackages.x86_64-darwin'
at /nix/store/4cbg4rsanwlrgpgrw1926lxhy1723k70-source/lib/attrsets.nix:983:47:
982| */
983| nameValuePair = name: value: { inherit name value; };
| ^
984|
… from call site
at /nix/store/4cbg4rsanwlrgpgrw1926lxhy1723k70-source/lib/attrsets.nix:1344:61:
1343| */
1344| genAttrs = names: f: genAttrs' names (n: nameValuePair n (f n));
| ^
1345|
… while calling anonymous lambda
at /nix/store/4cbg4rsanwlrgpgrw1926lxhy1723k70-source/flake.nix:223:9:
222| legacyPackages = forAllSystems (
223| system:
| ^
224| (import ./. {
… from call site
at /nix/store/4cbg4rsanwlrgpgrw1926lxhy1723k70-source/flake.nix:224:10:
223| system:
224| (import ./. {
| ^
225| inherit system;
… while calling anonymous lambda
at /nix/store/4cbg4rsanwlrgpgrw1926lxhy1723k70-source/pkgs/top-level/impure.nix:12:1:
11|
12| {
| ^
13| # We put legacy `system` into `localSystem`, if `localSystem` was not passed.
… from call site
at /nix/store/4cbg4rsanwlrgpgrw1926lxhy1723k70-source/pkgs/top-level/impure.nix:57:1:
56|
57| import ./. (
| ^
58| removeAttrs args [ "system" ]
… while calling anonymous lambda
at /nix/store/4cbg4rsanwlrgpgrw1926lxhy1723k70-source/pkgs/top-level/default.nix:40:1:
39|
40| {
| ^
41| # The system packages will be built on. See the manual for the
… while evaluating checked
at /nix/store/4cbg4rsanwlrgpgrw1926lxhy1723k70-source/pkgs/top-level/default.nix:220:1:
219| in
220| checked pkgs
| ^
221|
… from call site
at /nix/store/4cbg4rsanwlrgpgrw1926lxhy1723k70-source/pkgs/top-level/default.nix:99:6:
98| checked =
99| (throwIfNot (lib.isList overlays) "The overlays argument to nixpkgs must be a list.")
| ^
100| (throwIfNot (lib.all lib.isFunction overlays) "All overlays passed to nixpkgs must be functions.")
… while calling anonymous lambda
at /nix/store/4cbg4rsanwlrgpgrw1926lxhy1723k70-source/lib/trivial.nix:920:40:
919| */
920| throwIfNot = cond: msg: if cond then x: x else throw msg;
| ^
921|
… while evaluating x
at /nix/store/4cbg4rsanwlrgpgrw1926lxhy1723k70-source/lib/trivial.nix:920:43:
919| */
920| throwIfNot = cond: msg: if cond then x: x else throw msg;
| ^
921|
… while evaluating x86_64DarwinDeprecationWarning
at /nix/store/4cbg4rsanwlrgpgrw1926lxhy1723k70-source/pkgs/top-level/default.nix:110:11:
109| then
110| x86_64DarwinDeprecationWarning
| ^
111| else
… from call site
at /nix/store/4cbg4rsanwlrgpgrw1926lxhy1723k70-source/pkgs/top-level/default.nix:33:5:
32| x86_64DarwinDeprecationWarning =
33| pristineLib.warn
| ^
34| "Nixpkgs 26.05 will be the last release to support x86_64-darwin; see https://nixos.org/manual/nixpkgs/unstable/release-notes#x86_64-darwin-26.05"
… while calling anonymous lambda
at /nix/store/4cbg4rsanwlrgpgrw1926lxhy1723k70-source/lib/trivial.nix:816:12:
815| # Do not eta reduce v, so that we have the same strictness as `builtins.warn`.
816| msg: v:
| ^
817| # `builtins.warn` requires a string message, so we enforce that in our implementation, so that callers aren't accidentally incompatible with newer Nix versions.
… while calling the 'trace' builtin
at /nix/store/4cbg4rsanwlrgpgrw1926lxhy1723k70-source/lib/trivial.nix:820:9:
819| if mustAbort then
820| builtins.trace "evaluation warning: ${msg}" (
| ^
821| abort "NIX_ABORT_ON_WARN=true; warnings are treated as unrecoverable errors."
… while calling the 'abort' builtin
at /nix/store/4cbg4rsanwlrgpgrw1926lxhy1723k70-source/lib/trivial.nix:821:11:
820| builtins.trace "evaluation warning: ${msg}" (
821| abort "NIX_ABORT_ON_WARN=true; warnings are treated as unrecoverable errors."
| ^
822| )
error: evaluation aborted with the following error message: 'NIX_ABORT_ON_WARN=true; warnings are treated as unrecoverable errors.'
note: trace involved the following derivations:
derivation 'darwin-system-26.05.52d0615'
derivation 'etc'
| 16:01:20 |
antifuchs | waiiit why is this even getting eval'd on a darwin system | 16:02:47 |
emily | https://github.com/nix-community/nixos-vscode-server is this the repo you mean? | 16:03:18 |
emily | I believe this is actually caused by the combination of flake-utils + the way they're doing
pkgs = nixpkgs.legacyPackages.${system};
inherit (pkgs.lib) hasSuffix optionalAttrs;
| 16:04:30 |
emily | rather than using nixpkgs.lib | 16:04:35 |
antifuchs | that's the one. also, removing it as a flake input seems to have fixed my eval warnings. its outputs weren't pulled into any of my darwin systems, but ... guess these things are tied together in mysterious ways | 16:04:52 |
emily | I think we could potentially do a Gross Disgusting Hack where we make nixpkgs.legacyPackages.x86_64-darwin.lib avoid the warning | 16:04:59 |
emily | ah, so it's all just from that one flake? | 16:05:13 |
antifuchs | seems so! | 16:05:27 |
antifuchs | (it's also been unused by me since 2023, so a great reminder to remove it, lol) | 16:05:42 |
emily | fair enough 😅 | 16:06:08 |
emily | it could be patched to fix the warnings but I notice that it hasn't been touched in years | 16:06:19 |
emily | so, maybe it's obsolete(?) | 16:06:23 |
K900 | FWIW if you don't want to go the nix-ld route, all you should need is https://github.com/K900/vscode-remote-workaround/blob/main/vscode.nix | 16:07:16 |
emily | there's a few things that can cause spurious or duplicate warnings unfortunately, I did my best to mitigate them but it's not fully avoidable. hope has just been to assess how often they happen and how annoying they are to see if this approach will work. so far few complaints, surprisingly | 16:07:20 |
K900 | (probably updated to an appropriate nodejs version) | 16:07:33 |
| SomeoneSerge (matrix works sometimes) changed their display name from SomeoneSerge (back on matrix) to SomeoneSerge (matrix works sometimes). | 23:34:17 |
| 9 Mar 2026 |
| risson left the room. | 00:42:37 |
| Norinco joined the room. | 16:23:36 |
Norinco | I am a new nix-darwin user, and I'm currently trying to install nix-darwin and lix on my Mac. I've chosen ryan4yin/nix-darwin-kickstarter as my starter configuration. However, I noticed the following comment in the repo:
nix.enable = true; # TODO: set this to false if you're using Determinate Nix.
I don't quite understand what Determinate Nix is. My question is: if I install lix using the "New Installs" method from the official lix documentation (curl -sSf -L https://install.lix.systems/lix | sh -s -- install), do I need to set nix.enable = false?
Also, if I do set nix.enable = false, how should I configure options like substituters and gc? | 16:36:28 |
K900 | Determinate Nix is another fork (they say "distribution") of Nix | 16:37:59 |
K900 | You can use nix.enable = true with Lix, though you'll want to also set nix.package = pkgs.lixPackageSets.latest.lix or similar | 16:38:21 |
Norinco | Okay, thank you for your answer. | 16:40:53 |
nasso | i will soon get a new macbook for work, and i was thinking maybe i might bite the bullet and try out nix-darwin on it??
im pretty new to nix still, and my main concern here is multi-user support. because i want to use this machine for both work and personal stuff, i need to setup two users (unclear yet which one(s) will be admin). is this a supported use-case for nix-darwin? how will that work???
(also i have never had multiple users on macOS so i guess im also new to that part lol) | 17:24:56 |
samasaur | we do support multiple users, yes. it should Just Work, though some nix-darwin options really only apply to the activating user so you may want to avoid those and control them with home-manager instead | 17:33:22 |
ragdoc | You might also want to have a look at the nix.settings.trusted-users option. | 17:35:11 |
nasso | cool! thanks! i wonder if i will regret learning nix + nix-darwin + multi-user macOS all at once | 17:37:44 |
ragdoc | There is not much to learn on the macOS side of things, don't worry. Users can either be admins or not, that's pretty much it. | 17:40:48 |