From f1d30adc192df38fe8f6cd50cb2eae048789459b Mon Sep 17 00:00:00 2001 From: beeb5k Date: Wed, 17 Jun 2026 13:23:43 +0530 Subject: Niri config stuff and enable eyecandy and make ghostty default term --- common/modules/window_managers/niri/default.nix | 145 +++++++++++++++--------- 1 file changed, 89 insertions(+), 56 deletions(-) (limited to 'common/modules/window_managers/niri/default.nix') diff --git a/common/modules/window_managers/niri/default.nix b/common/modules/window_managers/niri/default.nix index 4905927..ac2d99e 100644 --- a/common/modules/window_managers/niri/default.nix +++ b/common/modules/window_managers/niri/default.nix @@ -14,8 +14,6 @@ let cfg = config.${moduleNameSpace}.windowManagers; scripts = import ../scripts.nix { inherit pkgs config; }; eyecandy = cfg.eyeCandy.enable; - terminal = - if config.beeMods.terminal.default == "foot" then "footclient" else config.beeMods.terminal.default; in { config = lib.mkIf cfg.niri.enable ( @@ -23,7 +21,6 @@ in { home.packages = with pkgs; [ xwayland-satellite - evtest ]; xdg.configFile."niri/config.kdl".text = '' include optional=true "./noctalia.kdl" @@ -63,14 +60,14 @@ in } blur { - passes ${if eyecandy then toString cfg.eyeCandy.window.blur.passes else "0"} - offset ${if eyecandy then toString cfg.eyeCandy.window.blur.radius else "0"} - noise 0.03 - saturation 1.0 + passes ${if eyecandy then toString cfg.eyeCandy.window.blur.passes else "0"} + offset ${if eyecandy then toString cfg.eyeCandy.window.blur.radius else "0"} + noise 0.03 + saturation 1.3 } layout { - gaps 4 + gaps 5 center-focused-column "never" background-color "transparent" @@ -89,18 +86,17 @@ in } focus-ring { - on - width 2 + off + width 2 } border { - off + on width 2 } shadow { - off - // on + ${if eyecandy && cfg.eyeCandy.window.shadows.enable then "on" else "off"} softness 30 spread 5 offset x=0 y=5 @@ -144,6 +140,14 @@ in } } + window-rule { + match is-floating=true + + background-effect { + xray false + } + } + window-rule { match title="^Kdenlive$" open-floating true @@ -151,73 +155,102 @@ in } window-rule { - match app-id=r#"^(firefox|librewolf)$"# - open-on-workspace "1" - open-maximized true + match app-id=r#"^(firefox|librewolf|brave-origin)$"# + open-on-workspace "1" + open-maximized true + } + + window-rule { + match app-id=r#"^(foot|footclient|Alacritty|com.mitchellh.ghostty|kitty)$"# + open-on-workspace "2" + open-focused true + } + + window-rule { + match app-id=r#"^(vesktop|mpv|.*Kdenlive.*)$"# + open-on-workspace "3" + open-focused true } window-rule { - match app-id=r#"^(foot|footclient|Alacritty|com.mitchellh.ghostty|kitty)$"# - open-on-workspace "2" + match app-id=r#"^(steam)$"# + open-on-workspace "4" } + // steam games window-rule { - match app-id=r#"^(vesktop|mpv|.*Kdenlive.*)$"# - open-on-workspace "3" - open-focused true + match app-id=r#"^steam_app_.*$"# + open-on-workspace "4" + open-fullscreen true + open-floating false } window-rule { - match app-id=r#"^(steam)$"# - open-on-workspace "4" + draw-border-with-background false + geometry-corner-radius ${if eyecandy then toString cfg.eyeCandy.window.borderRadius else "0"} + clip-to-geometry ${ + if eyecandy && cfg.eyeCandy.window.borderRadius != 0 then "true" else "false" + } + opacity ${if eyecandy then toString cfg.eyeCandy.window.opacity else "1.0"} + background-effect { + blur ${if eyecandy && cfg.eyeCandy.window.blur.enable then "true" else "false"} + } + popups { + geometry-corner-radius 15 + + background-effect { + xray false + blur ${if eyecandy && cfg.eyeCandy.window.blur.enable then "true" else "false"} + } + } } - ${lib.optionalString (config.beeMods.terminal.default == "foot") '' + ${lib.optionalString (scripts.defaultTerm == "foot") '' spawn-sh-at-startup "foot --server" ''} binds { Mod+Shift+Slash { show-hotkey-overlay; } - Mod+Return hotkey-overlay-title="Open a Terminal: ${config.beeMods.terminal.default}" { spawn "${terminal}"; } + Mod+Return hotkey-overlay-title="Open a Terminal: ${scripts.defaultTerm}" { spawn-sh "${scripts.terminal}"; } - ${lib.optionalString (config.beeMods.matugen.enable && cfg.beeConfig.enable && !cfg.noctalia) '' - Mod+A hotkey-overlay-title="Run an Application" { spawn-sh "rofi -show drun"; } - Mod+Y hotkey-overlay-title="Open wallpaper picker" { spawn-sh "${scripts.dostuff} wall"; } - Mod+Comma hotkey-overlay-title="Open Noctalia settings" { spawn-sh "${scripts.dostuff} settings"; } + ${lib.optionalString (config.beeMods.matugen.enable && cfg.beeConfig.enable && !cfg.noctalia) '' + Mod+A hotkey-overlay-title="Run an Application" { spawn-sh "rofi -show drun"; } + Mod+Y hotkey-overlay-title="Open wallpaper picker" { spawn-sh "${scripts.dostuff} wall"; } + Mod+Comma hotkey-overlay-title="Open Noctalia settings" { spawn-sh "${scripts.dostuff} settings"; } - XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "${scripts.volume} up"; } - XF86AudioLowerVolume allow-when-locked=true { spawn-sh "${scripts.volume} down"; } - XF86AudioMute allow-when-locked=true { spawn-sh "${scripts.volume} toggle"; } - XF86AudioMicMute allow-when-locked=true { spawn-sh "${scripts.micToggle}"; } + XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "${scripts.volume} up"; } + XF86AudioLowerVolume allow-when-locked=true { spawn-sh "${scripts.volume} down"; } + XF86AudioMute allow-when-locked=true { spawn-sh "${scripts.volume} toggle"; } + XF86AudioMicMute allow-when-locked=true { spawn-sh "${scripts.micToggle}"; } - Mod+TouchpadScrollDown { spawn-sh "${scripts.volume} up 0.02"; } - Mod+TouchpadScrollUp { spawn-sh "${scripts.volume} down 0.02"; } + Mod+TouchpadScrollDown { spawn-sh "${scripts.volume} up 0.02"; } + Mod+TouchpadScrollUp { spawn-sh "${scripts.volume} down 0.02"; } - XF86MonBrightnessUp allow-when-locked=true { spawn-sh "${scripts.brightness} up"; } - XF86MonBrightnessDown allow-when-locked=true { spawn-sh "${scripts.brightness} down"; } - ''} + XF86MonBrightnessUp allow-when-locked=true { spawn-sh "${scripts.brightness} up"; } + XF86MonBrightnessDown allow-when-locked=true { spawn-sh "${scripts.brightness} down"; } + ''} - ${lib.optionalString (!cfg.beeConfig.enable && cfg.noctalia) '' - Mod+A hotkey-overlay-title="Run an Application" { spawn-sh "noctalia msg panel-toggle launcher"; } - Mod+Y hotkey-overlay-title="Open wallpaper picker" { spawn-sh "noctalia msg panel-toggle wallpaper"; } - Mod+V hotkey-overlay-title="Open clipboard panel" { spawn-sh "noctalia msg panel-toggle clipboard"; } - Mod+Comma hotkey-overlay-title="Open Noctalia settings" { spawn-sh "noctalia msg settings-toggle"; } - Mod+S { spawn-sh "noctalia msg panel-toggle control-center"; } - Alt+F4 { spawn-sh "noctalia msg panel-toggle session"; } + ${lib.optionalString (!cfg.beeConfig.enable && cfg.noctalia) '' + Mod+A hotkey-overlay-title="Run an Application" { spawn-sh "noctalia msg panel-toggle launcher"; } + Mod+Y hotkey-overlay-title="Open wallpaper picker" { spawn-sh "noctalia msg panel-toggle wallpaper"; } + Mod+V hotkey-overlay-title="Open clipboard panel" { spawn-sh "noctalia msg panel-toggle clipboard"; } + Mod+Comma hotkey-overlay-title="Open Noctalia settings" { spawn-sh "noctalia msg settings-toggle"; } + Mod+S { spawn-sh "noctalia msg panel-toggle control-center"; } + Alt+F4 { spawn-sh "noctalia msg panel-toggle session"; } - XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "noctalia msg volume-up"; } - XF86AudioLowerVolume allow-when-locked=true { spawn-sh "noctalia msg volume-down"; } - XF86AudioMute allow-when-locked=true { spawn-sh "noctalia msg volume-mute"; } - XF86AudioMicMute allow-when-locked=true { spawn-sh "noctalia msg mic-mute"; } + XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "noctalia msg volume-up"; } + XF86AudioLowerVolume allow-when-locked=true { spawn-sh "noctalia msg volume-down"; } + XF86AudioMute allow-when-locked=true { spawn-sh "noctalia msg volume-mute"; } + XF86AudioMicMute allow-when-locked=true { spawn-sh "noctalia msg mic-mute"; } - Mod+TouchpadScrollDown { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02+"; } - Mod+TouchpadScrollUp { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02-"; } + Mod+TouchpadScrollDown { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02+"; } + Mod+TouchpadScrollUp { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02-"; } - XF86MonBrightnessUp allow-when-locked=true { spawn-sh "noctalia msg brightness-up"; } - XF86MonBrightnessDown allow-when-locked=true { spawn-sh "noctalia msg brightness-down"; } - ''} + XF86MonBrightnessUp allow-when-locked=true { spawn-sh "noctalia msg brightness-up"; } + XF86MonBrightnessDown allow-when-locked=true { spawn-sh "noctalia msg brightness-down"; } + ''} Mod+E hotkey-overlay-title="Open wallpaper picker" { spawn-sh "nautilus"; } Mod+B hotkey-overlay-title="Open wallpaper picker" { spawn-sh "librewolf"; } @@ -374,8 +407,8 @@ in // a matching layout switch hotkey configured in xkb options above. // Having both at once on the same hotkey will break the switching, // since it will switch twice upon pressing the hotkey (once by xkb, once by niri). - Mod+Shift+N { switch-layout "next"; } - Mod+Shift+P { switch-layout "prev"; } + Mod+Shift+N { switch-layout "next"; } + Mod+Shift+P { switch-layout "prev"; } Print { screenshot-screen; } Mod+Print { screenshot; } -- cgit v1.3.1