linger-users: default to null, be explicit about null = imperative (#460311)
This commit is contained in:
@@ -385,7 +385,7 @@ and [release notes for v18](https://goteleport.com/docs/changelog/#1800-070325).
|
|||||||
- In all other cases, you'll need to set this option to `true` yourself.
|
- In all other cases, you'll need to set this option to `true` yourself.
|
||||||
- `boot.isNspawnContainer` being `true` implies [](#opt-boot.isContainer) being `true`.
|
- `boot.isNspawnContainer` being `true` implies [](#opt-boot.isContainer) being `true`.
|
||||||
|
|
||||||
- `users.users.*.linger` now defaults to `null` rather than `false`, meaning NixOS will not attempt to enable or disable lingering for that user account. In practice, this is unlikely to make a difference for most people, as new users are created without lingering configured, but it means users who use `loginctl` commands to manage lingering imperatively will not have their changes overridden by default. There is a new, related option, `users.manageLingering`, which can be used to prevent NixOS attempting to manage lingering entirely.
|
- `users.users.*.linger` now defaults to `null` rather than `false`, meaning NixOS will not attempt to enable or disable lingering for that user account, instead allowing for imperative control over lingering using the `loginctl` commands. In practice, this is unlikely to make a difference for most people, as new users are created without lingering configured. There is a new, related option, `users.manageLingering`, which can be used to prevent NixOS attempting to manage lingering entirely.
|
||||||
|
|
||||||
- Due to [deprecation of gnome-session X11 support](https://blogs.gnome.org/alatiera/2025/06/08/the-x11-session-removal/), `services.desktopManager.pantheon` now defaults to pantheon-wayland session. The X11 session has been removed, see [this issue](https://github.com/elementary/session-settings/issues/91) for details.
|
- Due to [deprecation of gnome-session X11 support](https://blogs.gnome.org/alatiera/2025/06/08/the-x11-session-removal/), `services.desktopManager.pantheon` now defaults to pantheon-wayland session. The X11 session has been removed, see [this issue](https://github.com/elementary/session-settings/issues/91) for details.
|
||||||
|
|
||||||
|
|||||||
@@ -130,10 +130,6 @@ let
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
userOpts =
|
userOpts =
|
||||||
let
|
|
||||||
# Pass state version through despite config being overwritten in the inner module
|
|
||||||
inherit (config.system) stateVersion;
|
|
||||||
in
|
|
||||||
{ name, config, ... }:
|
{ name, config, ... }:
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -463,8 +459,7 @@ let
|
|||||||
linger = mkOption {
|
linger = mkOption {
|
||||||
type = types.nullOr types.bool;
|
type = types.nullOr types.bool;
|
||||||
example = true;
|
example = true;
|
||||||
default = if versionOlder stateVersion "26.11" then false else null;
|
default = null;
|
||||||
defaultText = literalExpression "if lib.versionOlder config.system.stateVersion \"25.11\" then false else null";
|
|
||||||
description = ''
|
description = ''
|
||||||
Whether to enable or disable lingering for this user. Without
|
Whether to enable or disable lingering for this user. Without
|
||||||
lingering, user units will not be started until the user logs in,
|
lingering, user units will not be started until the user logs in,
|
||||||
@@ -472,8 +467,8 @@ let
|
|||||||
`logind.conf`.
|
`logind.conf`.
|
||||||
|
|
||||||
By default, NixOS will not manage lingering, new users will default
|
By default, NixOS will not manage lingering, new users will default
|
||||||
to not lingering, and you can change the linger setting using
|
to not lingering, and lingering can be configured imperatively using
|
||||||
`loginctl enable-linger` or `loginctl disable-linger`. Setting
|
`loginctl enable-linger` or `loginctl disable-linger`. Setting
|
||||||
this option to `true` or `false` is the declarative equivalent of
|
this option to `true` or `false` is the declarative equivalent of
|
||||||
running `loginctl enable-linger` or `loginctl disable-linger`
|
running `loginctl enable-linger` or `loginctl disable-linger`
|
||||||
respectively.
|
respectively.
|
||||||
|
|||||||
Reference in New Issue
Block a user