This will change in the future once we finish the networking Clan module
and we'll have a reliable way of addressing every node automagically.
Until then, this will have to do.
Calling it fix in double quotes since that's still quite hand-crafted,
but at least you can now specify options with `@` inside them (e.g.
`ProxyJump`) and have it work properly.
Moreover this fixes the syntax for GET-like variables in the networking
clanCore module. Only the fixed syntax is supported since that's what
was tested, and actually parsed in the code.
Also replace `documentation.nixos.enable = false` with
`documentation.doc.enable` to opt out of only `nixos-help` and the HTML
manual but leave `man configuration.nix`.
I ran into an issue when I had clan + this module:
ce61f71680/nixos/mixins/mdns.nix (L6)
they both set the same config value, but clan uses "yes" and that module
uses `true`. systemd allows for "yes" or `true` (`man systemd.syntax`),
so I opted to change this to `true`.
Here's the full error:
```
error: The option `systemd.network.networks."99-ethernet-default-dhcp".networkConfig.MulticastDNS' has conflicting definition values:
- In `/nix/store/3yv22nq7rqd0ra30qvzc2d624rwa6h7c-source/nixosModules/clanCore/networking.nix': "yes"
- In `/nix/store/ivjk0r776mxal8v7jamwsrn4yidvg0dv-source/nixos/mixins/mdns.nix': true
Use `lib.mkForce value` or `lib.mkDefault value` to change the priority on any of these definitions.
```
This reverts commit 18b64f2d0b.
The old configuration cannot be updated like this:
eve] error:
[eve] … while calling the 'head' builtin
[eve] at /nix/store/5b0hl2dnvr1sawqlkwmsnaiyqz00d34h-source/lib/attrsets.nix:1575:11:
[eve] 1574| || pred here (elemAt values 1) (head values) then
[eve] 1575| head values
[eve] | ^
[eve] 1576| else
[eve]
[eve] … while evaluating the attribute 'value'
[eve] at /nix/store/5b0hl2dnvr1sawqlkwmsnaiyqz00d34h-source/lib/modules.nix:809:9:
[eve] 808| in warnDeprecation opt //
[eve] 809| { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
[eve] | ^
[eve] 810| inherit (res.defsFinal') highestPrio;
[eve]
[eve] … while evaluating the option `system.build.toplevel':
[eve]
[eve] … while evaluating definitions from `/nix/store/5b0hl2dnvr1sawqlkwmsnaiyqz00d34h-source/nixos/modules/system/activation/top-level.nix':
[eve]
[eve] … while evaluating the option `assertions':
[eve]
[eve] … while evaluating definitions from `/nix/store/5b0hl2dnvr1sawqlkwmsnaiyqz00d34h-source/nixos/modules/system/boot/systemd.nix':
[eve]
[eve] … while evaluating the option `systemd.services':
[eve]
[eve] … while evaluating definitions from `/nix/store/kpzcdgndym0qm1w490mjvk9c2qmz03h5-source/nixosModules/clanCore/zerotier':
[eve]
[eve] … while evaluating the option `clan.core.networking.zerotier.networkId':
[eve]
[eve] (stack trace truncated; use '--show-trace' to show the full, detailed trace)
[eve]
[eve] error: A definition for option `clan.core.networking.zerotier.networkId' is not of type `null or string'. Definition values:
[eve] - In `/nix/store/kpzcdgndym0qm1w490mjvk9c2qmz03h5-source/nixosModules/clanCore/networking.nix':
[eve] {
[eve] _type = "override";
[eve] content = "267efd4a15b69623";
[eve] priorit