hyprland fixes and hyprlock

This commit is contained in:
foglar 2024-12-25 21:04:26 +01:00
parent 36e489b2cf
commit d23e380203
6 changed files with 107 additions and 12 deletions

View File

@ -6,10 +6,10 @@
}: }:
{ {
options = { options = {
rofi.clipboard.enable = lib.mkEnableOption "rofi-clipboard"; desktop.hyprland.rofi.clipboard.enable = lib.mkEnableOption "rofi-clipboard";
}; };
config = lib.mkIf config.rofi.clipboard.enable { config = lib.mkIf config.desktop.hyprland.rofi.clipboard.enable {
home.file = { home.file = {
".config/rofi/cliboard.rasi".source = ../../../../config/clipboard.rasi; ".config/rofi/cliboard.rasi".source = ../../../../config/clipboard.rasi;
}; };

View File

@ -14,13 +14,19 @@
./waybar.nix ./waybar.nix
./rofi.nix ./rofi.nix
./wlogout.nix ./wlogout.nix
./hyprlock.nix
]; ];
config = lib.mkIf config.desktop.hyprland.enable { config = lib.mkIf config.desktop.hyprland.enable {
desktop.hyprland = {
waybar.enable = lib.mkDefault true; waybar.enable = lib.mkDefault true;
rofi.enable = lib.mkDefault true; rofi = {
rofi.clipboard.enable = lib.mkDefault true; enable = lib.mkDefault true;
clipboard.enable = lib.mkDefault true;
};
hyprlock.enable = lib.mkDefault true;
wlogout.enable = lib.mkDefault true; wlogout.enable = lib.mkDefault true;
};
xdg.portal.enable = true; xdg.portal.enable = true;
xdg.portal.config = { xdg.portal.config = {
@ -32,6 +38,7 @@
services.network-manager-applet.enable = true; services.network-manager-applet.enable = true;
services.dunst.enable = true; services.dunst.enable = true;
programs.hyprlock.enable = true;
home.sessionVariables = { home.sessionVariables = {
WLR_NO_HARDWARE_CURSORS = "1"; WLR_NO_HARDWARE_CURSORS = "1";

View File

@ -0,0 +1,88 @@
{
lib,
config,
...
}: {
options = {
desktop.hyprland.hyprlock.enable = lib.mkEnableOption "Enable hyprlock";
};
config = lib.mkIf config.desktop.hyprland.hyprlock.enable {
programs.hyprlock = {
enable = true;
settings = {
general = {
disable_loading_bar = true;
hide_cursor = true;
};
background = {
monitor = "";
# all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
blur_passes = 0; # 0 disables blurring
blur_size = 3;
noise = 0.0117;
contrast = 0.8916;
brightness = 0.8172;
vibrancy = 0.1696;
vibrancy_darkness = 0.0;
};
image = {
monitor = "";
#path = ~/.face.icon
size = 100;
border_color = "$accent";
position = "0, 75";
halign = "center";
valign = "center";
};
input-field = {
monitor = "";
size = "200, 50";
outline_thickness = 0;
dots_size = 0.33; # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.15; # Scale of dots' absolute size, 0.0 - 1.0
dots_center = false;
dots_rounding = -1; # -1 default circle, -2 follow input-field rounding
#outer_color = "$accent";
#inner_color = "$surface0";
#font_color = "$text";
fade_on_empty = true;
fade_timeout = 1000; # Milliseconds before fade_on_empty is triggered.
#placeholder_text = '\'<span foreground="##cad3f5">Password...</span>'\';
hide_input = false;
rounding = -1; # -1 means complete rounding (circle/oval)
#check_color = "$accent";
#fail_color = "$red"; # if authentication failed, changes outer_color and fail message color
fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>"; # can be set to empty
fail_transition = 300; # transition time in ms between normal outer_color and fail_color
#capslock_color = "$yellow";
numlock_color = -1;
bothlock_color = -1; # when both locks are active. -1 means don't change outer color (same for above)
invert_numlock = false; # change color if numlock is off
swap_font_color = false; # see below
position = "0, -20";
halign = "center";
valign = "center";
};
label = {
monitor = "";
text = "$TIME $LAYOUT[!, cz, ru]";
color = "$text";
font_size = 40;
#font_family = "Monaspace Xenon";
position = "0, 80";
halign = "center";
valign = "center";
};
};
};
};
}

View File

@ -5,14 +5,14 @@
... ...
}: { }: {
options = { options = {
rofi.enable = lib.mkEnableOption "enable Rofi module"; desktop.hyprland.rofi.enable = lib.mkEnableOption "enable Rofi module";
}; };
imports = [ imports = [
./clipboard-rofi.nix ./clipboard-rofi.nix
]; ];
config = lib.mkIf config.rofi.enable { config = lib.mkIf config.desktop.hyprland.rofi.enable {
programs.rofi = { programs.rofi = {
enable = true; enable = true;
cycle = true; cycle = true;

View File

@ -5,10 +5,10 @@
... ...
}: { }: {
options = { options = {
waybar.enable = lib.mkEnableOption "enable Waybar module"; desktop.hyprland.waybar.enable = lib.mkEnableOption "enable Waybar module";
}; };
config = lib.mkIf config.waybar.enable { config = lib.mkIf config.desktop.hyprland.waybar.enable {
home.packages = [ home.packages = [
pkgs.waybar pkgs.waybar
]; ];

View File

@ -5,10 +5,10 @@
... ...
}: { }: {
options = { options = {
wlogout.enable = lib.mkEnableOption "enable wlogout module"; desktop.hyprland.wlogout.enable = lib.mkEnableOption "enable wlogout module";
}; };
config = lib.mkIf config.wlogout.enable { config = lib.mkIf config.desktop.hyprland.wlogout.enable {
programs.wlogout = { programs.wlogout = {
enable = true; enable = true;
layout = [ layout = [