nixos: gen 4 @ lilac — 2026-08-16 15:09 26.05.20260814.02e0898 (Yarara) -----
This commit is contained in:
+74
-90
@@ -36,7 +36,6 @@ let
|
||||
in
|
||||
|
||||
{
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
# Use gtk or kde based on your preferred file picker dialog
|
||||
@@ -48,95 +47,80 @@ in
|
||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||
};
|
||||
|
||||
programs.niri = {
|
||||
settings = {
|
||||
# Autostart DMS if you prefer launching it directly from Niri instead of systemd
|
||||
spawn-at-startup = [
|
||||
{ command = [ "dms" "run" ]; }
|
||||
{ command = [ "${launch-wvkbd}/bin/launch-wvkbd" ]; }
|
||||
{ command = [ "${launch-lisgd}/bin/launch-lisgd" ]; } # Spawns the daemon
|
||||
];
|
||||
|
||||
hotkey-overlay = {
|
||||
skip-at-startup = true;
|
||||
};
|
||||
|
||||
input = {
|
||||
keyboard.xkb.layout = "us";
|
||||
touchpad = {
|
||||
tap = true;
|
||||
natural-scroll = true;
|
||||
};
|
||||
};
|
||||
|
||||
layout = {
|
||||
gaps = 8;
|
||||
center-focused-column = "never";
|
||||
default-column-width.proportion = 1.0;
|
||||
border.enable = false;
|
||||
#tab-indicator.corner-radius = 18.0;
|
||||
focus-ring = {
|
||||
|
||||
enable = false;
|
||||
width = 2;
|
||||
};
|
||||
};
|
||||
|
||||
prefer-no-csd = true;
|
||||
window-rules = [
|
||||
{ # All windows
|
||||
geometry-corner-radius = {
|
||||
bottom-left = 25.0;
|
||||
bottom-right = 25.0;
|
||||
top-right = 25.0;
|
||||
top-left = 25.0;
|
||||
};
|
||||
|
||||
draw-border-with-background = true;
|
||||
clip-to-geometry = true;
|
||||
#programs.niri.enable = true;
|
||||
xdg.configFile."niri/config.kdl".text = lib.mkForce ''
|
||||
input {
|
||||
keyboard {
|
||||
xkb {
|
||||
layout "us"
|
||||
model ""
|
||||
rules ""
|
||||
variant ""
|
||||
}
|
||||
repeat-delay 600
|
||||
repeat-rate 25
|
||||
track-layout "global"
|
||||
}
|
||||
];
|
||||
touchpad {
|
||||
tap
|
||||
natural-scroll
|
||||
}
|
||||
}
|
||||
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
|
||||
prefer-no-csd
|
||||
layout {
|
||||
gaps 8
|
||||
struts {
|
||||
left 0
|
||||
right 0
|
||||
top 0
|
||||
bottom 0
|
||||
}
|
||||
focus-ring { off; }
|
||||
border { off; }
|
||||
default-column-width { proportion 1.000000; }
|
||||
center-focused-column "never"
|
||||
}
|
||||
cursor {
|
||||
xcursor-theme "default"
|
||||
xcursor-size 24
|
||||
}
|
||||
hotkey-overlay { skip-at-startup; }
|
||||
binds {
|
||||
Ctrl+Print { screenshot-screen; }
|
||||
Mod+F { fullscreen-window; }
|
||||
Mod+H { focus-column-left; }
|
||||
Mod+J { focus-window-down; }
|
||||
Mod+K { focus-window-up; }
|
||||
Mod+L { focus-column-right; }
|
||||
Mod+N { focus-workspace-down; }
|
||||
Mod+P { spawn "pkill" "-RTMIN" "wvkbd-mobintl"; }
|
||||
Mod+Return { spawn "alacritty"; }
|
||||
Mod+Shift+E { quit; }
|
||||
Mod+Shift+H { move-column-left; }
|
||||
Mod+Shift+J { move-column-to-workspace-down; }
|
||||
Mod+Shift+K { move-column-to-workspace-up; }
|
||||
Mod+Shift+L { move-column-right; }
|
||||
Mod+Shift+P { toggle-overview; }
|
||||
Mod+Space { spawn "dms" "ipc" "spotlight" "toggle"; }
|
||||
Mod+U { focus-workspace-up; }
|
||||
Mod+X { close-window; }
|
||||
Print { screenshot; }
|
||||
XF86AudioLowerVolume { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.05-"; }
|
||||
XF86AudioMute { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; }
|
||||
XF86AudioRaiseVolume { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.05+"; }
|
||||
XF86MonBrightnessDown { spawn "dms" "ipc" "call" "brightness" "decrement" "5" ""; }
|
||||
XF86MonBrightnessUp { spawn "dms" "ipc" "call" "brightness" "increment" "5" ""; }
|
||||
}
|
||||
spawn-at-startup "dms" "run"
|
||||
spawn-at-startup "/nix/store/b1kxyzg5r6644mcmjh8jwsb8rinqzsw8-launch-wvkbd/bin/launch-wvkbd"
|
||||
spawn-at-startup "/nix/store/l9k161qcs6ypzzbicjhkn8b203r610j6-launch-lisgd/bin/launch-lisgd"
|
||||
window-rule {
|
||||
draw-border-with-background true
|
||||
geometry-corner-radius 25.000000 25.000000 25.000000 25.000000
|
||||
clip-to-geometry true
|
||||
}
|
||||
|
||||
# Vim Keybindings & Built-in Features
|
||||
binds = with config.lib.niri.actions; {
|
||||
# Launchers & Session Control
|
||||
"Mod+Return".action.spawn = [ "alacritty" ];
|
||||
"Mod+P".action.spawn = [ "pkill" "-RTMIN" "wvkbd-mobintl" ];
|
||||
"Mod+Space".action.spawn = [ "dms" "ipc" "spotlight" "toggle" ];
|
||||
"Mod+X".action.close-window = [];
|
||||
"Mod+F".action.fullscreen-window = [];
|
||||
"Mod+Shift+E".action.quit = [];
|
||||
"Mod+Shift+P".action.toggle-overview = [];
|
||||
|
||||
# Vim Focus Movement
|
||||
"Mod+H".action.focus-column-left = [];
|
||||
"Mod+J".action.focus-window-down = [];
|
||||
"Mod+K".action.focus-window-up = [];
|
||||
"Mod+L".action.focus-column-right = [];
|
||||
|
||||
# Workspace Navigation
|
||||
"Mod+N".action.focus-workspace-down = [];
|
||||
"Mod+U".action.focus-workspace-up = [];
|
||||
|
||||
# Vim Window Reordering
|
||||
"Mod+Shift+H".action.move-column-left = [];
|
||||
"Mod+Shift+L".action.move-column-right = [];
|
||||
"Mod+Shift+J".action.move-column-to-workspace-down = [];
|
||||
"Mod+Shift+K".action.move-column-to-workspace-up = [];
|
||||
|
||||
# Volume & Brightness Media Controls
|
||||
"XF86AudioRaiseVolume".action.spawn = [ "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.05+" ];
|
||||
"XF86AudioLowerVolume".action.spawn = [ "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.05-" ];
|
||||
"XF86AudioMute".action.spawn = [ "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle" ];
|
||||
"XF86MonBrightnessUp".action.spawn = [ "dms" "ipc" "call" "brightness" "increment" "5" "" ];
|
||||
"XF86MonBrightnessDown".action.spawn = [ "dms" "ipc" "call" "brightness" "decrement" "5" "" ];
|
||||
|
||||
# Screenshots
|
||||
"Print".action.screenshot = [];
|
||||
"Ctrl+Print".action.screenshot-screen = [];
|
||||
};
|
||||
};
|
||||
};
|
||||
include "/home/jashton/.config/niri/dms/outputs.kdl"
|
||||
'';
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user