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 {
|
||||
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;
|
||||
defaultText = literalExpression "config.${opt.release}";
|
||||
description = lib.mdDoc ''
|
||||
|
@ -149,14 +155,6 @@ in
|
|||
"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
|
||||
|
|
|
@ -11,6 +11,17 @@ in
|
|||
|
||||
{ imports = [
|
||||
../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
|
||||
|
@ -97,7 +108,14 @@ in
|
|||
# To prevent gratuitous rebuilds on each change to Nixpkgs
|
||||
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}"= {
|
||||
|
|
|
@ -507,6 +507,12 @@ in {
|
|||
sqlite3 = null;
|
||||
psycopg2 = "matrix-synapse";
|
||||
}.${cfg.settings.database.name};
|
||||
defaultText = lib.literalExpression ''
|
||||
{
|
||||
sqlite3 = null;
|
||||
psycopg2 = "matrix-synapse";
|
||||
}.''${cfg.settings.database.name};
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
Username to connect with psycopg2, set to null
|
||||
when using sqlite3.
|
||||
|
|
Loading…
Reference in a new issue