From cf1f2f99cfe0133a69712dab42caf3a8d91de4e3 Mon Sep 17 00:00:00 2001 From: atlas Date: Sun, 30 Aug 2026 03:13:23 +0200 Subject: [PATCH] deploy: fix a reference the option-path sweep could not see MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `ssoLocal` in the grafana module read `cfg.enable`, where `cfg` is the local binding for `services.hyperhive.swarm.grafana` — the option set the previous commit removed `enable` from. Evaluation fails on the missing attribute. The sweep that missed it looked for the option *path* (`grafana.enable`). This reference is spelled through a `let` alias, so no grep for the path can find it, and a parse check cannot either: it is syntactically valid and only wrong once the module system resolves the attribute. The check that does find it: for each file, extract the local bindings that point at the option set being changed, then grep for `.`. Run against this tree it reports nothing for grafana and sixteen references for authelia, which is the next module to move. --- nix/host-modules/swarm-grafana.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/host-modules/swarm-grafana.nix b/nix/host-modules/swarm-grafana.nix index 919c2fa8..922597d5 100644 --- a/nix/host-modules/swarm-grafana.nix +++ b/nix/host-modules/swarm-grafana.nix @@ -77,7 +77,7 @@ let # The all-local case: this host runs BOTH Grafana and the swarm's authelia, # so the minted secret can be moved without an operator. Same split the # forge and matrix modules document. - ssoLocal = cfg.enable && autheliaCfg.enable; + ssoLocal = deployCfg.grafana && autheliaCfg.enable; autheliaUrl = toString autheliaCfg.url; # Where the plaintext lands inside the container. Under /var/lib rather