112 lines
2 KiB
Nix
112 lines
2 KiB
Nix
{
|
|
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 "${osConfig.apps.browser.default}";}
|
|
${modifier}+${osConfig.keybinds.hotkeys.launcher} { spawn "${osConfig.desktop.window-managers.shell.launcher.default}";}
|
|
Print { screenshot;}
|
|
${modifier}+Shift+${osConfig.keybinds.hotkeys.close-window} { close-window; }
|
|
${modifier}+Shift+${osConfig.keybinds.hotkeys.editor} { spawn "${osConfig.apps.development.editor.default}";}
|
|
}
|
|
|
|
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"
|
|
|
|
|
|
'';
|
|
};
|
|
};
|
|
}
|