add options for blur and shadows

This commit is contained in:
Moritz Böhme 2023-01-11 10:39:29 +01:00
parent 06977cc8fc
commit 30f71eefd4
Signed by: moritz
GPG key ID: 970C6E89EB0547A9
2 changed files with 21 additions and 5 deletions

View file

@ -6,6 +6,10 @@
with lib; with lib;
let let
cfg = config.my.programs.hyprland;
boolToYesNo = bool: if bool then "yes" else "no";
mkRule = rule: windowRegexes: "windowrulev2 = ${rule},${concatStringsSep "," windowRegexes}"; mkRule = rule: windowRegexes: "windowrulev2 = ${rule},${concatStringsSep "," windowRegexes}";
mkRules = rules: windowRegexes: concatStringsSep "\n" (map (flip mkRule windowRegexes) rules); mkRules = rules: windowRegexes: concatStringsSep "\n" (map (flip mkRule windowRegexes) rules);
in in
@ -55,12 +59,12 @@ in
# See https://wiki.hyprland.org/Configuring/Variables/ for more # See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 3 rounding = 3
blur = yes blur = ${boolToYesNo cfg.blur}
blur_size = 3 blur_size = 3
blur_passes = 3 blur_passes = 3
blur_new_optimizations = on blur_new_optimizations = on
drop_shadow = yes drop_shadow = ${boolToYesNo cfg.shadows}
shadow_range = 10 shadow_range = 10
shadow_render_power = 2 shadow_render_power = 2
@ -109,17 +113,19 @@ in
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
${optionalString cfg.blur ''
# Kitty # Kitty
windowrulev2 = opacity 0.95 0.95, class:^kitty$ windowrulev2 = opacity 0.95 0.95, class:^kitty$
# Rofi
${mkRules ["float" "opacity 0.85 0.85" "noborder"] ["class:^([rR]ofi)$"]}
windowrulev2 = opacity 0.85 0.85, floating:1 windowrulev2 = opacity 0.85 0.85, floating:1
''}
# Firefox Sharing Indicator # Firefox Sharing Indicator
${mkRules ["float" "move 49% 40" "noborder"] ["title:^(.*Sharing Indicator)$"]} ${mkRules ["float" "move 49% 40" "noborder"] ["title:^(.*Sharing Indicator)$"]}
# Rofi
${mkRules ["float" "opacity 0.85 0.85" "noborder"] ["class:^([rR]ofi)$"]}
# Emacs # Emacs
windowrulev2 = opaque, class:^emacs$ windowrulev2 = opaque, class:^emacs$

View file

@ -15,6 +15,16 @@ in
options.my.programs.hyprland = { options.my.programs.hyprland = {
enable = mkEnableOption "hyprland"; enable = mkEnableOption "hyprland";
nvidiaSupport = mkEnableOption "enable nvidia Support"; nvidiaSupport = mkEnableOption "enable nvidia Support";
blur = mkOption {
type = types.bool;
description = "enable window blurring";
default = true;
};
shadows = mkOption {
type = types.bool;
description = "enable window shadows";
default = true;
};
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {