Compare commits

..

3 commits

3 changed files with 26 additions and 6 deletions

View file

@ -127,7 +127,10 @@ with lib; {
synology-drive-client synology-drive-client
]; ];
programs.chromium.enable = true; programs = {
chromium.enable = true;
nix-ld.enable = true;
};
home-manager.users.moritz = { home-manager.users.moritz = {
services.nextcloud-client = { services.nextcloud-client = {

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 {
@ -135,6 +145,7 @@ in
# only consider graphical-session.target started when hyprland-sesstion.target is reached # only consider graphical-session.target started when hyprland-sesstion.target is reached
systemd.user.targets.hyprland-session = { systemd.user.targets.hyprland-session = {
wantedBy = [ "graphical-session.target" ]; wantedBy = [ "graphical-session.target" ];
before = [ "graphical-session.target" ];
}; };