dotfiles/home/modules/niri.nix

119 lines
3 KiB
Nix

{ config, lib, pkgs, ... }:
let
laptop = builtins.readFile "/etc/hostname" == "syl\n";
in
{
programs.niri = {
enable = true;
settings = {
binds = {
"XF86AudioRaiseVolume".action.spawn = ["volup"];
"XF86AudioLowerVolume".action.spawn = ["voldown"];
"Mod+E".action.spawn = "emacslof";
"Mod+B".action.spawn = "qblof";
"Mod+Shift+Q".action = quit;
"Mod+O".action = toggle-overview;
"Mod+F".action = fullscreen-window;
"Mod+M".action = toggle-windowed-fullscreen;
"Mod+C".action = close-window;
"Mod+Left".action = focus-column-left;
"Mod+Right".action = focus-column-right;
};
spawn-at-startup = [
{ argv = ["waybar"]; }
{ argv = ["kwalled6"]; }
{ argv = ["swww-daemon"]; }
{ argv = ["rbw-agent"]; }
{ argv = ["/usr/lib/kdeconnectd"]; }
{ argv = ["kdeconnect-indicator"]; }
{ argv = ["wl-paste --watch cliphist store"]; }
{ argv = ["swww img /home/chris/pics/wallpapers/tech.jpg --resize crop -t grow --transition-bezier .14,0,.14,.99"]; }
{ argv = ["dbus-update-activation-environment --systemd --all"]; }
];
workspaces = {
"main" = {
open-on-output = "eDP-1";
};
};
window-rules = [
all = {
geometry-corner-radius = {
top-left = 18;
top-right = 18;
bottom-left = 18;
bottom-right = 18;
};
};
emacs = {
matches.app-id = "emacs";
open-on-workspace = "main";
};
browser = {
matches.app-id = "org.qutebrowser.qutebrowser";
open-on-workspace = "main";
};
cosmic-files = {
matches.app-id = "com.system76.CosmicFiles";
open-on-workspace = "main";
open-floating = true;
};
];
layout = {
gaps = 15;
struts = {
bottom = 5;
left = 5;
right = 5;
top = 5;
};
shadow = {
enable = true;
draw-behind-window = false;
};
border = {
enable = true;
width = 4;
};
};
screenshot-path = "~/pics/screenshot_%Y-%m-%d_%H-%M-%S.png";
cursor = {
hide-after-inactive-ms = 3000;
hide-when-typing = true;
theme = "phinger-cursors-light";
};
outputs = {
"eDP-1" = {
enable = true;
mode = {
height = 1504;
width = 2256;
refresh = 60;
name = "A";
};
};
};
input = {
mod-key = "Super";
touchpad = {
accel-profile = "adaptive";
accel-speed = 0.75;
click-method = "clickfinger";
drag = true;
};
keyboard = {
repeat-delay = 180;
repeat-rate = 180;
};
warp-mouse-to-focus = {
enable = true;
};
};
environment = {
};
};
};
}