91 lines
2.8 KiB
Nix
91 lines
2.8 KiB
Nix
{ 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";
|
|
"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;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|