set niri config

This commit is contained in:
2026-08-20 12:20:33 -05:00
parent 1f36a23b9a
commit 94ed302d0b
3 changed files with 955 additions and 3 deletions

View File

@@ -49,7 +49,34 @@
};
};
};
fonts = {
fontconfig = {
defaultFonts = {
emoji = with pkgs; [
nerd-fonts.symbols-only
font-awesome
];
monospace = with pkgs; [
nerd-fonts.jetbrains-mono
nerd-fonts.hack
nerd-fonts.symbols-only
];
sansSerif = [
liberation_ttf_v2
];
serif = [
liberation_ttf_v2
];
};
antialiasing = true;
hinting = "medium";
subpixelRendering = "rgb";
};
};
programs = {
aerc = {
enable = true;
};
bat = {
enable = true;
extraPackages = with pkgs.bat-extras; [
@@ -59,6 +86,18 @@
batwatch
];
};
chromium = {
enable = true;
package = pkgs.ungoogled-chromium;
dictionaries = [
pkgs.hunspellDictsChromium.en-gb
pkgs.hunspellDictsChromium.en-us
pkgs.hunspellDictsChromium.fr-fr
];
};
command-not-found = {
enable = true;
};
delta = {
enable = true;
enableGitIntegration = true;
@@ -85,7 +124,7 @@
"--header"
];
git = true;
icons = "auto";
icons = "always";
};
fd = {
enable = true;
@@ -184,8 +223,29 @@
enable = true;
enableZshIntegration = true;
};
librewolf = {
enable = true;
};
neovide = {
enable = true;
settings = {
wayland-app-id = "neovide";
font = {
normal = [ pkgs.nerd-fonts.jetbrains-mono ];
size = 14.0;
};
};
};
neovim = {
enable = true;
initLua = builtins.readFile ../config/nvim/stobbsm/nvim.lua;
defaultEditor = true;
viAlias = true;
vimAlias = true;
vimdiffAlias = true;
withNodeJs = true;
withPerl = true;
withPython3 = true;
};
# noctalia = {
# enable = true;
@@ -327,6 +387,14 @@
};
tmux = {
enable = true;
clock24 = true;
escapeTime = 10;
focusEvents = true;
historyLimit = 5000;
keyMode = "vi";
mouse = true;
newSession = true;
terminal = "xterm-256color";
};
uv = {
enable = true;
@@ -363,4 +431,332 @@
};
};
};
wayland = {
windowManager = {
niri = {
enable = true;
settings = {
layout = {
focus-ring = {
active-color = "#9bdf9e";
inactive-color = "#7e997e";
urgent-color = "#e04b7c";
};
border = {
active-color = "#9bdf9e";
inactive-color = "#7e997e";
urgent-color = "#e04b7c";
};
shadow = {
color = "#3f4c3f70";
};
tab-indicator = {
active-color = "#9bdf9e";
inactive-color = "#7e997e";
urgent-color = "#e04b7c";
};
insert-hint = {
color = "#3f4c3f80";
};
_props.gaps = 16;
_props.center-focused-column = "never";
_props.background-color = "transparent";
preset-column-widths = {
_props.proportion = 0.33333;
_props.proportion = 0.5;
_props.proportion = 0.66667;
};
_props.struts = "{}";
};
recent-windows = {
highlight = {
_props.active-color = "#b1ccb1";
_props.urgent-color = "#e8789d";
};
};
animations = {
workspace-switch = {
"spring damping-ratio=1.0 stiffness=1000 epsilon=0.0001" = { };
};
window-open = {
duration-ms = 200;
curve = "ease-out-quad";
};
window-close = {
duration-ms = 200;
curve = "ease-out-cubic";
};
horizontal-view-movement = {
"spring damping-ratio=1.0 stiffness=900 epsilon=0.0001" = { };
};
window-movement = {
"spring damping-ratio=1.0 stiffness=800 epsilon=0.0001" = { };
};
window-resize = {
"spring damping-ratio=1.0 stiffness=1000 epsilon=0.0001" = { };
};
config-notification-open-close = {
"spring damping-ratio=0.6 stiffness=1200 epsilon=0.001" = { };
};
screenshot-ui-open = {
duration-ms = 300;
curve = "ease-out-quad";
};
overview-open-close = {
"spring damping-ratio=1.0 stiffness=900 epsilon=0.0001" = { };
};
};
input = {
keyboard = {
xkb = {
#layout = "us";
};
};
touchpad = {
tap = { };
natural-scroll = { };
};
mouse = {
accel-profile = "flat";
accel-speed = 0.0;
};
focus-follows-mouse = { };
workspace-auto-back-and-forth = { };
};
binds = {
"Mod+Shift+ESCAPE".show-hotkey-overlay = { };
"Mod+Return" = {
_props.hotkey-overlay-title = "Open Terminal: Ghostty";
spawn = [ "ghostty" ];
};
"Mod+B" = {
_props.hotkey-overlay-title = "Open Browser: firefox";
spawn = [ "firefox" ];
};
"Mod+ALT+L" = {
_props.hotkey-overlay-title = "Lock Screen: noctalia lock";
spawn-sh = [ "qs -c noctalia-shell ipc call lockScreen lock" ];
};
"Mod+Shift+Q" = {
_props.hotkey-overlay-title = "Session Menu: noctalia sessionMenu";
spawn-sh = [ "qs -c noctalia-shell ipc call sessionMenu toggle" ];
};
"Mod+E" = {
_props.hotkey-overlay-title = "File Manager: Nautilus";
spawn = [ "nautilus" ];
};
"XF86AudioRaiseVolume" = {
_props.allow-when-locked = true;
spawn-sh = [ "qs -c noctalia-shell ipc call volume increase" ];
};
"XF86AudioLowerVolume" = {
_props.allow-when-locked = true;
spawn-sh = [ "qs -c noctalia-shell ipc call volume decrease" ];
};
"XF86AudioMute" = {
_props.allow-when-locked = true;
spawn-sh = [ "qs -c noctalia-shell ipc call volume muteOutput" ];
};
"XF86AudioMicMute" = {
_props.allow-when-locked = true;
spawn-sh = [ "qs -c noctalia-shell ipc call volume muteInput" ];
};
"XF86AudioNext" = {
_props.allow-when-locked = true;
spawn-sh = [ "qs -c noctalia-shell ipc call media next" ];
};
"XF86AudioPrev" = {
_props.allow-when-locked = true;
spawn-sh = [ "qs -c noctalia-shell ipc call media previous" ];
};
"XF86AudioPlay" = {
_props.allow-when-locked = true;
spawn-sh = [ "qs -c noctalia-shell ipc call media playPause" ];
};
"XF86AudioPause" = {
_props.allow-when-locked = true;
spawn-sh = [ "qs -c noctalia-shell ipc call media playPause" ];
};
"XF86MonBrightnessUp" = {
_props.allow-when-locked = true;
spawn-sh = [ "qs -c noctalia-shell ipc call brightness increase" ];
};
"XF86MonBrightnessDown" = {
_props.allow-when-locked = true;
spawn-sh = [ "qs -c noctalia-shell ipc call brightness decrease" ];
};
"Mod+Q".close-window = { };
"Mod+Left".focus-column-left = { };
"Mod+H".focus-column-left = { };
"Mod+Right".focus-column-right = { };
"Mod+L".focus-column-right = { };
"Mod+Up".focus-window-up = { };
"Mod+K".focus-window-up = { };
"Mod+Down".focus-window-down = { };
"Mod+J".focus-window-down = { };
"Mod+CTRL+Left".move-column-left = { };
"Mod+CTRL+H".move-column-left = { };
"Mod+CTRL+Right".move-column-right = { };
"Mod+CTRL+L".move-column-right = { };
"Mod+CTRL+UP".move-window-up = { };
"Mod+CTRL+K".move-window-up = { };
"Mod+CTRL+Down".move-window-down = { };
"Mod+CTRL+J".move-window-down = { };
"Mod+Home".focus-column-first = { };
"Mod+End".focus-column-last = { };
"Mod+CTRL+Home".move-column-to-first = { };
"Mod+CTRL+End".move-column-to-last = { };
"Mod+Shift+Left".focus-monitor-left = { };
"Mod+Shift+Right".focus-monitor-right = { };
"Mod+Shift+UP".focus-monitor-up = { };
"Mod+Shift+Down".focus-monitor-down = { };
"Mod+Shift+CTRL+Left".move-column-to-monitor-left = { };
"Mod+Shift+CTRL+Right".move-column-to-monitor-right = { };
"Mod+Shift+CTRL+UP".move-column-to-monitor-up = { };
"Mod+Shift+CTRL+Down".move-column-to-monitor-down = { };
"Mod+Next" = {
_props.cooldown-ms = 150;
_props.focus-workspace-down = { };
};
"Mod+Prior" = {
_props.cooldown-ms = 150;
_props.focus-workspace-up = { };
};
"Mod+CTRL+Next" = {
_props.cooldown-ms = 150;
_props.move-column-to-workspace-down = { };
};
"Mod+CTRL+Prior" = {
_props.cooldown-ms = 150;
_props.move-column-to-workspace-up = { };
};
"Mod+WheelScrollRight".focus-column-right = { };
"Mod+WheelScrollLeft".focus-column-left = { };
"Mod+CTRL+WheelScrollRight".move-column-right = { };
"Mod+CTRL+WheelScrollLeft".move-column-left = { };
"Mod+Shift+WheelScrollDown".focus-column-right = { };
"Mod+Shift+WheelScrollUp".focus-column-left = { };
"Mod+CTRL+Shift+WheelScrollDown".move-column-right = { };
"Mod+CTRL+Shift+WheelScrollUp".move-column-left = { };
"Mod+1".focus-workspace = 1;
"Mod+2".focus-workspace = 2;
"Mod+3".focus-workspace = 3;
"Mod+4".focus-workspace = 4;
"Mod+5".focus-workspace = 5;
"Mod+6".focus-workspace = 6;
"Mod+7".focus-workspace = 7;
"Mod+8".focus-workspace = 8;
"Mod+9".focus-workspace = 9;
"Mod+CTRL+1".move-column-to-workspace = 1;
"Mod+CTRL+2".move-column-to-workspace = 2;
"Mod+CTRL+3".move-column-to-workspace = 3;
"Mod+CTRL+4".move-column-to-workspace = 4;
"Mod+CTRL+5".move-column-to-workspace = 5;
"Mod+CTRL+6".move-column-to-workspace = 6;
"Mod+CTRL+7".move-column-to-workspace = 7;
"Mod+CTRL+8".move-column-to-workspace = 8;
"Mod+CTRL+9".move-column-to-workspace = 9;
"Mod+TAB".focus-workspace-previous = { };
"Mod+CTRL+F".expand-column-to-available-width = { };
"Mod+C".center-column = { };
"Mod+CTRL+C".center-visible-columns = { };
"Mod+Minus".set-column-width = "-10%";
"Mod+Equal".set-column-width = "+10%";
"Mod+Shift+Minus".set-window-height = "-10%";
"Mod+Shift+Equal".set-window-height = "+10%";
"Mod+T".toggle-window-floating = { };
"Mod+F".fullscreen-window = { };
"Mod+W".toggle-column-tabbed-display = { };
"CTRL+Shift+1".screenshot = { };
"CTRL+Shift+2".screenshot-screen = { };
"CTRL+Shift+3".screenshot-window = { };
"Mod+ESCAPE" = {
allow-inhibiting = false;
toggle-keyboard-shortcuts-inhibit = { };
};
"CTRL+ALT+Delete".quit = { };
"Mod+Shift+P".power-off-monitors = { };
"Mod+O" = {
repeat = false;
toggle-overview = { };
};
};
_props.prefer-no-csd = { };
screenshot-path = "null";
environment = {
ELECTRON_OZONE_PLATFORM_HINT = "auto";
QT_QPA_PLATFORM = "wayland";
QT_QPA_PLATFORMTHEME = "gtk3";
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
XDG_CURRENT_DESKTOP = "niri";
XDG_SESSION_TYPE = "wayland";
};
cursor = {
xcursor-theme = "capitaine-cursors";
xcursor-size = 24;
};
debug = {
_props.honor-xdg-activation-with-invalid-serial = { };
};
hotkey-overlay = {
_props.skip-at-startup = { };
};
window-rule = {
_props.geometry-corner-radius = 20;
clip-to-geometry = true;
};
window-rule = {
match = "app-id=\"steam\"";
exclude = "title=r#\"^[Ss]team$\"#";
open-floating = true;
};
window-rule = {
match = "app-id=\"steam\" title=r#\"^notificationtoasts_\d+_desktop$\"#";
default-floating-position = "x=10 y=10 relative-to=\"bottom-right\"";
open-focused = false;
};
layer-rule = {
match = "namespace=\"^noctalia-wallpaper*\"";
place-within-backdrop = true;
};
};
systemd = {
enable = true;
};
};
};
};
}

View File

@@ -115,7 +115,7 @@ in
regex
];
};
customLuaRC = builtins.readFile ../config/nvim.lua;
customLuaRC = builtins.readFile ../config/nvim/system/nvim.lua;
};
};
zsh = {
@@ -123,4 +123,4 @@ in
};
};
}
}