feat(hyprland): use hypridle instead of swayidle
All checks were successful
Discord / discord commits (push) Has been skipped

This commit is contained in:
matt1432 2024-02-21 17:21:57 -05:00
parent aed252651f
commit fd5a54017c
4 changed files with 31 additions and 22 deletions

Binary file not shown.

BIN
flake.nix

Binary file not shown.

View file

@ -1,10 +1,11 @@
{ {
config, config,
hypridle,
lib, lib,
pkgs, pkgs,
... ...
}: let }: let
inherit (lib) optionals; inherit (lib) mkIf;
inherit (config.vars) mainUser; inherit (config.vars) mainUser;
isLaptop = config.services.logind.lidSwitch == "lock"; isLaptop = config.services.logind.lidSwitch == "lock";
@ -16,26 +17,41 @@ in {
security.pam.services.swaylock = {}; security.pam.services.swaylock = {};
services.gnome.gnome-keyring.enable = true; 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 = [ imports = [
../../home/swaylock.nix ../../home/swaylock.nix
hypridle.homeManagerModules.default
]; ];
home.packages = with pkgs; ([ home.packages = with pkgs; [
gnome.seahorse gnome.seahorse
] ];
++ optionals isLaptop [
swayidle services.hypridle = mkIf isLaptop {
]); enable = true;
listeners = [];
lockCmd = "${lockPkg}/bin/lock";
};
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
settings = { settings = {
exec-once = exec-once = [
[ "gnome-keyring-daemon --start --components=secrets"
"gnome-keyring-daemon --start --components=secrets" "${pkgs.plasma5Packages.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1"
"${pkgs.plasma5Packages.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1" ];
]
++ optionals isLaptop ["swayidle -w lock lock"];
windowrule = [ windowrule = [
"float,^(org.kde.polkit-kde-authentication-agent-1)$" "float,^(org.kde.polkit-kde-authentication-agent-1)$"
@ -48,7 +64,7 @@ in {
]; ];
bind = [ bind = [
"$mainMod, L, exec, lock" "$mainMod, L, exec, ${lockPkg}/bin/lock"
]; ];
}; };
}; };

View file

@ -1,11 +1,4 @@
{pkgs, ...}: { {pkgs, ...}: {
home.packages = [
(pkgs.writeShellScriptBin "lock" ''
ags -r 'Tablet.setLaptopMode()'
swaylock
'')
];
programs.swaylock = { programs.swaylock = {
enable = true; enable = true;
package = pkgs.swaylock-effects; package = pkgs.swaylock-effects;