diff --git a/hosts/pinwheel/modules/default.nix b/hosts/pinwheel/modules/default.nix index 82f20d9..8f43ffa 100644 --- a/hosts/pinwheel/modules/default.nix +++ b/hosts/pinwheel/modules/default.nix @@ -14,7 +14,7 @@ in nix-index.enable = false; greetd.enable = true; hyprland.enable = true; - swaylock.enable = true; + hyprlock.enable = true; physlock.enable = false; power.enable = true; diff --git a/hosts/pinwheel/modules/swaylock/default.nix b/hosts/pinwheel/modules/hyprlock/default.nix similarity index 54% rename from hosts/pinwheel/modules/swaylock/default.nix rename to hosts/pinwheel/modules/hyprlock/default.nix index 66b1cce..8c5cff9 100644 --- a/hosts/pinwheel/modules/swaylock/default.nix +++ b/hosts/pinwheel/modules/hyprlock/default.nix @@ -5,13 +5,13 @@ ... }: let - enabled = config.mod.swaylock.enable; + enabled = config.mod.hyprlock.enable; hyprlandEnabled = config.mod.hyprland.enable; in { options = { - mod.swaylock = { - enable = lib.mkEnableOption "enable swaylock module"; + mod.hyprlock = { + enable = lib.mkEnableOption "enable hyprlock module"; dpmsTimeout = lib.mkOption { description = "timeout in seconds before DPMS is turned on"; @@ -23,13 +23,32 @@ in config = lib.mkIf enabled { home-manager.users.alex = { - programs.swaylock = { + programs.hyprlock = { enable = true; settings = { - color = "000000"; - indicator-idle-visible = false; - show-failed-attempts = true; + general = { + hide_cursor = true; + }; + + background = [ + { + color = "rgb(000000)"; + } + ]; + + input-field = [ + { + size = "250, 50"; + position = "0, 0"; + halign = "center"; + valign = "center"; + outline_thickness = 2; + dots_center = true; + fade_on_empty = true; + placeholder_text = ""; + } + ]; }; }; @@ -39,18 +58,18 @@ in let pause-music = "${pkgs.playerctl}/bin/playerctl -p spotify pause"; - dpmsTimeout = config.mod.swaylock.dpmsTimeout; + dpmsTimeout = config.mod.hyprlock.dpmsTimeout; dpms-lock = pkgs.writeShellScript "dpms-lock" '' ${pkgs.swayidle}/bin/swayidle \ timeout ${dpmsTimeout} "${pkgs.hyprland}/bin/hyprctl dispatch dpms off" \ resume "${pkgs.hyprland}/bin/hyprctl dispatch dpms on" & - ${pkgs.swaylock}/bin/swaylock && ${pkgs.procps}/bin/pkill swayidle + ${pkgs.hyprlock}/bin/hyprlock && ${pkgs.procps}/bin/pkill swayidle ''; in [ "$mod, x, exec, ${pause-music}; ${dpms-lock}" - "$mod SHIFT, x, exec, ${pause-music}; ${pkgs.swaylock}/bin/swaylock -f; systemctl suspend" + "$mod SHIFT, x, exec, ${pause-music}; ${pkgs.hyprlock}/bin/hyprlock & sleep 0.5; systemctl suspend" ]; }; }; @@ -59,11 +78,7 @@ in security = { polkit.enable = true; - pam.services.swaylock.text = '' - # PAM configuration file for the swaylock screen locker. By default, it includes - # the 'login' configuration file (see /etc/pam.d/login) - auth include login - ''; + pam.services.hyprlock = {}; }; }; } diff --git a/hosts/pinwheel/modules/power/default.nix b/hosts/pinwheel/modules/power/default.nix index 36b9745..46cbca3 100644 --- a/hosts/pinwheel/modules/power/default.nix +++ b/hosts/pinwheel/modules/power/default.nix @@ -80,7 +80,7 @@ in path = [ pkgs.coreutils # For `cat` pkgs.libnotify - pkgs.swaylock + pkgs.hyprlock ]; script = @@ -103,7 +103,7 @@ in BATTERY_STATUS=$(cat /sys/class/power_supply/${lowbat.battery}/status) if [[ $BATTERY_STATUS = "Discharging" ]]; then - ${pause-music}; ${pkgs.swaylock}/bin/swaylock -f; systemctl suspend + ${pause-music}; ${pkgs.hyprlock}/bin/hyprlock & sleep 0.5; systemctl suspend fi fi '';