feat(hyrpland): go nightly for gestures

This commit is contained in:
Barrett Ruth 2026-02-15 01:21:19 -05:00
parent 0a732078d7
commit 217b81c877
Signed by: barrett
GPG key ID: A6C96C9349D2FC81
5 changed files with 573 additions and 48 deletions

View file

@ -3,6 +3,7 @@
lib,
config,
hostConfig,
hyprland ? null,
...
}:
@ -37,8 +38,20 @@ in
{
wayland.windowManager.hyprland = {
enable = true;
package = lib.mkIf (!hostConfig.isNixOS) null;
portalPackage = lib.mkIf (!hostConfig.isNixOS) null;
package =
if !hostConfig.isNixOS then
null
else if hyprland != null then
hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland
else
pkgs.hyprland;
portalPackage =
if !hostConfig.isNixOS then
null
else if hyprland != null then
hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland
else
pkgs.xdg-desktop-portal-hyprland;
systemd.enable = hostConfig.isNixOS;
extraConfig = ''
@ -69,39 +82,43 @@ in
splash = false
'';
xdg.configFile."hypr/hyprlock.conf".text = let c = config.colors; in ''
general {
hide_cursor = true
grace = 0
}
xdg.configFile."hypr/hyprlock.conf".text =
let
c = config.colors;
in
''
general {
hide_cursor = true
grace = 0
}
background {
monitor =
path = ${config.xdg.userDirs.pictures}/Screensavers/lock.jpg
}
background {
monitor =
path = ${config.xdg.userDirs.pictures}/Screensavers/lock.jpg
}
animations {
enabled = false
}
animations {
enabled = false
}
input-field {
monitor =
size = 300, 50
outline_thickness = 0
dots_text_format = *
dots_size = 0.9
dots_spacing = 0.3
dots_center = true
outer_color = rgba(00000000)
inner_color = rgba(00000000)
font_color = rgb(ffffff)
rounding = -1
placeholder_text =
position = 0, 0
halign = center
valign = center
}
'';
input-field {
monitor =
size = 300, 50
outline_thickness = 0
dots_text_format = *
dots_size = 0.9
dots_spacing = 0.3
dots_center = true
outer_color = rgba(00000000)
inner_color = rgba(00000000)
font_color = rgb(ffffff)
rounding = -1
placeholder_text =
position = 0, 0
halign = center
valign = center
}
'';
xdg.configFile."hypr/hypridle.conf".text = ''
general {

View file

@ -20,21 +20,37 @@ let
hexDigit =
c:
{
"0" = 0; "1" = 1; "2" = 2; "3" = 3; "4" = 4;
"5" = 5; "6" = 6; "7" = 7; "8" = 8; "9" = 9;
"a" = 10; "b" = 11; "c" = 12; "d" = 13; "e" = 14; "f" = 15;
"0" = 0;
"1" = 1;
"2" = 2;
"3" = 3;
"4" = 4;
"5" = 5;
"6" = 6;
"7" = 7;
"8" = 8;
"9" = 9;
"a" = 10;
"b" = 11;
"c" = 12;
"d" = 13;
"e" = 14;
"f" = 15;
}
.${c};
hexByte = hex: offset:
hexDigit (builtins.substring offset 1 hex) * 16
+ hexDigit (builtins.substring (offset + 1) 1 hex);
hexByte =
hex: offset:
hexDigit (builtins.substring offset 1 hex) * 16 + hexDigit (builtins.substring (offset + 1) 1 hex);
pad3 =
n:
if n < 10 then "00${toString n}"
else if n < 100 then "0${toString n}"
else toString n;
if n < 10 then
"00${toString n}"
else if n < 100 then
"0${toString n}"
else
toString n;
byteToFloat =
n:
@ -44,8 +60,7 @@ let
"${toString (scaled / 1000)}.${pad3 (scaled - (scaled / 1000) * 1000)}";
hexToRgb =
hex:
"${byteToFloat (hexByte hex 1)} ${byteToFloat (hexByte hex 3)} ${byteToFloat (hexByte hex 5)}";
hex: "${byteToFloat (hexByte hex 1)} ${byteToFloat (hexByte hex 3)} ${byteToFloat (hexByte hex 5)}";
mkSioyekTheme =
palette: isDark: