0
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-07-14 06:00:33 +03:00

Merge pull request #161124 from Atemu/nixos/nix-skip-all-checks

nixos/nix-daemon: make checkConfig fully disable nix.conf validation
This commit is contained in:
Linus Heckemann 2022-10-23 07:55:06 +02:00 committed by GitHub
commit 79ec5f2d2b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 22 additions and 5 deletions

View file

@ -59,7 +59,7 @@ let
${mkKeyValuePairs cfg.settings}
${cfg.extraOptions}
'';
checkPhase =
checkPhase = lib.optionalString cfg.checkConfig (
if pkgs.stdenv.hostPlatform != pkgs.stdenv.buildPlatform then ''
echo "Ignoring validation for cross-compilation"
''
@ -72,9 +72,9 @@ let
${cfg.package}/bin/nix show-config ${optionalString (isNixAtLeast "2.3pre") "--no-net"} \
${optionalString (isNixAtLeast "2.4pre") "--option experimental-features nix-command"} \
|& sed -e 's/^warning:/error:/' \
| (! grep '${if cfg.checkConfig then "^error:" else "^error: unknown setting"}')
| (! grep '${if cfg.checkAllErrors then "^error:" else "^error: unknown setting"}')
set -o pipefail
'';
'');
};
legacyConfMappings = {
@ -395,8 +395,15 @@ in
type = types.bool;
default = true;
description = lib.mdDoc ''
If enabled (the default), checks for data type mismatches and that Nix
can parse the generated nix.conf.
If enabled, checks that Nix can parse the generated nix.conf.
'';
};
checkAllErrors = mkOption {
type = types.bool;
default = true;
description = lib.mdDoc ''
If enabled, checks the nix.conf parsing for any kind of error. When disabled, checks only for unknown settings.
'';
};