30 lines
1001 B
Nix
30 lines
1001 B
Nix
{lib, config, pkgs, ...}:
|
|
{
|
|
systemd.user.services.swaylock = {
|
|
Unit = {
|
|
Description = "Screen locker for Wayland";
|
|
Documentation = ["man:swaylock(1)"];
|
|
# If swaylock exits cleanly, unlock the session:
|
|
OnSuccess = ["unlock.target"];
|
|
# When lock.target is stopped, stops this too:
|
|
PartOf = ["lock.target" "sway-session.target"];
|
|
# Delay lock.target until this service is ready:
|
|
Before = "lock.target";
|
|
};
|
|
Install = {
|
|
WantedBy = ["lock.target"];
|
|
};
|
|
|
|
Service = {
|
|
# systemd will consider this service started when swaylock forks...
|
|
Type = "forking";
|
|
# ... and swaylock will fork only after it has locked the screen.
|
|
# ExecStart = "${lib.getExe pkgs.swaylock} -efF -C ~/.config/swaylock/config";
|
|
ExecStart = "${pkgs.swaylock}/bin/swaylock -efF -C ~/.config/swaylock/config";
|
|
# If swaylock crashes, always restart it immediately:
|
|
Restart = "on-failure";
|
|
RestartSec = 0;
|
|
};
|
|
};
|
|
}
|