Files
LiNix/modules/wrappedPrograms/niri.nix

167 lines
5.5 KiB
Nix

{ inputs, self, lib, ... }: let
inherit (lib) getExe;
in {
perSystem = { pkgs, self', ... }: {
packages.niri =
(inputs.wrappers.wrapperModules.niri.apply {
inherit pkgs;
settings = {
prefer-no-csd = null;
input = {
focus-follows-mouse = null;
keyboard = {
xkb = {
layout = "us";
options = "grp:alt_shift_toggle,caps:escape";
};
repeat-rate = 40;
repeat-delay = 250;
};
touchpad = {
natural-scroll = null;
tap = null;
};
mouse = {
accel-profile = "flat";
};
};
binds = {
"Mod+Return".spawn = ''${getExe pkgs.alacritty}'';
"Mod+O".toggle-overview = null;
"Mod+Shift+Slash".show-hotkey-overlay = null;
"Mod+Shift+Q".quit = null;
"Mod+Shift+Escape".spawn-sh = "noctalia-shell ipc call lockScreen lock";
"Mod+Q".close-window = null;
"Mod+F".maximize-column = null;
"Mod+G".fullscreen-window = null;
"Mod+Shift+F".toggle-window-floating = null;
"Mod+C".center-column = null;
"Mod+H".focus-column-left = null;
"Mod+L".focus-column-right = null;
"Mod+K".focus-window-up = null;
"Mod+J".focus-window-down = null;
"Mod+Left".focus-column-left = null;
"Mod+Right".focus-column-right = null;
"Mod+Up".focus-window-up = null;
"Mod+Down".focus-window-down = null;
"Mod+Shift+H".move-column-left = null;
"Mod+Shift+L".move-column-right = null;
"Mod+Shift+K".move-window-up = null;
"Mod+Shift+J".move-window-down = null;
"Mod+1".focus-workspace = "w0";
"Mod+2".focus-workspace = "w1";
"Mod+3".focus-workspace = "w2";
"Mod+4".focus-workspace = "w3";
"Mod+5".focus-workspace = "w4";
"Mod+6".focus-workspace = "w5";
"Mod+7".focus-workspace = "w6";
"Mod+8".focus-workspace = "w7";
"Mod+9".focus-workspace = "w8";
"Mod+0".focus-workspace = "w9";
"Mod+Shift+1".move-column-to-workspace = "w0";
"Mod+Shift+2".move-column-to-workspace = "w1";
"Mod+Shift+3".move-column-to-workspace = "w2";
"Mod+Shift+4".move-column-to-workspace = "w3";
"Mod+Shift+5".move-column-to-workspace = "w4";
"Mod+Shift+6".move-column-to-workspace = "w5";
"Mod+Shift+7".move-column-to-workspace = "w6";
"Mod+Shift+8".move-column-to-workspace = "w7";
"Mod+Shift+9".move-column-to-workspace = "w8";
"Mod+Shift+0".move-column-to-workspace = "w9";
"Mod+S".spawn-sh = "noctalia-shell ipc call launcher toggle";
"Mod+V".spawn-sh = ''${pkgs.alsa-utils}/bin/amixer sset Capture toggle'';
"XF86AudioRaiseVolume".spawn-sh = "wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%+";
"XF86AudioLowerVolume".spawn-sh = "wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%-";
"Mod+Ctrl+H".set-column-width = "-5%";
"Mod+Ctrl+L".set-column-width = "+5%";
"Mod+Ctrl+J".set-window-height = "-5%";
"Mod+Ctrl+K".set-window-height = "+5%";
"Mod+WheelScrollDown".focus-column-left = null;
"Mod+WheelScrollUp".focus-column-right = null;
"Mod+Ctrl+WheelScrollDown".focus-workspace-down = null;
"Mod+Ctrl+WheelScrollUp".focus-workspace-up = null;
"Mod+Ctrl+S".spawn-sh = ''${getExe pkgs.grim} -l 0 - | ${pkgs.wl-clipboard}/bin/wl-copy'';
"Mod+Shift+E".spawn-sh = ''${pkgs.wl-clipboard}/bin/wl-paste | ${getExe pkgs.swappy} -f -'';
"Mod+Shift+S".spawn-sh = getExe (pkgs.writeShellApplication {
name = "screenshot";
text = ''
${getExe pkgs.grim} -g "$(${getExe pkgs.slurp} -w 0)" - \
| ${pkgs.wl-clipboard}/bin/wl-copy
'';
});
"Mod+d".spawn-sh = self.mkWhichKeyExe pkgs [
{
key = "b";
desc = "Bluetooth";
cmd = "noctalia-shell ipc call bluetooth togglePanel";
}
{
key = "w";
desc = "Wifi";
cmd = "noctalia-shell ipc call wifi togglePanel";
}
{
key = "f";
desc = "Firefox";
cmd = "firefox";
}
];
};
layout = {
gaps = 5;
focus-ring = {
width = 2;
#active-color = "#${self.themeNoHash.base09}";
};
};
workspaces = let
settings = {layout.gaps = 5;};
in {
"w0" = settings;
"w1" = settings;
"w2" = settings;
"w3" = settings;
"w4" = settings;
"w5" = settings;
"w6" = settings;
"w7" = settings;
"w8" = settings;
"w9" = settings;
};
xwayland-satellite.path =
getExe pkgs.xwayland-satellite;
spawn-at-startup = [
(builtins.toString (getExe pkgs.noctalia-shell))
#(builtins.toString (getExe self'.packages.start-noctalia-shell))
];
};
}).wrapper;
};
}