dotnix/apps/gui/niri.nix

126 lines
2.4 KiB
Nix

{ pkgs, ... }:
{
home.packages = with pkgs; [
wofi
waybar
];
programs.niri = {
enable = true;
settings = {
input = {
#keyboard = {
# layout = "us";
#};
touchpad = {
tap = true;
natural-scroll = true;
};
};
binds = {
"Mod+T" = {
action.spawn = "ghostty";
};
# App launcher
"Mod+D" = {
action.spawn = [
"wofi"
"--show"
"drun"
];
};
"Mod+Q" = {
action.close-window = { };
};
"Mod+Shift+E" = {
action.quit = { };
};
"Print" = {
action.spawn = "grim";
};
"Shift+Print" = {
action.spawn = [
"sh"
"-c"
"grim -g \"$(slurp)\""
];
};
"Mod+Left" = {
action.focus-column-left = { };
};
"Mod+Right" = {
action.focus-column-right = { };
};
"Mod+Up" = {
action.focus-window-up = { };
};
"Mod+Down" = {
action.focus-window-down = { };
};
"Mod+Shift+Left" = {
action.move-column-left = { };
};
"Mod+Shift+Right" = {
action.move-column-right = { };
};
"Mod+Shift+Up" = {
action.move-window-up = { };
};
"Mod+Shift+Down" = {
action.move-window-down = { };
};
"Mod+R" = {
action.switch-preset-column-width = { };
};
"Mod+1" = {
action.focus-workspace = 1;
};
"Mod+2" = {
action.focus-workspace = 2;
};
"Mod+3" = {
action.focus-workspace = 3;
};
"Mod+4" = {
action.focus-workspace = 4;
};
"Mod+Shift+1" = {
action.move-column-to-workspace = 1;
};
"Mod+Shift+2" = {
action.move-column-to-workspace = 2;
};
"Mod+Shift+3" = {
action.move-column-to-workspace = 3;
};
"Mod+Shift+4" = {
action.move-column-to-workspace = 4;
};
};
layout = {
gaps = 16;
center-focused-column = "never";
};
window-rules = [
{
matches = [ { app-id = "firefox"; } ];
default-column-width = {
proportion = 0.5;
};
}
];
};
};
}