nix/home/desktop/niri/default.nix

90 lines
2.9 KiB
Nix

{
lib,
pkgs,
config,
...
}: {
programs.fuzzel = {
enable = true;
settings = {
main = {
terminal = lib.getExe config.programs.terminal;
font = lib.mkForce "${config.stylix.fonts.sansSerif.name}:size=24";
};
};
};
services.hyprpaper.enable = true;
systemd.user.services.hyprpaper.Unit.WantedBy = ["niri.service"];
home.packages = with pkgs; [brightnessctl];
services.mako.enable = true;
programs.niri = {
settings = {
input.keyboard = {
xkb.layout = "us";
xkb.variant = "dvorak";
};
input.mouse = {
accel-profile = "flat";
};
input.focus-follows-mouse = {
enable = true;
};
prefer-no-csd = true;
spawn-at-startup = [
{command = [(lib.getExe pkgs.xwayland-satellite)];}
{command = [(lib.getExe config.services.mako.package)];}
];
binds = with config.lib.niri.actions; {
"Mod+Return".action.spawn = [(lib.getExe config.programs.terminal)];
"Mod+O".action.spawn = [(lib.getExe pkgs.cosmic-files)];
"Mod+D".action.spawn = [(lib.getExe config.programs.fuzzel.package)];
"Mod+MouseBack".action = open-overview;
"Mod+MouseForward".action = close-overview;
"Mod+WheelScrollRight".action = focus-column-right;
"Mod+Ctrl+WheelScrollRight".action = move-column-right;
"Mod+Right".action = focus-column-right;
"Mod+L".action = focus-column-right;
"Mod+Ctrl+L".action = move-column-right;
"Mod+WheelScrollLeft".action = focus-column-left;
"Mod+Ctrl+WheelScrollLeft".action = move-column-left;
"Mod+Left".action = focus-column-left;
"Mod+H".action = focus-column-left;
"Mod+Ctrl+H".action = move-column-left;
"Mod+Home".action = focus-column-first;
"Mod+End".action = focus-column-last;
"Mod+Comma".action = consume-or-expel-window-left;
"Mod+Period".action = consume-or-expel-window-right;
"Mod+Q".action = close-window;
"Mod+Shift+Escape".action = quit;
"Mod+WheelScrollDown".action = focus-workspace-down;
"Mod+WheelScrollUp".action = focus-workspace-up;
"Mod+Ctrl+WheelScrollDown".action = move-column-to-workspace-down;
"Mod+Ctrl+WheelScrollUp".action = move-column-to-workspace-up;
"Mod+M".action = maximize-column;
"Mod+G".action = toggle-window-floating;
"Print".action = screenshot;
"XF86AudioRaiseVolume".action.spawn = ["raise-volume"];
"XF86AudioLowerVolume".action.spawn = ["lower-volume"];
"XF86AudioMute".action.spawn = ["wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"];
"XF86AudioMicMute".action.spawn = ["wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"];
"XF86MonBrightnessUp".action.spawn = ["brightness" "+10%"];
"XF86MonBrightnessDown".action.spawn = ["brightness" "10%-"];
};
};
};
}