task | add support for systemd-lock-handler

This commit is contained in:
Don Harper 2024-12-26 09:50:59 -06:00
parent ec04e078e6
commit 69d1bd15f3
2 changed files with 21 additions and 4 deletions

View file

@ -63,6 +63,7 @@ in {
signal-desktop signal-desktop
simple-scan simple-scan
syncthingtray syncthingtray
systemd-lock-handler
telegram-desktop telegram-desktop
texlive.combined.scheme-medium texlive.combined.scheme-medium
watchmate watchmate

View file

@ -5,6 +5,7 @@ let
in { in {
systemd = { systemd = {
services = { services = {
systemd-lock-handler = { enable = true; };
NetworkManager-wait-online.enable = lib.mkForce false; NetworkManager-wait-online.enable = lib.mkForce false;
systemd-networkd-wait-online.enable = lib.mkForce false; systemd-networkd-wait-online.enable = lib.mkForce false;
clean-keychain = { clean-keychain = {
@ -18,17 +19,32 @@ in {
}; };
user = { user = {
services = { services = {
swaylock = {
description = "Screen locker for Wayland";
documentation = ["man:swaylock(1)"];
onSuccess = ["unlock.target"];
partOf = ["lock.target"];
before = ["lock.target"];
wantedBy = ["lock.target"];
serviceConfig = {
Type = "forking";
Environment = "PATH=/run/current-system/sw/bin:/etc/profiles/per-user/don/bin:/home/don/bin";
ExecStart = "/home/don/bin/lock.sh -m";
Restart = "on-failure";
RestartSec = 0;
};
};
detect-reboot-for-upgrade = { detect-reboot-for-upgrade = {
script = '' script = ''
set -eu -o pipefail set -eu -o pipefail
booted="$(${readlink} /run/booted-system/{initrd,kernel,kernel-modules})" booted="$(${readlink} /run/booted-system/{initrd,kernel,kernel-modules})"
built="$(${readlink} /nix/var/nix/profiles/system/{initrd,kernel,kernel-modules})" built="$(${readlink} /nix/var/nix/profiles/system/{initrd,kernel,kernel-modules})"
if [[ "''${booted}" != "''${built}" ]]; if [[ "''${booted}" != "''${built}" ]];
then then
echo "Looks like we need a reboot!" echo "Looks like we need a reboot!"
${notify-send} --urgency=low --icon=system-reboot "Reboot is needed for a NixOS upgrade." ${notify-send} --urgency=low --icon=system-reboot "Reboot is needed for a NixOS upgrade."
fi fi
''; '';
serviceConfig = { Type = "oneshot"; }; serviceConfig = { Type = "oneshot"; };
}; };
}; };