Merge pull request #207958 from hercules-ci/nixos-only-warn-stateVersion-when-used-lite
nixos/version: Only warn about unset stateVersion if used (lite)
This commit is contained in:
commit
8df1ea3269
3 changed files with 31 additions and 9 deletions
|
@ -89,6 +89,12 @@ in
|
||||||
|
|
||||||
stateVersion = mkOption {
|
stateVersion = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
|
# TODO Remove this and drop the default of the option so people are forced to set it.
|
||||||
|
# Doing this also means fixing the comment in nixos/modules/testing/test-instrumentation.nix
|
||||||
|
apply = v:
|
||||||
|
lib.warnIf (options.system.stateVersion.highestPrio == (lib.mkOptionDefault { }).priority)
|
||||||
|
"system.stateVersion is not set, defaulting to ${v}. Read why this matters on https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion."
|
||||||
|
v;
|
||||||
default = cfg.release;
|
default = cfg.release;
|
||||||
defaultText = literalExpression "config.${opt.release}";
|
defaultText = literalExpression "config.${opt.release}";
|
||||||
description = lib.mdDoc ''
|
description = lib.mdDoc ''
|
||||||
|
@ -149,14 +155,6 @@ in
|
||||||
"os-release".text = attrsToText osReleaseContents;
|
"os-release".text = attrsToText osReleaseContents;
|
||||||
};
|
};
|
||||||
|
|
||||||
# We have to use `warnings` because when warning in the default of the option
|
|
||||||
# the warning would also be shown when building the manual since the manual
|
|
||||||
# has to evaluate the default.
|
|
||||||
#
|
|
||||||
# TODO Remove this and drop the default of the option so people are forced to set it.
|
|
||||||
# Doing this also means fixing the comment in nixos/modules/testing/test-instrumentation.nix
|
|
||||||
warnings = lib.optional (options.system.stateVersion.highestPrio == (lib.mkOptionDefault { }).priority)
|
|
||||||
"system.stateVersion is not set, defaulting to ${config.system.stateVersion}. Read why this matters on https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion.";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# uses version info nixpkgs, which requires a full nixpkgs path
|
# uses version info nixpkgs, which requires a full nixpkgs path
|
||||||
|
|
|
@ -11,6 +11,17 @@ in
|
||||||
|
|
||||||
{ imports = [
|
{ imports = [
|
||||||
../virtualisation/qemu-vm.nix
|
../virtualisation/qemu-vm.nix
|
||||||
|
|
||||||
|
# Avoid a dependency on stateVersion
|
||||||
|
{
|
||||||
|
disabledModules = [
|
||||||
|
../virtualisation/nixos-containers.nix
|
||||||
|
../services/x11/desktop-managers/xterm.nix
|
||||||
|
];
|
||||||
|
config = {
|
||||||
|
};
|
||||||
|
options.boot.isContainer = lib.mkOption { default = false; internal = true; };
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
# The builder is not intended to be used interactively
|
# The builder is not intended to be used interactively
|
||||||
|
@ -97,7 +108,14 @@ in
|
||||||
# To prevent gratuitous rebuilds on each change to Nixpkgs
|
# To prevent gratuitous rebuilds on each change to Nixpkgs
|
||||||
nixos.revision = null;
|
nixos.revision = null;
|
||||||
|
|
||||||
stateVersion = "22.05";
|
stateVersion = lib.mkDefault (throw ''
|
||||||
|
The macOS linux builder should not need a stateVersion to be set, but a module
|
||||||
|
has accessed stateVersion nonetheless.
|
||||||
|
Please inspect the trace of the following command to figure out which module
|
||||||
|
has a dependency on stateVersion.
|
||||||
|
|
||||||
|
nix-instantiate --attr darwin.builder --show-trace
|
||||||
|
'');
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users."${user}"= {
|
users.users."${user}"= {
|
||||||
|
|
|
@ -507,6 +507,12 @@ in {
|
||||||
sqlite3 = null;
|
sqlite3 = null;
|
||||||
psycopg2 = "matrix-synapse";
|
psycopg2 = "matrix-synapse";
|
||||||
}.${cfg.settings.database.name};
|
}.${cfg.settings.database.name};
|
||||||
|
defaultText = lib.literalExpression ''
|
||||||
|
{
|
||||||
|
sqlite3 = null;
|
||||||
|
psycopg2 = "matrix-synapse";
|
||||||
|
}.''${cfg.settings.database.name};
|
||||||
|
'';
|
||||||
description = lib.mdDoc ''
|
description = lib.mdDoc ''
|
||||||
Username to connect with psycopg2, set to null
|
Username to connect with psycopg2, set to null
|
||||||
when using sqlite3.
|
when using sqlite3.
|
||||||
|
|
Loading…
Reference in a new issue