nixfiles/home/environments/niri/niri.nix
2025-10-07 12:13:57 -07:00

121 lines
2.6 KiB
Nix

{
config,
pkgs,
lib,
...
}: let
inherit (lib.meta) getExe;
in {
home.packages = with pkgs; [
wl-clipboard
pamixer
wlr-randr
wl-screenrec
slurp
grim
pavucontrol
brightnessctl
nautilus
playerctl
glib
pcmanfm
];
stylix.targets.niri.enable = true;
programs.niri = {
settings = {
cursor = {
inherit (config.home.pointerCursor) size;
theme = config.home.pointerCursor.name;
};
gestures.hot-corners.enable = false;
input = {
workspace-auto-back-and-forth = true;
keyboard = {
xkb = {
options = "compose:rctrl,ctrl:nocaps";
};
};
mouse = {
accel-profile = "flat";
};
touchpad = {
dwt = true;
dwtp = true;
};
# i think this causes issues with games
#focus-follows-mouse.enable = true;
};
layout = {
gaps = 10;
always-center-single-column = true;
preset-column-widths = [
{proportion = 0.33333;}
{proportion = 0.5;}
{proportion = 0.66667;}
{proportion = 1.0;}
];
default-column-width = {
proportion = 1.0;
};
border = {
enable = true;
width = 2;
};
focus-ring = {
enable = false;
width = 2;
};
shadow = {
enable = true;
};
};
debug = {
honor-xdg-activation-with-invalid-serial = {};
#strict-new-window-focus-policy = {};
#deactivate-unfocused-windows = {};
};
workspaces = {
"01-notes" = {
name = "notes";
};
"02-chat" = {
name = "chat";
};
"03-browser" = {
name = "browser";
};
"04-code" = {
name = "code";
};
"05-term" = {
name = "term";
};
"06-mail" = {
name = "mail";
};
"07-game" = {
name = "game";
};
"08-video" = {
name = "video";
};
"09-audio" = {
name = "audio";
};
};
environment = {
MOZ_ENABLE_WAYLAND = "1";
XDG_CURRENT_DESKTOP = "niri";
GDK_BACKEND = "wayland";
CLUTTER_BACKEND = "wayland";
};
xwayland-satellite = {
enable = true;
path = getExe pkgs.xwayland-satellite-unstable;
};
prefer-no-csd = true;
clipboard.disable-primary = true;
hotkey-overlay.skip-at-startup = true;
};
};
}