Swaylock
Appearance
Swaylock is a screen locking utility for Wayland compositors.
Installation
Standalone
❄︎ /etc/nixos/configuration.nix
environment.systemPackages = with pkgs; [
swaylock
];
Home Manager - Standalone
❄︎ ~/.config/home-manager/home.nix
programs.swaylock.enable = true;
Home Manager - Through Sway
❄︎ /etc/nixos/configuration.nix
programs.sway.extraPackages = with pkgs; [swaylock];
⚠︎
Warning: If you don't use the Sway module (
programs.sway.enable) you need to set security.pam.services.swaylock = {}; manually.Configuration
Swaylock may be configured using Home Manager, options may be found under the Home Manager Appendix - programs.sway.enable.
❄︎ /etc/nixos/home.nix
programs.swaylock = {
enable = true;
settings = {
color = "808080";
font-size = 24;
indicator-idle-visible = false;
indicator-radius = 100;
line-color = "ffffff";
show-failed-attempts = true;
};
};
If you would like to use a config file instead you may instead specify a config file.
❄︎ /etc/nixos/home.nix
xdg.configFile."swaylock/config".source = ./swaylock-theme;
Adding background
You can add background declaratively using fetchurl similar to Wallpapers for Wayland. In this example, a wallpaper in nixos-artwork is set to image attribute and the remaining configuration from ./swaylock are merged.
❄︎ ~/.config/home-manager/home.nix
xdg.configFile."swaylock/config".text =
let
src = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/8957e93c95867faafec7f9988cedddd6837859fa/wallpapers/nix-wallpaper-binary-black.png";
sha256 = "0v3111a1ihsh4ajijbjh6y7a8p5cb5g3rdxqjbzx37pn1k9s254s";
};
in
''
image=${src}
''
+ builtins.readFile ./swaylock;
Forks
swaylock-effects allows built-in screenshots and image manipulation effects like blurring.
❄︎ ~/.config/home-manager/home.nix
programs.swaylock.package = pkgs.swaylock-effects;