Hyprlock & idle

This commit is contained in:
Henry Sipp
2025-06-28 13:40:05 -05:00
parent 914c121567
commit 57180d80bb
7 changed files with 65 additions and 11 deletions
+1 -1
View File
@@ -9,7 +9,7 @@ lib: {
description = "Main user's email address"; description = "Main user's email address";
}; };
theme = lib.mkOption { theme = lib.mkOption {
type = lib.types.enum ["tokyo-night" "kanagawa" "catppuccin"]; type = lib.types.enum ["tokyo-night" "kanagawa" "everforest" "catppuccin"];
default = "tokyo-night"; default = "tokyo-night";
description = "Theme to use for Omarchy configuration"; description = "Theme to use for Omarchy configuration";
}; };
+2 -1
View File
@@ -7,8 +7,9 @@ inputs: {
in { in {
imports = [ imports = [
(import ./hyprland.nix inputs) (import ./hyprland.nix inputs)
(import ./hyprlock.nix inputs)
(import ./hyprpaper.nix) (import ./hyprpaper.nix)
# (import ./hyprlock.nix) (import ./hypridle.nix)
(import ./alacritty.nix) (import ./alacritty.nix)
(import ./btop.nix) (import ./btop.nix)
(import ./direnv.nix) (import ./direnv.nix)
+23
View File
@@ -0,0 +1,23 @@
{...}: {
services.hypridle = {
enable = true;
settings = {
general = {
lock_cmd = "pidof hyprlock || hyprlock";
before_sleep_cmd = "loginctl lock-session";
after_sleep_cmd = "hyprctl dispatch dpms on";
};
listener = [
{
timeout = 300;
on-timeout = "loginctl lock-session";
}
{
timeout = 330;
on-timeout = "hyprctl dispatch dpms off";
on-resume = "hyprctl dispatch dpms on && brightnessctl -r";
}
];
};
};
}
+34 -4
View File
@@ -1,17 +1,21 @@
{ inputs: {
config, config,
pkgs, pkgs,
lib,
... ...
}: let }: let
cfg = config.omarchy; cfg = config.omarchy;
themes = import ../themes.nix; themes = import ../themes.nix;
theme = themes.${cfg.theme}; theme = themes.${cfg.theme};
rgba = inputs.nix-colors.lib.hexToRgba "#3c3836";
backgroundRgb = "rgb(${inputs.nix-colors.lib.conversions.hexToRGBString ", " (builtins.substring 1 6 theme.background)})";
surfaceRgb = "rgb(${inputs.nix-colors.lib.conversions.hexToRGBString ", " (builtins.substring 1 6 theme.surface)})";
foregroundRgb = "rgb(${inputs.nix-colors.lib.conversions.hexToRGBString ", " (builtins.substring 1 6 theme.foreground)})";
foregroundMutedRgb = "rgb(${inputs.nix-colors.lib.conversions.hexToRGBString ", " (builtins.substring 1 6 theme.foreground_muted)})";
in { in {
programs.hyprlock = { programs.hyprlock = {
enable = true; enable = true;
settings = { settings = {
source = "colors.conf";
general = { general = {
disable_loading_bar = true; disable_loading_bar = true;
no_fade_in = false; no_fade_in = false;
@@ -21,7 +25,33 @@ in {
}; };
background = { background = {
monitor = ""; monitor = "";
color = rgba; # You can now use the rgba value here color = backgroundRgb;
};
input-field = {
monitor = "";
size = "600, 100";
position = "0, 0";
halign = "center";
valign = "center";
# inner_color = "rgba(45,53,59,0.8)"; # #2d353b with opacity
inner_color = surfaceRgb;
outer_color = foregroundRgb; # #d3c6aa
outline_thickness = 4;
font_family = "CaskaydiaMono Nerd Font";
font_size = 32;
font_color = foregroundRgb;
placeholder_color = foregroundMutedRgb;
placeholder_text = "Enter Password";
check_color = "rgba(131, 192, 146, 1.0)";
fail_text = "Wrong";
rounding = 0;
shadow_passes = 0;
fade_on_empty = false;
}; };
}; };
}; };