dotfiles/modules/home/graphical/wayland/hyprlock.nix
eriedaberrie 6dcab51c42 Initial commit
Note: not the actual initial commit.

I swear I will stop repeatedly force pushing to this single commit eventually
ok.
2024-08-24 09:08:28 -07:00

67 lines
1.7 KiB
Nix

{ pkgs, config, lib, self, theme, inputs, ... }:
let
cfg = config.my.graphical.wayland.hyprlock;
in {
options.my.graphical.wayland.hyprlock = {
enable = lib.mkEnableOption null;
};
config = lib.mkIf cfg.enable {
programs.hyprlock = {
enable = true;
package = inputs.hyprlock.packages.${pkgs.system}.hyprlock;
settings = let
c = builtins.mapAttrs (_: t: "0xFF${t}") theme;
commaVals = x: y: "${builtins.toString x}, ${builtins.toString y}";
in {
general = {
hide_cursor = true;
};
background = lib.singleton {
path = "screenshot";
blur_size = 15;
blur_passes = 3;
};
input-field = lib.singleton {
fade_on_empty = false;
placeholder_text = "";
size = commaVals 350 70;
dots_size= 0.33;
outline_thickness = 5;
position = commaVals 0 (-100);
outer_color = c.mauve;
inner_color = c.crust;
font_color = c.text;
check_color = c.blue;
fail_color = c.red;
capslock_color = c.yellow;
numlock_color = c.yellow;
bothlock_color = c.yellow;
};
image = lib.singleton {
path = "${self}/assets/quag-head.png";
size = 180;
border_size = 5;
position = commaVals 0 80;
border_color = c.mauve;
};
};
};
my.graphical.wayland = {
ydotool.enable = true;
swayidle.lockCommand = "${config.programs.hyprlock.package}/bin/hyprlock --no-fade-in & sleep 0.3";
hyprland.lockBinary = "hyprlock";
};
wayland.windowManager.hyprland.settings.misc.allow_session_lock_restore = true;
};
}