wayland: add hypridle & hyprlock
This commit is contained in:
parent
2c6d6a8921
commit
864c1afe32
5 changed files with 96 additions and 4 deletions
|
@ -14,7 +14,7 @@
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
imports = [./greetd.nix];
|
imports = [./services/greetd.nix];
|
||||||
environment = {
|
environment = {
|
||||||
systemPackages = with pkgs; [
|
systemPackages = with pkgs; [
|
||||||
dbus-hyprland-environment
|
dbus-hyprland-environment
|
||||||
|
@ -25,8 +25,6 @@ in {
|
||||||
satty
|
satty
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
wlr-randr
|
wlr-randr
|
||||||
swayidle
|
|
||||||
swaylock-effects
|
|
||||||
hyprpicker
|
hyprpicker
|
||||||
swww
|
swww
|
||||||
];
|
];
|
||||||
|
@ -60,7 +58,7 @@ in {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPortals = with pkgs; [
|
extraPortals = with pkgs; [
|
||||||
xdg-desktop-portal-gtk
|
xdg-desktop-portal-gtk
|
||||||
inputs.hyprland.packages.${system}.xdg-desktop-portal-hyprland
|
inputs.xdg-portal-hyprland.packages.${pkgs.system}.default
|
||||||
];
|
];
|
||||||
config = {
|
config = {
|
||||||
common.default = "*";
|
common.default = "*";
|
||||||
|
|
70
home/wayland/programs/hyprlock.nix
Normal file
70
home/wayland/programs/hyprlock.nix
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
_: {
|
||||||
|
programs.hyprlock = {
|
||||||
|
enable = true;
|
||||||
|
backgrounds = let
|
||||||
|
wallpaperPath = "/home/notoh/Pictures/wallpapers/cweam.png";
|
||||||
|
in [
|
||||||
|
{
|
||||||
|
monitor = "DP-1";
|
||||||
|
path = wallpaperPath;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
monitor = "DP-2";
|
||||||
|
path = wallpaperPath;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
monitor = "DP-3";
|
||||||
|
path = wallpaperPath;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
monitor = "HDMI-A-1";
|
||||||
|
path = wallpaperPath;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
general = {
|
||||||
|
disable_loading_bar = false;
|
||||||
|
hide_cursor = false;
|
||||||
|
no_fade_in = false;
|
||||||
|
};
|
||||||
|
input-fields = [
|
||||||
|
{
|
||||||
|
monitor = "DP-2";
|
||||||
|
size = {
|
||||||
|
width = 300;
|
||||||
|
height = 50;
|
||||||
|
};
|
||||||
|
outline_thickness = 2;
|
||||||
|
|
||||||
|
outer_color = "rgb(1e1e2e)";
|
||||||
|
inner_color = "rgb(1e1e2e)";
|
||||||
|
font_color = "rgb(cdd6f4)";
|
||||||
|
placeholder_text = ''
|
||||||
|
<span foreground="##cdd6f4">Password...</span>
|
||||||
|
'';
|
||||||
|
fade_on_empty = false;
|
||||||
|
dots_spacing = 0.3;
|
||||||
|
dots_center = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
labels = [
|
||||||
|
{
|
||||||
|
monitor = "DP-2";
|
||||||
|
text = "Hi, $USER";
|
||||||
|
color = "rgb(1e1e2e)";
|
||||||
|
valign = "center";
|
||||||
|
halign = "center";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
monitor = "DP-2";
|
||||||
|
text = "$TIME";
|
||||||
|
color = "rgb(1e1e2e)";
|
||||||
|
position = {
|
||||||
|
x = 0;
|
||||||
|
y = 120;
|
||||||
|
};
|
||||||
|
valign = "center";
|
||||||
|
halign = "center";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
24
home/wayland/services/hypridle.nix
Normal file
24
home/wayland/services/hypridle.nix
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
services.hypridle = {
|
||||||
|
enable = true;
|
||||||
|
ignoreDbusInhibit = false;
|
||||||
|
lockCmd = lib.getExe config.programs.hyprlock.package;
|
||||||
|
beforeSleepCmd = "${pkgs.systemd}/bin/loginctl lock-session";
|
||||||
|
listeners = [
|
||||||
|
{
|
||||||
|
timeout = 500;
|
||||||
|
onTimeout = "${lib.getExe config.programs.hyprlock.package}";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
timeout = 560;
|
||||||
|
onTimeout = "${config.wayland.windowManager.hyprland.package}/bin/hyprctl dispatch dpms off";
|
||||||
|
onResume = "${config.wayland.windowManager.hyprland.package}/bin/hyprctl dispatch dpms on";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue