diff options
author | Naïm Favier <n@monade.li> | 2023-01-05 18:23:30 +0100 |
---|---|---|
committer | Naïm Favier <n@monade.li> | 2023-01-05 18:23:30 +0100 |
commit | f1ee4ece806d109df8f6994d9e70eb7f05505709 (patch) | |
tree | d5bd6d5eda1773ae8de5a73a1039ba7998bef911 | |
parent | d02c5a41da68908bd88d7a697abc52a04826894e (diff) |
Don't check NixOS modules
NixOS modules can be paths. Rather than dig further down into the layer
violation, don't check anything specific to NixOS modules.
-rw-r--r-- | src/nix/flake.cc | 17 | ||||
-rw-r--r-- | tests/flakes/check.sh | 16 |
2 files changed, 2 insertions, 31 deletions
diff --git a/src/nix/flake.cc b/src/nix/flake.cc index 06fd87ef2..9b4cdf35a 100644 --- a/src/nix/flake.cc +++ b/src/nix/flake.cc @@ -381,23 +381,6 @@ struct CmdFlakeCheck : FlakeCommand auto checkModule = [&](const std::string & attrPath, Value & v, const PosIdx pos) { try { state->forceValue(v, pos); - if (v.isLambda()) { - if (!v.lambda.fun->hasFormals() || !v.lambda.fun->formals->ellipsis) - throw Error("module must match an open attribute set ('{ config, ... }')"); - } else if (v.type() == nAttrs) { - for (auto & attr : *v.attrs) - try { - state->forceValue(*attr.value, attr.pos); - } catch (Error & e) { - e.addTrace( - state->positions[attr.pos], - hintfmt("while evaluating the option '%s'", state->symbols[attr.name])); - throw; - } - } else - throw Error("module must be a function or an attribute set"); - // FIXME: if we have a 'nixpkgs' input, use it to - // check the module. } catch (Error & e) { e.addTrace(resolve(pos), hintfmt("while checking the NixOS module '%s'", attrPath)); reportError(e); diff --git a/tests/flakes/check.sh b/tests/flakes/check.sh index f572aa75c..278ac7fa4 100644 --- a/tests/flakes/check.sh +++ b/tests/flakes/check.sh @@ -41,9 +41,9 @@ nix flake check $flakeDir cat > $flakeDir/flake.nix <<EOF { outputs = { self }: { - nixosModules.foo = { + nixosModules.foo = assert false; { a.b.c = 123; - foo = assert false; true; + foo = true; }; }; } @@ -66,18 +66,6 @@ nix flake check $flakeDir cat > $flakeDir/flake.nix <<EOF { outputs = { self }: { - nixosModule = { config, pkgs }: { - a.b.c = 123; - }; - }; -} -EOF - -(! nix flake check $flakeDir) - -cat > $flakeDir/flake.nix <<EOF -{ - outputs = { self }: { packages.system-1.default = "foo"; packages.system-2.default = "bar"; }; |