diff --git a/flake.lock b/flake.lock index 5636f32..b6d6579 100644 --- a/flake.lock +++ b/flake.lock @@ -77,11 +77,11 @@ ] }, "locked": { - "lastModified": 1750903843, - "narHash": "sha256-Ng9+f0H5/dW+mq/XOKvB9uwvGbsuiiO6HrPdAcVglCs=", + "lastModified": 1751607816, + "narHash": "sha256-5PtrwjqCIJ4DKQhzYdm8RFePBuwb+yTzjV52wWoGSt4=", "owner": "nix-community", "repo": "disko", - "rev": "83c4da299c1d7d300f8c6fd3a72ac46cb0d59aae", + "rev": "da6109c917b48abc1f76dd5c9bf3901c8c80f662", "type": "github" }, "original": { @@ -346,7 +346,7 @@ }, "flake-utils_3": { "inputs": { - "systems": "systems_3" + "systems": "systems_5" }, "locked": { "lastModified": 1710146030, @@ -364,7 +364,7 @@ }, "flake-utils_4": { "inputs": { - "systems": "systems_6" + "systems": "systems_8" }, "locked": { "lastModified": 1731533236, @@ -382,7 +382,7 @@ }, "flake-utils_5": { "inputs": { - "systems": "systems_7" + "systems": "systems_9" }, "locked": { "lastModified": 1731533236, @@ -400,7 +400,7 @@ }, "flake-utils_6": { "inputs": { - "systems": "systems_8" + "systems": "systems_10" }, "locked": { "lastModified": 1731533236, @@ -541,11 +541,11 @@ ] }, "locked": { - "lastModified": 1751589297, - "narHash": "sha256-3q35cq6BPuwIRL3IoVKYPc72r3OleeuRyf4YAPjEqzA=", + "lastModified": 1751638848, + "narHash": "sha256-7HiC6w4ROEbMmKtj5pilnLOJej9HkkfU9wEd5QSTyNo=", "owner": "nix-community", "repo": "home-manager", - "rev": "83f978812c37511ef2ffaf75ffa72160483f738a", + "rev": "7d9e3c35f0d46f82bac791d76260f15f53d83529", "type": "github" }, "original": { @@ -575,6 +575,268 @@ "type": "github" } }, + "hyprgraphics": { + "inputs": { + "hyprutils": [ + "hyprlock", + "hyprutils" + ], + "nixpkgs": [ + "hyprlock", + "nixpkgs" + ], + "systems": [ + "hyprlock", + "systems" + ] + }, + "locked": { + "lastModified": 1750621377, + "narHash": "sha256-8u6b5oAdX0rCuoR8wFenajBRmI+mzbpNig6hSCuWUzE=", + "owner": "hyprwm", + "repo": "hyprgraphics", + "rev": "b3d628d01693fb9bb0a6690cd4e7b80abda04310", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprgraphics", + "type": "github" + } + }, + "hypridle": { + "inputs": { + "hyprland-protocols": "hyprland-protocols", + "hyprlang": "hyprlang", + "hyprutils": "hyprutils", + "hyprwayland-scanner": "hyprwayland-scanner", + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems_3" + }, + "locked": { + "lastModified": 1750503503, + "narHash": "sha256-UWxbL6a81GWBg990pcct1dzm4HuWIEd1Q6mpV7bHrnM=", + "owner": "hyprwm", + "repo": "hypridle", + "rev": "25578b71370d1ba7bf08127ca4b0959452df4d04", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hypridle", + "type": "github" + } + }, + "hyprland-protocols": { + "inputs": { + "nixpkgs": [ + "hypridle", + "nixpkgs" + ], + "systems": [ + "hypridle", + "systems" + ] + }, + "locked": { + "lastModified": 1749046714, + "narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, + "hyprlang": { + "inputs": { + "hyprutils": [ + "hypridle", + "hyprutils" + ], + "nixpkgs": [ + "hypridle", + "nixpkgs" + ], + "systems": [ + "hypridle", + "systems" + ] + }, + "locked": { + "lastModified": 1749145882, + "narHash": "sha256-qr0KXeczF8Sma3Ae7+dR2NHhvG7YeLBJv19W4oMu6ZE=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "1bfb84f54d50c7ae6558c794d3cfd5f6a7e6e676", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprlang_2": { + "inputs": { + "hyprutils": [ + "hyprlock", + "hyprutils" + ], + "nixpkgs": [ + "hyprlock", + "nixpkgs" + ], + "systems": [ + "hyprlock", + "systems" + ] + }, + "locked": { + "lastModified": 1750371198, + "narHash": "sha256-/iuJ1paQOBoSLqHflRNNGyroqfF/yvPNurxzcCT0cAE=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "cee01452bca58d6cadb3224e21e370de8bc20f0b", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprlock": { + "inputs": { + "hyprgraphics": "hyprgraphics", + "hyprlang": "hyprlang_2", + "hyprutils": "hyprutils_2", + "hyprwayland-scanner": "hyprwayland-scanner_2", + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems_4" + }, + "locked": { + "lastModified": 1751139849, + "narHash": "sha256-S4WaVk8tR6svR+L8y4VUjFPSYhsUvA9Oc6zYYELTPY0=", + "owner": "hyprwm", + "repo": "hyprlock", + "rev": "fee04f640676868fe343bd3ffd0b81b22bd032ee", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlock", + "type": "github" + } + }, + "hyprutils": { + "inputs": { + "nixpkgs": [ + "hypridle", + "nixpkgs" + ], + "systems": [ + "hypridle", + "systems" + ] + }, + "locked": { + "lastModified": 1749135356, + "narHash": "sha256-Q8mAKMDsFbCEuq7zoSlcTuxgbIBVhfIYpX0RjE32PS0=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "e36db00dfb3a3d3fdcc4069cb292ff60d2699ccb", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, + "hyprutils_2": { + "inputs": { + "nixpkgs": [ + "hyprlock", + "nixpkgs" + ], + "systems": [ + "hyprlock", + "systems" + ] + }, + "locked": { + "lastModified": 1751061882, + "narHash": "sha256-g9n8Vrbx+2JYM170P9BbvGHN39Wlkr4U+V2WLHQsXL8=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "4737241eaf8a1e51671a2a088518071f9a265cf4", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, + "hyprwayland-scanner": { + "inputs": { + "nixpkgs": [ + "hypridle", + "nixpkgs" + ], + "systems": [ + "hypridle", + "systems" + ] + }, + "locked": { + "lastModified": 1749145760, + "narHash": "sha256-IHaGWpGrv7seFWdw/1A+wHtTsPlOGIKMrk1TUIYJEFI=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "817918315ea016cc2d94004bfb3223b5fd9dfcc6", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, + "hyprwayland-scanner_2": { + "inputs": { + "nixpkgs": [ + "hyprlock", + "nixpkgs" + ], + "systems": [ + "hyprlock", + "systems" + ] + }, + "locked": { + "lastModified": 1750371869, + "narHash": "sha256-lGk4gLjgZQ/rndUkzmPYcgbHr8gKU5u71vyrjnwfpB4=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "aa38edd6e3e277ae6a97ea83a69261a5c3aab9fd", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, "isd": { "inputs": { "nix-appimage": "nix-appimage", @@ -585,7 +847,7 @@ "pyproject-build-systems": "pyproject-build-systems", "pyproject-nix": "pyproject-nix", "systemd-nix": "systemd-nix", - "systems": "systems_4", + "systems": "systems_6", "uv2nix": "uv2nix" }, "locked": { @@ -687,11 +949,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1751335430, - "narHash": "sha256-OVP1yknJHvRK+eIy56UZsf9kUXSmwlwitPa9dZ0/HWo=", + "lastModified": 1751615996, + "narHash": "sha256-Hys3QZbSRQLS+na6nitA2Pd7mADZXPR9fN4UpZdC01Q=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "fab3c874b28d95696225b4e575c3b6dc5d6058fe", + "rev": "2f422b6ca7f4cd1f368b719fe27727e375b1fc39", "type": "github" }, "original": { @@ -792,7 +1054,7 @@ "nixpkgs" ], "nixpkgs-lib": "nixpkgs-lib_3", - "systems": "systems_5" + "systems": "systems_7" }, "locked": { "lastModified": 1748538518, @@ -942,11 +1204,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1751211869, - "narHash": "sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y=", + "lastModified": 1751479989, + "narHash": "sha256-M5KgdpVBVcW4HRVq9/OSRbrxlwsQ1ogEKqnvzsClDqU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b43c397f6c213918d6cfe6e3550abfe79b5d1c51", + "rev": "34627c90f062da515ea358360f448da57769236e", "type": "github" }, "original": { @@ -958,11 +1220,11 @@ }, "nixpkgs-stable_3": { "locked": { - "lastModified": 1751211869, - "narHash": "sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y=", + "lastModified": 1751479989, + "narHash": "sha256-M5KgdpVBVcW4HRVq9/OSRbrxlwsQ1ogEKqnvzsClDqU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b43c397f6c213918d6cfe6e3550abfe79b5d1c51", + "rev": "34627c90f062da515ea358360f448da57769236e", "type": "github" }, "original": { @@ -1158,6 +1420,8 @@ "emacs-overlay": "emacs-overlay", "envfs": "envfs", "home-manager": "home-manager", + "hypridle": "hypridle", + "hyprlock": "hyprlock", "isd": "isd", "musnix": "musnix", "nh": "nh", @@ -1247,11 +1511,11 @@ ] }, "locked": { - "lastModified": 1750119275, - "narHash": "sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M=", + "lastModified": 1751606940, + "narHash": "sha256-KrDPXobG7DFKTOteqdSVeL1bMVitDcy7otpVZWDE6MA=", "owner": "Mic92", "repo": "sops-nix", - "rev": "77c423a03b9b2b79709ea2cb63336312e78b72e2", + "rev": "3633fc4acf03f43b260244d94c71e9e14a2f6e0d", "type": "github" }, "original": { @@ -1296,6 +1560,21 @@ "type": "github" } }, + "systems_10": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "systems_2": { "locked": { "lastModified": 1681028828, @@ -1313,16 +1592,16 @@ }, "systems_3": { "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "default", + "repo": "default-linux", "type": "github" } }, @@ -1358,16 +1637,16 @@ }, "systems_6": { "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "default", + "repo": "default-linux", "type": "github" } }, @@ -1401,6 +1680,21 @@ "type": "github" } }, + "systems_9": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": "nixpkgs_3" diff --git a/flake.nix b/flake.nix index c5ef3e6..106d790 100644 --- a/flake.nix +++ b/flake.nix @@ -108,6 +108,16 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + hypridle = { + url = "github:hyprwm/hypridle"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + hyprlock = { + url = "github:hyprwm/hyprlock"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + # emenel-templates.url = "git+ssh://git@gt.emenel.ca/emenel/nix-flake-templates"; nix-way-templates.url = "github:the-nix-way/dev-templates"; diff --git a/homes/emenel/dotfiles/dot_local/bin/session-lock b/homes/emenel/dotfiles/dot_local/bin/session-lock deleted file mode 100755 index fc8e3ec..0000000 --- a/homes/emenel/dotfiles/dot_local/bin/session-lock +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env sh -/run/current-system/sw/bin/pidof swaylock || /etc/profiles/per-user/emenel/bin/swaylock diff --git a/hosts/eddie/configuration.nix b/hosts/eddie/configuration.nix index 6cb9e0d..317f5ce 100644 --- a/hosts/eddie/configuration.nix +++ b/hosts/eddie/configuration.nix @@ -192,6 +192,8 @@ swaylock.enableGnomeKeyring = true; swaylock-plugin.enableGnomeKeyring = true; swayidle.enableGnomeKeyring = true; + hypridle.enableGnomeKeyring = true; + hyprlock.enableGnomeKeyring = true; }; }; }; diff --git a/modules/home/desktop.nix b/modules/home/desktop.nix index 4ff6ad1..9230fae 100644 --- a/modules/home/desktop.nix +++ b/modules/home/desktop.nix @@ -7,7 +7,9 @@ waybar swaync mpv - sway-idle-lock + # sway-idle-lock + hypridle + hyprlock sway-launcher-desktop browsers ]; @@ -151,6 +153,8 @@ mangohud dualsensectl.out + shaderbg + ]; home.pointerCursor = { diff --git a/modules/home/hypridle.nix b/modules/home/hypridle.nix index a94f3ed..a03023f 100644 --- a/modules/home/hypridle.nix +++ b/modules/home/hypridle.nix @@ -5,7 +5,7 @@ package = inputs.hypridle.packages.x86_64-linux.default; settings = { general = { - lock_cmd = "/home/emenel/.local/bin/session-lock"; + lock_cmd = "pidof hyprlock || hyprlock"; before_sleep_cmd = "loginctl lock-session"; after_sleep_cmd = "/home/emenel/.local/bin/on-unlock"; ignore_dbus_inhibit = false; diff --git a/modules/home/hyprlock.nix b/modules/home/hyprlock.nix index 69335e4..6e8702a 100644 --- a/modules/home/hyprlock.nix +++ b/modules/home/hyprlock.nix @@ -9,7 +9,7 @@ in { settings = { general = { - grace = 3; + fail_timeout = 100; hide_cursor = true; }; diff --git a/modules/home/sway-idle-lock.nix b/modules/home/sway-idle-lock.nix index fe41367..b015e71 100644 --- a/modules/home/sway-idle-lock.nix +++ b/modules/home/sway-idle-lock.nix @@ -11,7 +11,7 @@ in events = [ { event = "lock"; - command = "${pkgs.swaylock-plugin}/bin/swaylock"; + command = "${pkgs.swaylock-plugin}/bin/swaylock-plugin"; } { event = "after-resume"; @@ -29,11 +29,7 @@ in # battery timers { timeout = 90; - command = "${pkgs.systemd}/bin/systemd-ac-power || ${pkgs.systemd}/bin/loginctl lock-session"; - } - { - timeout = 120; - command = "${pkgs.systemd}/bin/systemd-ac-power || ${pkgs.niri-unstable}/bin/niri msg action power-off-monitors"; + command = "${pkgs.systemd}/bin/systemd-ac-power || ${pkgs.niri-unstable}/bin/niri msg action power-off-monitors && ${pkgs.systemd}/bin/loginctl lock-session"; } { timeout = 180; @@ -43,14 +39,8 @@ in # ac power timers { timeout = 180; - command = "${pkgs.systemd}/bin/systemd-ac-power && ${pkgs.systemd}/bin/loginctl lock-session"; + command = "${pkgs.systemd}/bin/systemd-ac-power && ${pkgs.niri-unstable}/bin/niri msg action power-off-monitors && ${pkgs.systemd}/bin/loginctl lock-session"; } - - { - timeout = 240; - command = "${pkgs.systemd}/bin/systemd-ac-power && ${pkgs.niri-unstable}/bin/niri msg action power-off-monitors"; - } - { timeout = 600; command = "${pkgs.systemd}/bin/systemd-ac-power && ${pkgs.systemd}/bin/systemctl suspend";