fix: hyprland breaking

This commit is contained in:
2026-05-15 13:38:03 +01:00
parent d53bba8961
commit 1977e912ee
+147 -147
View File
@@ -1,143 +1,144 @@
{ modules, ... }: {modules, ...}: {
{
modules.hyprland = { modules.hyprland = {
provides = { provides = {
doloro-settings = { doloro-settings = {
includes = [ includes = [
modules.dunst modules.dunst
]; ];
homeManager = homeManager = {
{ pkgs, home, ... }: pkgs,
{ home,
home.packages = [ ...
pkgs.hyprcursor }: {
pkgs.wlogout home.packages = [
pkgs.tofi pkgs.hyprcursor
pkgs.killall pkgs.wlogout
pkgs.grim pkgs.tofi
pkgs.slurp pkgs.killall
pkgs.wayclip pkgs.grim
pkgs.slurp
pkgs.wayclip
];
home.pointerCursor = {
enable = true;
name = "rose-pine-hyprcursor";
package = pkgs.rose-pine-hyprcursor;
hyprcursor.enable = true;
};
wayland.windowManager.hyprland.settings = {
env = [
"XCURSOR_THEME,BreezeX-RosePine-Linux"
"XCURSOR_SIZE,24"
"HYPRCURSOR_SIZE,24"
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
"WEBKIT_DISABLE_DMABUF_RENDERER,1" # maybe disable if nixos fixes alcom
]; ];
home.pointerCursor = { general = {
enable = true; gaps_in = 1;
name = "rose-pine-hyprcursor"; gaps_out = 1;
package = pkgs.rose-pine-hyprcursor; border_size = 1;
hyprcursor.enable = true; # "col.active_border" =
# "rgb(${toString base16.rgb."base06".r},${toString base16.rgb."base06".g},${toString base16.rgb."base06".b})";
# "col.inactive_border" =
# "rgb(${toString base16.rgb."base03".r},${toString base16.rgb."base03".g},${toString base16.rgb."base03".b})";
resize_on_border = false;
allow_tearing = true;
layout = "dwindle";
}; };
wayland.windowManager.hyprland.settings = { decoration = {
env = [ rounding = 4;
"XCURSOR_THEME,BreezeX-RosePine-Linux" rounding_power = 1;
"XCURSOR_SIZE,24" active_opacity = 1.0;
"HYPRCURSOR_SIZE,24" inactive_opacity = 1.0;
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
"WEBKIT_DISABLE_DMABUF_RENDERER,1" # maybe disable if nixos fixes alcom
];
general = {
gaps_in = 1;
gaps_out = 1;
border_size = 1;
# "col.active_border" =
# "rgb(${toString base16.rgb."base06".r},${toString base16.rgb."base06".g},${toString base16.rgb."base06".b})";
# "col.inactive_border" =
# "rgb(${toString base16.rgb."base03".r},${toString base16.rgb."base03".g},${toString base16.rgb."base03".b})";
resize_on_border = false;
allow_tearing = true;
layout = "dwindle";
};
decoration = {
rounding = 4;
rounding_power = 1;
active_opacity = 1.0;
inactive_opacity = 1.0;
shadow = { shadow = {
enabled = false; enabled = false;
}; };
blur = { blur = {
enabled = true;
passes = 1;
new_optimizations = true;
ignore_opacity = false;
};
};
cursor = {
no_hardware_cursors = true;
};
animations = {
enabled = true; enabled = true;
bezier = [ passes = 1;
"easeOutQuint,0.23,1,0.32,1" new_optimizations = true;
"easeInOutCubic,0.65,0.05,0.36,1" ignore_opacity = false;
"linear,0,0,1,1"
"almostLinear,0.5,0.5,0.75,1.0"
"quick,0.15,0,0.1,1"
];
animation = [
"global, 1, 10, default"
"border, 1, 5.39, easeOutQuint"
"windows, 1, 2.79, easeOutQuint"
"windowsIn, 1, 1, easeOutQuint, popin 87%"
"windowsOut, 1, 1, linear, popin 87%"
"windowsMove, 1, 1, easeInOutCubic"
"fadeIn, 1, 0.5, almostLinear"
"fadeOut, 1, 0.5, almostLinear"
"fade, 1, 1, quick"
"layers, 1, 3.81, easeOutQuint"
"layersIn, 1, 4, easeOutQuint, fade"
"layersOut, 1, 1.5, linear, fade"
"fadeLayersIn, 1, 1.79, almostLinear"
"fadeLayersOut, 1, 1.39, almostLinear"
"workspaces, 1, 1, almostLinear, slide"
"workspacesIn, 1, 1, easeInOutCubic, slide"
"workspacesOut, 1, 1, easeInOutCubic, slide"
"zoomFactor, 1, 7, quick"
];
}; };
dwindle = { };
pseudotile = true; cursor = {
preserve_split = true; no_hardware_cursors = true;
}; };
# master = { animations = {
# new_status = master; enabled = true;
# }; bezier = [
misc = { "easeOutQuint,0.23,1,0.32,1"
force_default_wallpaper = -1; "easeInOutCubic,0.65,0.05,0.36,1"
disable_hyprland_logo = false; "linear,0,0,1,1"
enable_anr_dialog = false; "almostLinear,0.5,0.5,0.75,1.0"
vfr = true; "quick,0.15,0,0.1,1"
}; ];
"$mainMod" = "SUPER"; animation = [
bind = [ "global, 1, 10, default"
"border, 1, 5.39, easeOutQuint"
"windows, 1, 2.79, easeOutQuint"
"windowsIn, 1, 1, easeOutQuint, popin 87%"
"windowsOut, 1, 1, linear, popin 87%"
"windowsMove, 1, 1, easeInOutCubic"
"fadeIn, 1, 0.5, almostLinear"
"fadeOut, 1, 0.5, almostLinear"
"fade, 1, 1, quick"
"layers, 1, 3.81, easeOutQuint"
"layersIn, 1, 4, easeOutQuint, fade"
"layersOut, 1, 1.5, linear, fade"
"fadeLayersIn, 1, 1.79, almostLinear"
"fadeLayersOut, 1, 1.39, almostLinear"
"workspaces, 1, 1, almostLinear, slide"
"workspacesIn, 1, 1, easeInOutCubic, slide"
"workspacesOut, 1, 1, easeInOutCubic, slide"
"zoomFactor, 1, 7, quick"
];
};
dwindle = {
# pseudotile = true;
preserve_split = true;
};
# master = {
# new_status = master;
# };
misc = {
force_default_wallpaper = -1;
disable_hyprland_logo = false;
enable_anr_dialog = false;
# vfr = true;
};
"$mainMod" = "SUPER";
bind =
[
( (
let let
config = pkgs.writeTextFile { config = pkgs.writeTextFile {
name = "config"; name = "config";
text = '' text = ''
width = 100% width = 100%
height = 100% height = 100%
border-width = 0 border-width = 0
outline-width = 0 outline-width = 0
padding-left = 35% padding-left = 35%
padding-top = 35% padding-top = 35%
result-spacing = 25 result-spacing = 25
num-results = 5 num-results = 5
font = monospace font = monospace
background-color = #000A background-color = #000A
''; '';
}; };
script = pkgs.writeShellScript "mreow" '' script = pkgs.writeShellScript "mreow" ''
exec $(tofi-drun -c ${config}) exec $(tofi-drun -c ${config})
''; '';
in in "$mainMod, R, exec, ${script}"
"$mainMod, R, exec, ${script}"
) )
"$mainMod, C, killactive" "$mainMod, C, killactive"
"$mainMod, M, exec, uwsm stop" "$mainMod, M, exec, uwsm stop"
"$mainMod, Q, exec, kitty" "$mainMod, Q, exec, kitty"
"$mainMod, V, togglefloating," "$mainMod, V, togglefloating,"
"$mainMod, P, pseudo, # dwindle" # "$mainMod, P, pseudo, # dwindle"
"$mainMod, J, togglesplit, # dwindle" # "$mainMod, J, togglesplit, # dwindle"
"$mainMod, left, movefocus, l" "$mainMod, left, movefocus, l"
"$mainMod, right, movefocus, r" "$mainMod, right, movefocus, r"
"$mainMod, up, movefocus, u" "$mainMod, up, movefocus, u"
@@ -146,10 +147,10 @@
( (
let let
script = pkgs.writeShellScript "meow" '' script = pkgs.writeShellScript "meow" ''
fish -c 'grim -g $(slurp) -t png - &| wl-copy -t image/png; killall wayfreeze' fish -c 'grim -g $(slurp) -t png - &| wl-copy -t image/png; killall wayfreeze'
''; '';
in in
"$mainMod, S, exec, " + "wayfreeze --after-freeze-cmd '${script}'" "$mainMod, S, exec, " + "wayfreeze --after-freeze-cmd '${script}'"
) )
"$mainMod, F, fullscreen" "$mainMod, F, fullscreen"
"$mainMod, mouse_down, workspace, e+1" "$mainMod, mouse_down, workspace, e+1"
@@ -162,40 +163,39 @@
] ]
++ (builtins.concatLists ( ++ (builtins.concatLists (
builtins.genList ( builtins.genList (
i: i: let
let
ws = i + 1; ws = i + 1;
in in [
[
"$mainMod, ${toString ws}, workspace, ${toString ws}" "$mainMod, ${toString ws}, workspace, ${toString ws}"
"$mainMod SHIFT, ${toString ws}, movetoworkspace, ${toString ws}" "$mainMod SHIFT, ${toString ws}, movetoworkspace, ${toString ws}"
] ]
) 9 )
9
)); ));
bindm = [ bindm = [
"$mainMod, mouse:272, movewindow" "$mainMod, mouse:272, movewindow"
"$mainMod, mouse:273, resizewindow" "$mainMod, mouse:273, resizewindow"
]; ];
windowrule = [ windowrule = [
"match:class .*, suppress_event maximize" "match:class .*, suppress_event maximize"
"match:class ^(gamescope)$, workspace 5" "match:class ^(gamescope)$, workspace 5"
"match:class ^(gamescope)$, immediate true" "match:class ^(gamescope)$, immediate true"
"match:class ^(steam)$, workspace 6 silent" "match:class ^(steam)$, workspace 6 silent"
"match:class ^(vesktop)$, workspace 8 silent" "match:class ^(vesktop)$, workspace 8 silent"
"match:class ^(org.telegram.desktop)$, workspace 8 silent" "match:class ^(org.telegram.desktop)$, workspace 8 silent"
"match:class ^(com.obsproject.Studio)$, workspace 10 silent" "match:class ^(com.obsproject.Studio)$, workspace 10 silent"
"match:initial_title ^(OBS Studio Crash Detected)$, pin true" "match:initial_title ^(OBS Studio Crash Detected)$, pin true"
"match:initial_title ^(Discord Popout)$, workspace 1 silent" "match:initial_title ^(Discord Popout)$, workspace 1 silent"
]; ];
layerrule = [ layerrule = [
"match:namespace ^(notifications)$, no_screen_share true" "match:namespace ^(notifications)$, no_screen_share true"
# "match:namespace ^(quickshell)$, blur true" # "match:namespace ^(quickshell)$, blur true"
]; ];
# exec-once = [ # exec-once = [
# ]; # ];
# we need to auto launch: quickshell, steam, ar_rpc (maybe), vesktop, telegram, qbit, and obs # we need to auto launch: quickshell, steam, ar_rpc (maybe), vesktop, telegram, qbit, and obs
};
}; };
};
}; };
}; };
}; };