{ config, pkgs, lib, inputs, osConfig, ... }: let modifier = lib.mkIf (${osConfig.keybinds.modifier} == "Meta") "Mod"; kb-layout = builtins.substring 0 2 osConfig.system.locale; in { options = { desktop.window-managers = { niri = { }; }; }; config = lib.mkIf osConfig.desktop.window-managers.niri.enable { home.file = { "~/.config/niri/config.kdl" = '' input { keyboard { xkb { layout "${kb-layout}" } repeat-delay 600 repeat-rate 20 track-layout "global" } touchpad { tap dwt accel-profile "flat" accel-speed 0.0 scroll-method "two-finger" } mouse { accel-speed 0.5 accel-profile "flat" } } gestures { hot-corners { off } } cursor { hide-when-typing hide-after-inactive-ms 2000 } xwayland-satellite { path "xwayland-satellite" } hotkey-overlay { hide-not-bound } binds { ${modifier}+Down cooldown-ms=150 { focus-workspace-down; } ${modifier}+Up cooldown-ms=150 { focus-workspace-up; } ${modifier}+${osConfig.keybinds.hotkeys.terminal} { spawn "${osConfig.terminal.binary}";} ${modifier}+Left {focus-column-left; } ${modifier}+Right {focus-column-right; } ${modifier}+${osConfig.keybinds.hotkeys.browser} { spawn "zen";} ${modifier}+${osConfig.keybinds.hotkeys.launcher} { spawn "walker";} Print { screenshot;} ${modifier}+Shift+Q { close-window; } } spawn-at-startup "elephant" spawn-at-startup "noctalia-shell" layout { gaps 20 focus-ring { width 5 } border { off } } window-rule { geometry-corner-radius 20 clip-to-geometry true } prefer-no-csd include "noctalia.kdl" ''; }; }; }