diff options
author | sinanmohd <sinan@sinanmohd.com> | 2023-11-27 11:19:36 +0530 |
---|---|---|
committer | sinanmohd <sinan@sinanmohd.com> | 2023-11-27 20:54:09 +0530 |
commit | 824fcd344e42c54a4cbdedc8f7a11d3520218649 (patch) | |
tree | fb5305d4c5ee6d0edf90bcbd6b46e2f2e3496710 /modules/logind.nix | |
parent | 0b8e24c80ad0a5e9e97b0aedd17357199b82c369 (diff) |
modules/seatd: drop upstreamed changes
Diffstat (limited to 'modules/logind.nix')
-rw-r--r-- | modules/logind.nix | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/modules/logind.nix b/modules/logind.nix deleted file mode 100644 index 5e6dcdf..0000000 --- a/modules/logind.nix +++ /dev/null @@ -1,121 +0,0 @@ -{ config, lib, ... }: - -let - cfg = config.services.logind; - inherit (lib) mkOption types; - - logindHandlerType = types.enum [ - "ignore" "poweroff" "reboot" "halt" "kexec" "suspend" - "hibernate" "hybrid-sleep" "suspend-then-hibernate" "lock" - ]; -in -{ - options.services.logind = { - enable = mkOption { - default = true; - description = "Whether to enable logind."; - type = types.bool; - }; - - extraConfig = mkOption { - default = ""; - type = types.lines; - example = "IdleAction=lock"; - description = lib.mdDoc '' - Extra config options for systemd-logind. See - [ - logind.conf(5)](https://www.freedesktop.org/software/systemd/man/logind.conf.html) for available options. - ''; - }; - - killUserProcesses = mkOption { - default = false; - type = types.bool; - description = lib.mdDoc '' - Specifies whether the processes of a user should be killed - when the user logs out. If true, the scope unit corresponding - to the session and all processes inside that scope will be - terminated. If false, the scope is "abandoned" (see - [systemd.scope(5)](https://www.freedesktop.org/software/systemd/man/systemd.scope.html#)), and processes are not killed. - - See [logind.conf(5)](https://www.freedesktop.org/software/systemd/man/logind.conf.html#KillUserProcesses=) - for more details. - ''; - }; - - lidSwitch = mkOption { - default = "suspend"; - example = "ignore"; - type = logindHandlerType; - - description = lib.mdDoc '' - Specifies what to be done when the laptop lid is closed. - ''; - }; - - lidSwitchDocked = mkOption { - default = "ignore"; - example = "suspend"; - type = logindHandlerType; - - description = lib.mdDoc '' - Specifies what to be done when the laptop lid is closed - and another screen is added. - ''; - }; - - lidSwitchExternalPower = mkOption { - default = cfg.lidSwitch; - defaultText = lib.literalExpression "services.logind.lidSwitch"; - example = "ignore"; - type = logindHandlerType; - - description = lib.mdDoc '' - Specifies what to do when the laptop lid is closed and the system is - on external power. By default use the same action as specified in - services.logind.lidSwitch. - ''; - }; - }; - - config = lib.mkIf cfg.enable { - systemd.additionalUpstreamSystemUnits = [ - "systemd-logind.service" - "autovt@.service" - "systemd-user-sessions.service" - ] ++ lib.optionals config.systemd.package.withImportd [ - "dbus-org.freedesktop.import1.service" - ] ++ lib.optionals config.systemd.package.withMachined [ - "dbus-org.freedesktop.machine1.service" - ] ++ lib.optionals config.systemd.package.withPortabled [ - "dbus-org.freedesktop.portable1.service" - ] ++ [ - "dbus-org.freedesktop.login1.service" - "user@.service" - "user-runtime-dir@.service" - ]; - - environment.etc = { - "systemd/logind.conf".text = '' - [Login] - KillUserProcesses=${if cfg.killUserProcesses then "yes" else "no"} - HandleLidSwitch=${cfg.lidSwitch} - HandleLidSwitchDocked=${cfg.lidSwitchDocked} - HandleLidSwitchExternalPower=${cfg.lidSwitchExternalPower} - ${cfg.extraConfig} - ''; - }; - - # Restarting systemd-logind breaks X11 - # - upstream commit: https://cgit.freedesktop.org/xorg/xserver/commit/?id=dc48bd653c7e101 - # - systemd announcement: https://github.com/systemd/systemd/blob/22043e4317ecd2bc7834b48a6d364de76bb26d91/NEWS#L103-L112 - # - this might be addressed in the future by xorg - #systemd.services.systemd-logind.restartTriggers = [ config.environment.etc."systemd/logind.conf".source ]; - systemd.services.systemd-logind.restartIfChanged = false; - systemd.services.systemd-logind.stopIfChanged = false; - - # The user-runtime-dir@ service is managed by systemd-logind we should not touch it or else we break the users' sessions. - systemd.services."user-runtime-dir@".stopIfChanged = false; - systemd.services."user-runtime-dir@".restartIfChanged = false; - }; -} |