services.logind: add options for lid-switch behavior
This commit is contained in:
parent
81319583bc
commit
23d1c7f474
1 changed files with 28 additions and 0 deletions
|
@ -396,6 +396,11 @@ let
|
|||
'';
|
||||
};
|
||||
|
||||
logindHandlerType = types.enum [
|
||||
"ignore" "poweroff" "reboot" "halt" "kexec" "suspend"
|
||||
"hibernate" "hybrid-sleep" "lock"
|
||||
];
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
|
@ -595,6 +600,27 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
services.logind.lidSwitch = mkOption {
|
||||
default = "suspend";
|
||||
example = "ignore";
|
||||
type = logindHandlerType;
|
||||
|
||||
description = ''
|
||||
Specifies what to be done when the laptop lid is closed.
|
||||
'';
|
||||
};
|
||||
|
||||
services.logind.lidSwitchDocked = mkOption {
|
||||
default = "ignore";
|
||||
example = "suspend";
|
||||
type = logindHandlerType;
|
||||
|
||||
description = ''
|
||||
Specifies what to be done when the laptop lid is closed
|
||||
and another screen is added.
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.user.extraConfig = mkOption {
|
||||
default = "";
|
||||
type = types.lines;
|
||||
|
@ -721,6 +747,8 @@ in
|
|||
"systemd/logind.conf".text = ''
|
||||
[Login]
|
||||
KillUserProcesses=no
|
||||
HandleLidSwitch=${config.services.logind.lidSwitch}
|
||||
HandleLidSwitchDocked=${config.services.logind.lidSwitchDocked}
|
||||
${config.services.logind.extraConfig}
|
||||
'';
|
||||
|
||||
|
|
Loading…
Reference in a new issue