mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2025-01-06 04:24:28 +03:00
nixos/version: Only warn about unset stateVersion if used
If a configuration does not use services that depend on the stateVersion, it does not need to be set. This provides an incentive for services not to rely on stateVersion, and not to burden users with this.
This commit is contained in:
parent
9aa77715b7
commit
f03c7fb8d4
@ -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
|
||||
|
@ -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 New Issue
Block a user