# # Sway NixOS & Home manager configuration # # flake.nix # ├─ ./hosts # │ └─ ./laptop # │ └─ home.nix # └─ ./modules # └─ ./desktop # └─ ./sway # └─ home.nix * # { config, lib, pkgs, ... }: { programs = { swaylock = { enable = true; settings = { color = "000000"; image = "$HOME/.config/lockwall"; indicator-caps-lock = true; show-keyboard-layout = true; }; }; }; services = { swayidle = { enable = true; events = { "before-sleep" = "${pkgs.swaylock}/bin/swaylock"; "lock" = "${pkgs.swaylock}/bin/swaylock -fF"; "after-resume" = "${pkgs.sway}/bin/swaymsg 'output * dpms on'"; "unlock" = "${pkgs.sway}/bin/swaymsg 'output * dpms on'"; }; timeouts = [ { timeout = 300; command = "${pkgs.swaylock}/bin/swaylock -fF"; } { timeout = 600; command = "${pkgs.niri}/bin/niri msg action power-off-monitors"; } ]; }; }; }