nix-dotfiles/hmModules/apps/niri/app.nix

92 lines
2.8 KiB
Nix
Raw Normal View History

{ inputs, config, lib, pkgs, ... }:
{
options.niri = {
enable = lib.mkEnableOption "Enables niri";
outputs = lib.mkOption { default = {}; };
mouse.accel = lib.mkOption { default = 0.0; };
};
imports = [
inputs.niri.homeModules.niri
];
config = lib.mkIf config.niri.enable {
home.packages = [ pkgs.xwayland-satellite ];
programs.niri = {
enable = true;
settings = {
prefer-no-csd = true;
screenshot-path = config.xdg.userDirs.pictures + "/screenshots";
spawn-at-startup = [
{ command = [ "xwayland-satellite" ]; }
];
environment = {
ELECTRON_OZONE_PLATFORM_HINT = "auto";
DISPLAY = ":0";
};
outputs = config.niri.outputs;
input = {
mouse = {
accel-profile = "flat";
accel-speed = config.niri.mouse.accel;
};
};
layout = {
gaps = 3;
focus-ring.enable = false;
border = {
enable = true;
width = 2;
active.color = "#F5C2E7";
inactive.color = "#1E1D2F";
};
preset-column-widths = [
{ proportion = 1. / 2.; }
{ proportion = 1.; }
];
};
animations = {
slowdown = 0.6;
};
binds = with config.lib.niri.actions; {
"Mod+Return".action= spawn "${config.defaultApps.terminal}";
"Mod+Shift+Return".action = spawn "${pkgs.fuzzel}/bin/fuzzel";
2025-11-05 08:27:13 -08:00
"Mod+P".action.screenshot = [];
"Mod+Shift+P".action.screenshot-window = [];
"Mod+Tab".action = switch-preset-column-width;
"Mod+Shift+Q".action = quit;
"Mod+C".action = close-window;
"Mod+Space".action = maximize-column;
"Mod+SHIFT+Space".action = fullscreen-window;
"Mod+A".action = focus-monitor-left;
"Mod+F".action = focus-monitor-right;
"Mod+S".action = move-column-to-monitor-left;
"Mod+D".action = move-column-to-monitor-right;
"Mod+SHIFT+A".action = move-workspace-to-monitor-left;
"Mod+SHIFT+F".action = move-workspace-to-monitor-right;
"Mod+H".action = focus-column-left;
"Mod+J".action = focus-window-or-workspace-down;
"Mod+K".action = focus-window-or-workspace-up;
"Mod+L".action = focus-column-right;
"Mod+SHIFT+H".action = consume-or-expel-window-left;
"Mod+SHIFT+J".action = move-window-down-or-to-workspace-down;
"Mod+SHIFT+K".action = move-window-up-or-to-workspace-up;
"Mod+SHIFT+L".action = consume-or-expel-window-right;
"Mod+BracketLeft".action = set-column-width "-10%";
"Mod+BracketRight".action = set-column-width "+10%";
# "MOD+I".action = spawn-scratchpad;
};
};
};
};
}