nixfiles/home/environments/niri/niri.nix

100 lines
2.3 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
playerctl
glib
pcmanfm
];
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 = {
background-color = config.palette.base.hex;
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;
active.color = config.palette.surface0.hex;
inactive.color = config.palette.surface0.hex;
urgent.color = config.palette.red.hex;
};
focus-ring = {
enable = false;
width = 2;
active.color = config.palette.${config.catppuccin.accent}.hex;
};
shadow = {
enable = true;
color = config.palette.crust.hex;
};
};
debug = {
wait-for-frame-completion-in-pipewire = {};
};
workspaces = {
browser = {};
chat = {};
vidya = {};
media = {};
};
environment = {
MOZ_ENABLE_WAYLAND = "1";
XDG_CURRENT_DESKTOP = "niri";
GDK_BACKEND = "wayland,x11";
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;
};
};
}