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

@ -5,6 +5,7 @@ let
in {
systemd = {
services = {
systemd-lock-handler = { enable = true; };
NetworkManager-wait-online.enable = lib.mkForce false;
systemd-networkd-wait-online.enable = lib.mkForce false;
clean-keychain = {
@ -18,17 +19,32 @@ in {
};
user = {
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 = {
script = ''
set -eu -o pipefail
booted="$(${readlink} /run/booted-system/{initrd,kernel,kernel-modules})"
built="$(${readlink} /nix/var/nix/profiles/system/{initrd,kernel,kernel-modules})"
if [[ "''${booted}" != "''${built}" ]];
then
echo "Looks like we need a reboot!"
${notify-send} --urgency=low --icon=system-reboot "Reboot is needed for a NixOS upgrade."
then
echo "Looks like we need a reboot!"
${notify-send} --urgency=low --icon=system-reboot "Reboot is needed for a NixOS upgrade."
fi
'';
'';
serviceConfig = { Type = "oneshot"; };
};
};