{ config, pkgs, ... }: { services.logind = { settings.Login.HandleLidSwitch = "suspend"; # suspend on lid close }; # Add the config declaratively environment.etc."hypr/hyprlock.conf" = { source = pkgs.writeText "hyprlock-config" '' # hyprlock configuration blur = 5 timeout = 0 ''; }; systemd.services.hyprlock-pre-suspend = { description = "Lock screen before suspend"; wants = [ "sleep.target" ]; before = [ "sleep.target" ]; serviceConfig = { Type = "oneshot"; User = "odweta"; # run as your user ExecStart = "${pkgs.hyprlock}/bin/hyprlock -c /etc/hypr/hyprlock.conf"; }; install.wantedBy = [ "sleep.target" ]; }; }