feat(hyprland): use hypridle instead of swayidle

This commit is contained in:
matt1432 2024-02-21 17:21:57 -05:00
parent aed252651f
commit fd5a54017c
4 changed files with 84 additions and 25 deletions
modules/hyprland

View file

@ -1,10 +1,11 @@
{
config,
hypridle,
lib,
pkgs,
...
}: let
inherit (lib) optionals;
inherit (lib) mkIf;
inherit (config.vars) mainUser;
isLaptop = config.services.logind.lidSwitch == "lock";
@ -16,26 +17,41 @@ in {
security.pam.services.swaylock = {};
services.gnome.gnome-keyring.enable = true;
home-manager.users.${mainUser} = {
home-manager.users.${mainUser} = let
hmCfg = config.home-manager.users.${mainUser};
lockPkg = pkgs.writeShellApplication {
name = "lock";
runtimeInputs = [
hmCfg.programs.ags.finalPackage
hmCfg.programs.swaylock.package
];
text = ''
ags -r 'Tablet.setLaptopMode()'
swaylock -C ${hmCfg.xdg.configHome}/swaylock/config
'';
};
in {
imports = [
../../home/swaylock.nix
hypridle.homeManagerModules.default
];
home.packages = with pkgs; ([
gnome.seahorse
]
++ optionals isLaptop [
swayidle
]);
home.packages = with pkgs; [
gnome.seahorse
];
services.hypridle = mkIf isLaptop {
enable = true;
listeners = [];
lockCmd = "${lockPkg}/bin/lock";
};
wayland.windowManager.hyprland = {
settings = {
exec-once =
[
"gnome-keyring-daemon --start --components=secrets"
"${pkgs.plasma5Packages.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1"
]
++ optionals isLaptop ["swayidle -w lock lock"];
exec-once = [
"gnome-keyring-daemon --start --components=secrets"
"${pkgs.plasma5Packages.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1"
];
windowrule = [
"float,^(org.kde.polkit-kde-authentication-agent-1)$"
@ -48,7 +64,7 @@ in {
];
bind = [
"$mainMod, L, exec, lock"
"$mainMod, L, exec, ${lockPkg}/bin/lock"
];
};
};

View file

@ -0,0 +1,63 @@
{pkgs, ...}: {
programs.swaylock = {
enable = true;
package = pkgs.swaylock-effects;
settings = {
font = "Ubuntu";
clock = true;
timestr = "%R";
datestr = "%a, %e of %B";
screenshots = true;
# FIXME: doesn't work
submit-on-touch = true;
# Very delayed for some reason
#fade-in = 0.1;
effect-blur = "20x2";
#effect-greyscale = true;
#effect-scale = 0.3;
indicator = true;
indicator-radius = 240;
indicator-thickness = 20;
indicator-caps-lock = true;
key-hl-color = "880033";
separator-color = "00000000";
inside-color = "00000099";
inside-clear-color = "ffd20400";
inside-caps-lock-color = "009ddc00";
inside-ver-color = "d9d8d800";
inside-wrong-color = "ee2e2400";
ring-color = "231f20D9";
ring-clear-color = "231f20D9";
ring-caps-lock-color = "231f20D9";
ring-ver-color = "231f20D9";
ring-wrong-color = "231f20D9";
line-color = "00000000";
line-clear-color = "ffd204FF";
line-caps-lock-color = "009ddcFF";
line-ver-color = "d9d8d8FF";
line-wrong-color = "ee2e24FF";
text-color = "CBA6F7FF";
text-clear-color = "ffd20400";
text-ver-color = "d9d8d800";
text-wrong-color = "ee2e2400";
bs-hl-color = "ee2e24FF";
caps-lock-key-hl-color = "ffd204FF";
caps-lock-bs-hl-color = "ee2e24FF";
disable-caps-lock-text = true;
text-caps-lock-color = "009ddc";
};
};
}