remove dependency on niri overlay from sodi and switch to just kdl

This commit is contained in:
Schrottkatze 2026-01-01 18:22:39 +01:00
commit 3cacac4e6a
No known key found for this signature in database
21 changed files with 352 additions and 653 deletions

View file

@ -1,135 +0,0 @@
{ pkgs, ... }:
{
programs.niri.settings.binds = {
# spawn terminal
"Mod+Return".action.spawn = "kitty";
"Mod+Return".repeat = false;
"Mod+D".action.spawn = [
"wofi"
"-S"
"drun"
"--allow-images"
];
"Mod+D".repeat = false;
"Mod+I".action.spawn = [
"${pkgs.rofimoji}/bin/rofimoji"
"--selector"
"wofi"
"-f"
"alchemical_symbols"
"anatolian_hieroglyphs"
"emojis"
"braille_patterns"
"box_drawing"
"chess_symbols"
"emoticons"
"geometric_shapes"
"gothic"
"greek_extended"
"math"
"mathematical_alphanumeric_symbols"
"mathematical_operators"
"miscellaneous_symbols"
"miscellaneous_mathematical_symbols-a"
"miscellaneous_mathematical_symbols-b"
"miscellaneous_symbols_and_arrows"
"miscellaneous_symbols_and_pictographs"
"miscellaneous_technical"
"modi"
"modifier_tone_letters"
"musical_symbols"
"nerd_font"
"number_forms"
"shorthand_format_controls"
"specials"
"variation_selectors"
"vertical_forms"
"-a"
"copy"
];
"Mod+Shift+E".action.quit = [ ];
"Mod+Shift+Q".action.close-window = [ ];
"Mod+Ctrl+Shift+P".action.power-off-monitors = [ ];
"Mod+Shift+Ctrl+Slash".action.toggle-keyboard-shortcuts-inhibit = [ ];
"Mod+Shift+Ctrl+Slash".allow-inhibiting = false;
"Mod+Shift+Slash".action.show-hotkey-overlay = [ ];
"Mod+Shift+C".action.set-dynamic-cast-window = [ ];
"Mod+Ctrl+C".action.set-dynamic-cast-monitor = [ ];
"Mod+Shift+Ctrl+C".action.clear-dynamic-cast-target = [ ];
# window/columns controls
"Mod+H".action.focus-column-left = [ ];
"Mod+J".action.focus-window-down = [ ];
"Mod+K".action.focus-window-up = [ ];
"Mod+L".action.focus-column-right = [ ];
"Mod+Ctrl+H".action.move-column-left = [ ];
"Mod+Ctrl+J".action.move-window-down = [ ];
"Mod+Ctrl+K".action.move-window-up = [ ];
"Mod+Ctrl+L".action.move-column-right = [ ];
"Mod+R".action.switch-preset-column-width = [ ];
"Mod+G".action.toggle-overview = [ ];
"Mod+V".action.toggle-window-floating = [ ];
"Mod+Shift+V".action.switch-focus-between-floating-and-tiling = [ ];
# monitor controls
"Mod+Shift+H".action.focus-monitor-left = [ ];
"Mod+Shift+J".action.focus-monitor-down = [ ];
"Mod+Shift+K".action.focus-monitor-up = [ ];
"Mod+Shift+L".action.focus-monitor-right = [ ];
"Mod+Shift+Ctrl+H".action.move-column-to-monitor-left = [ ];
"Mod+Shift+Ctrl+J".action.move-column-to-monitor-down = [ ];
"Mod+Shift+Ctrl+K".action.move-column-to-monitor-up = [ ];
"Mod+Shift+Ctrl+L".action.move-column-to-monitor-right = [ ];
# column editing stuffs
"Mod+BracketLeft".action.consume-or-expel-window-left = [ ];
"Mod+BracketRight".action.consume-or-expel-window-right = [ ];
"Mod+F".action.maximize-column = [ ];
"Mod+C".action.center-column = [ ];
"Mod+Minus".action.set-column-width = "-5%";
"Mod+Equal".action.set-column-width = "+5%";
"Mod+Shift+Minus".action.set-window-height = "-10%";
"Mod+Shift+Equal".action.set-window-height = "+10%";
"Mod+Shift+W".action.toggle-column-tabbed-display = [ ];
"Mod+Shift+F".action.expand-column-to-available-width = [ ];
"Mod+Ctrl+F".action.fullscreen-window = [ ];
"Mod+Shift+Ctrl+F".action.toggle-windowed-fullscreen = [ ];
# media keys
"XF86AudioRaiseVolume".action.spawn = [
"wpctl"
"set-volume"
"@DEFAULT_AUDIO_SINK@"
"0.1+"
];
"XF86AudioLowerVolume".action.spawn = [
"wpctl"
"set-volume"
"@DEFAULT_AUDIO_SINK@"
"0.1-"
];
"XF86AudioMute".action.spawn = [
"wpctl"
"set-mute"
"@DEFAULT_AUDIO_SINK@"
"toggle"
];
"XF86AudioMicMute".action.spawn = [
"wpctl"
"set-mute"
"@DEFAULT_AUDIO_SOURCE@"
"toggle"
];
"XF86AudioRaiseVolume".allow-when-locked = true;
"XF86AudioLowerVolume".allow-when-locked = true;
"XF86AudioMute".allow-when-locked = true;
"XF86AudioMicMute".allow-when-locked = true;
};
}

View file

@ -1,38 +1,43 @@
{ pkgs, ... }:
# this file must only be saved via autosave due to the formatter.
# else it will be ugly
{ pkgs, lib, ... }:
{
imports = [
./binds.nix
./input.nix
./privacy.nix
./quirks.nix
./screenshot.nix
./style.nix
./workspaces.nix
./xwayland-sat.nix
];
programs.niri.settings = {
outputs."eDP-1" = {
scale = 1.0;
home.file."config" =
let
kdlfiles =
builtins.readDir ./kdl
|> lib.filterAttrs (key: value: value == "regular")
|> lib.mapAttrsToList (filename: _value: "include \"${./kdl}/${filename}\"");
startups =
[
[
"eww"
"open-many"
"topBar"
"bottomBar"
]
[
"${pkgs.swaybg}/bin/swaybg"
"-i"
"${./wallpaper.jpg}"
"-m"
"fill"
]
[
"touch"
".config/niri/live.kdl"
]
]
|> map (map (word: "\"${word}\""))
|> map (lib.concatStringsSep " ")
|> map (it: "spawn-at-startup ${it}");
other = [
"include \"live.kdl\""
"output \"eDP-1\" { scale 1.1; }"
];
in
{
target = ".config/niri/config.kdl";
text = lib.concatLines (startups ++ kdlfiles ++ other);
};
spawn-at-startup = [
{
command = [
"eww"
"open-many"
"topBar"
"bottomBar"
];
}
{
command = [
"${pkgs.swaybg}/bin/swaybg"
"-i"
"${./wallpaper.jpg}"
"-m"
"fill"
];
}
];
};
}

View file

@ -1,20 +0,0 @@
{ ... }:
{
programs.niri.settings.input = {
keyboard = {
xkb = {
layout = "us";
variant = "altgr-intl";
};
};
mouse = {
accel-profile = "flat";
};
touchpad = {
tap = false;
natural-scroll = true;
dwt = true;
dwtp = true;
};
};
}

View file

@ -0,0 +1,78 @@
binds {
// spawn terminal
Mod+Return repeat=false { spawn "kitty"; }
Mod+D repeat=false { spawn "wofi" "-S" "drun" "--allow-images"; }
Mod+I {
spawn "/nix/store/0wnpajfc40akxikz2h483a256ab97idx-rofimoji-6.7.0/bin/rofimoji" "--selector" "wofi" "-f" "alchemical_symbols" "emojis" "braille_patterns" "box_drawing" "chess_symbols" "emoticons" "geometric_shapes" "greek_extended" "math" "mathematical_alphanumeric_symbols" "mathematical_operators" "miscellaneous_symbols" "miscellaneous_mathematical_symbols-a" "miscellaneous_mathematical_symbols-b" "miscellaneous_symbols_and_arrows" "miscellaneous_symbols_and_pictographs" "miscellaneous_technical" "modi" "modifier_tone_letters" "musical_symbols" "nerd_font" "number_forms" "shorthand_format_controls" "specials" "variation_selectors" "vertical_forms" "-a" "copy";
}
Mod+Shift+E { quit; }
Mod+Shift+Q { close-window; }
Mod+Ctrl+Shift+P { power-off-monitors; }
Mod+Shift+Ctrl+Slash allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
Mod+Shift+Slash { show-hotkey-overlay; }
Mod+Shift+C { set-dynamic-cast-window; }
Mod+Ctrl+C { set-dynamic-cast-monitor; }
Mod+Shift+Ctrl+C { clear-dynamic-cast-target; }
// window/columns controls
Mod+H { focus-column-left; }
Mod+J { focus-window-down; }
Mod+K { focus-window-up; }
Mod+L { focus-column-right; }
Mod+Ctrl+H { move-column-left; }
Mod+Ctrl+J { move-window-down; }
Mod+Ctrl+K { move-window-up; }
Mod+Ctrl+L { move-column-right; }
Mod+R { switch-preset-column-width; }
Mod+G { toggle-overview; }
Mod+V { toggle-window-floating; }
Mod+Shift+V { switch-focus-between-floating-and-tiling; }
// monitor controls
Mod+Shift+H { focus-monitor-left; }
Mod+Shift+J { focus-monitor-down; }
Mod+Shift+K { focus-monitor-up; }
Mod+Shift+L { focus-monitor-right; }
Mod+Shift+Ctrl+H { move-column-to-monitor-left; }
Mod+Shift+Ctrl+J { move-column-to-monitor-down; }
Mod+Shift+Ctrl+K { move-column-to-monitor-up; }
Mod+Shift+Ctrl+L { move-column-to-monitor-right; }
// column editing stuffs
Mod+BracketLeft { consume-or-expel-window-left; }
Mod+BracketRight { consume-or-expel-window-right; }
Mod+C { center-column; }
Mod+Minus { set-column-width "-5%"; }
Mod+Equal { set-column-width "+5%"; }
Mod+Shift+Minus { set-window-height "-10%"; }
Mod+Shift+Equal { set-window-height "+10%"; }
Mod+Shift+W { toggle-column-tabbed-display; }
Mod+F { maximize-column; }
Alt+F { expand-column-to-available-width; }
Mod+Shift+F { maximize-window-to-edges; }
Mod+Ctrl+F { fullscreen-window; }
Mod+Shift+Ctrl+F { toggle-windowed-fullscreen; }
// media keys
XF86AudioLowerVolume \
allow-when-locked=true \
{ spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; }
XF86AudioMicMute \
allow-when-locked=true \
{ spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; }
XF86AudioMute \
allow-when-locked=true \
{ spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; }
XF86AudioRaiseVolume \
allow-when-locked=true \
{ spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; }
}

View file

@ -0,0 +1,17 @@
input {
keyboard {
xkb {
layout "us"
variant "altgr-intl"
}
repeat-delay 600
repeat-rate 25
track-layout "global"
}
touchpad {
dwt
dwtp
natural-scroll
}
mouse { accel-profile "flat"; }
}

View file

@ -0,0 +1,19 @@
overview {
backdrop-color "110000"
zoom 0.381966
workspace-shadow {
offset x=0 y=10
softness 60
color "#7f00008f"
}
}
recent-windows {
debounce-ms 1500
open-delay-ms 300
highlight {
active-color "f69ecf"
padding 5
corner-radius 2.5
}
}

View file

@ -0,0 +1,12 @@
layer-rule {
match namespace="notifications"
block-out-from "screen-capture"
}
window-rule {
match app-id="^signal|Element|org.gnome.Evolution$"
match title="^.*(Discord|Beispiel Screenshare block Bug|Bitwarden|Träwelling).*$"
exclude title="^.*((Schrottkatze|Statistics|Leaderboard) - Träwelling|chaos.social|Nekoverse|catgirl.cloud).*$"
exclude is-floating=true
block-out-from "screen-capture"
}

View file

@ -0,0 +1,32 @@
// handle steam grabbing focus 1000 times on startup
window-rule {
match app-id="steam" title="Steam"
open-focused false
}
// position steam notifs correctly: https://github.com/YaLTeR/niri/wiki/Application-Issues
window-rule {
match app-id="steam" title="^notificationtoasts_[\\d]+_desktop$"
open-focused false
border { off; }
shadow { off; }
baba-is-float false
default-floating-position relative-to="bottom-right" x=0 y=0
}
// fix guild wars
window-rule {
match app-id="steam_app_1284210" title="Guild Wars 2"
match app-id="(steam_app_[0-9]+|[Mm]inecraft.*|gamescope)"
border { off; }
shadow { off; }
}
window-rule {
match app-id="vesktop" is-floating=true title="vesktop"
geometry-corner-radius 5
}
environment {
ELECTRON_OZONE_PLATFORM_HINT "auto"
}

View file

@ -0,0 +1,9 @@
screenshot-path "~/Pictures/screenshots/%Y-%m-%dT%H:%M:%S.png"
binds {
Ctrl+Print { screenshot-screen; }
Mod+Ctrl+S { screenshot-screen; }
Mod+Shift+S { screenshot-window; }
Shift+Print { screenshot-window; }
Mod+S { screenshot; }
Print { screenshot; }
}

View file

@ -0,0 +1,73 @@
prefer-no-csd
cursor {
xcursor-theme "phinger-cursors-dark"
xcursor-size 16
hide-when-typing
hide-after-inactive-ms 10000
}
layout {
gaps 15
struts {
left 0
right 0
top 0
bottom 0
}
focus-ring { off; }
border {
on
width 3
active-gradient angle=135 from="#f69ecf" in="oklch shorter hue" relative-to="window" to="#5bcefa"
inactive-gradient angle=135 from="#f69ecf" in="oklch shorter hue" relative-to="window" to="#ff9a56"
}
tab-indicator {
hide-when-single-tab
gap 2
width 5
length total-proportion=0.500000
position "left"
gaps-between-tabs 0
corner-radius 3
active-color "#5bcefa"
inactive-color "#3c3836"
}
default-column-width
center-focused-column "never"
}
window-rule {
match is-floating=true
exclude app-id="steam_app_[0-9]+"
shadow {
on
offset x=0 y=0
softness 40
color "#bab9e5af"
inactive-color "#fa9d99af"
}
baba-is-float true
}
window-rule {
geometry-corner-radius 1
clip-to-geometry true
}
window-rule {
match is-window-cast-target=true
border {
on
active-gradient angle=135 \
from="#64de50" \
in="oklch shorter hue" \
relative-to="window" \
to="#5bcefa"
inactive-gradient angle=135 \
from="#64de50" \
in="oklch shorter hue" \
relative-to="window" \
to="#ff9a56"
}
}

View file

@ -0,0 +1,58 @@
// WS Social
workspace "social"
spawn-at-startup "signal-desktop"
spawn-at-startup ".evolution-wrapped_"
spawn-at-startup "vesktop"
spawn-at-startup "deltachat"
window-rule {
match app-id="^(signal|Element|org.gnome.Evolution|discord|steam|DeltaChat)$"
open-on-workspace "social"
}
// WS Browser
workspace "browser"
spawn-at-startup "firefox"
spawn-at-startup "obsidian"
window-rule {
match app-id="^firefox|Chromium-browser|obsidian$"
open-on-workspace "browser"
}
binds {
Mod+P { focus-workspace-up; }
Mod+N { focus-workspace-down; }
Mod+Ctrl+P { move-workspace-up; }
Mod+Ctrl+N { move-workspace-down; }
Mod+Shift+P { move-column-to-workspace-up; }
Mod+Shift+N { move-column-to-workspace-down; }
Mod+Q { focus-workspace "social"; }
Mod+W { focus-workspace "browser"; }
Mod+E { focus-workspace 3; }
Mod+Ctrl+Q { move-column-to-workspace "social"; }
Mod+Ctrl+W { move-column-to-workspace "browser"; }
Mod+Ctrl+E { move-column-to-workspace 3; }
Mod+1 { focus-workspace 4; }
Mod+2 { focus-workspace 5; }
Mod+3 { focus-workspace 6; }
Mod+4 { focus-workspace 7; }
Mod+5 { focus-workspace 8; }
Mod+6 { focus-workspace 9; }
Mod+7 { focus-workspace 10; }
Mod+8 { focus-workspace 11; }
Mod+9 { focus-workspace 12; }
Mod+Ctrl+1 { move-column-to-workspace 4; }
Mod+Ctrl+2 { move-column-to-workspace 5; }
Mod+Ctrl+3 { move-column-to-workspace 6; }
Mod+Ctrl+4 { move-column-to-workspace 7; }
Mod+Ctrl+5 { move-column-to-workspace 8; }
Mod+Ctrl+6 { move-column-to-workspace 9; }
Mod+Ctrl+7 { move-column-to-workspace 10; }
Mod+Ctrl+8 { move-column-to-workspace 11; }
Mod+Ctrl+9 { move-column-to-workspace 12; }
}

View file

@ -1,28 +0,0 @@
{ ... }:
{
programs.niri.settings = {
layer-rules = [
{
matches = [
{ namespace = "notifications"; }
];
block-out-from = "screen-capture";
}
];
window-rules = [
{
matches = [
{ app-id = "^signal|Element|org\.gnome\.Evolution$"; }
{ title = "^.*(Discord|Beispiel Screenshare block Bug|Bitwarden|Träwelling).*$"; }
];
excludes = [
{
title = "^.*((Schrottkatze|Statistics|Leaderboard) - Träwelling|chaos.social|Nekoverse|catgirl.cloud).*$";
}
{ is-floating = true; }
];
block-out-from = "screen-capture";
}
];
};
}

View file

@ -1,68 +0,0 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.gamescope ];
programs.niri.settings = {
window-rules = [
{
# handle steam grabbing focus 1000 times on startup
matches = [
{
app-id = "steam";
title = "Steam";
}
];
open-focused = false;
}
{
# position steam notifs correctly: https://github.com/YaLTeR/niri/wiki/Application-Issues
matches = [
{
app-id = "steam";
title = "^notificationtoasts_[\\d]+_desktop$";
}
];
default-floating-position = {
x = 0;
y = 0;
relative-to = "bottom-right";
};
shadow.enable = false;
border.enable = false;
baba-is-float = false;
open-focused = false;
}
{
matches = [
{
title = "Guild Wars 2";
app-id = "steam_app_1284210";
}
];
border.enable = false;
shadow.enable = false;
}
{
matches = [
{
app-id = "vesktop";
title = "vesktop";
is-floating = true;
}
];
geometry-corner-radius =
let
val = 5.;
in
{
bottom-left = val;
bottom-right = val;
top-left = val;
top-right = val;
};
}
];
# fix electron apps not doing wayland
environment.ELECTRON_OZONE_PLATFORM_HINT = "auto";
};
}

View file

@ -1,14 +0,0 @@
{ pkgs, ... }:
{
programs.niri.settings = {
screenshot-path = "~/Pictures/screenshots/%Y-%m-%dT%H:%M:%S.png";
binds = {
"Print".action.screenshot = [ ];
"Ctrl+Print".action.screenshot-screen = [ ];
"Shift+Print".action.screenshot-window = [ ];
"Mod+S".action.screenshot = [ ];
"Mod+Ctrl+S".action.screenshot-screen = [ ];
"Mod+Shift+S".action.screenshot-window = [ ];
};
};
}

View file

@ -1,115 +0,0 @@
{ ... }:
{
programs.niri.settings = {
prefer-no-csd = true;
cursor = {
theme = "phinger-cursors-dark";
size = 16;
hide-when-typing = true;
hide-after-inactive-ms = 10000;
};
# animations.window-open = {
# kind = "easing";
# curve = "linear";
# duration-ms = 230;
# };
# animations.window-open.custom-shader = builtins.readFile ./shaders/glitch-open.frag;
layout = {
gaps = 15; # :GAPS:- gaps = %GAPS%;-:#
focus-ring.enable = false;
border = {
enable = true;
width = 3;
inactive.gradient = {
from = "#f69ecf";
to = "#ff9a56";
in' = "oklch shorter hue";
relative-to = "window";
angle = 135;
};
active.gradient = {
from = "#f69ecf";
to = "#5bcefa";
in' = "oklch shorter hue";
relative-to = "window";
angle = 135;
};
};
center-focused-column = "never";
empty-workspace-above-first = false;
tab-indicator = {
hide-when-single-tab = true;
active.color = "#5bcefa";
inactive.color = "#3c3836";
gap = 2;
width = 5;
corner-radius = 3;
position = "left";
gaps-between-tabs = 0;
};
};
window-rules = [
{
matches = [
{
is-floating = true;
}
];
excludes = [
{ app-id = "steam_app_[0-9]+"; }
];
baba-is-float = true;
shadow = {
offset.y = 0;
offset.x = 0;
softness = 40;
color = "#bab9e5af";
inactive-color = "#fa9d99af";
enable = true;
};
}
{
matches = [
{ app-id = "(steam_app_[0-9]+|[Mm]inecraft.*|gamescope)"; }
];
border.enable = false;
}
{
geometry-corner-radius =
let
val = 1.;
in
{
bottom-left = val;
bottom-right = val;
top-left = val;
top-right = val;
};
clip-to-geometry = true;
}
{
matches = [ { is-window-cast-target = true; } ];
border = {
inactive.gradient = {
from = "#64de50";
to = "#ff9a56";
in' = "oklch shorter hue";
relative-to = "window";
angle = 135;
};
active.gradient = {
from = "#64de50";
to = "#5bcefa";
in' = "oklch shorter hue";
relative-to = "window";
angle = 135;
};
};
}
];
};
}

View file

@ -1,83 +0,0 @@
# { ... }:
{
programs.niri.settings =
let
social = "aaa social";
browser = "bbb browser";
notes = "ccc notes";
in
{
workspaces = {
"aaa social" = { };
"bbb browser" = { };
"ccc notes" = { };
};
spawn-at-startup = [
{ command = [ "vesktop" ]; }
{ command = [ "element-desktop" ]; }
{ command = [ "signal-desktop" ]; }
{ command = [ ".evolution-wrapped_" ]; }
{ command = [ "obsidian" ]; }
{ command = [ "firefox" ]; }
];
window-rules = [
{
matches = [
{ app-id = "^(signal|Element|org\.gnome\.Evolution|discord|steam)$"; }
];
open-on-workspace = social;
}
{
matches = [
{ app-id = "^firefox|Chromium-browser$"; }
];
open-on-workspace = browser;
}
{
matches = [
{ app-id = "obsidian"; }
];
open-on-workspace = notes;
}
];
# all workspace binds here,
binds = {
"Mod+P".action.focus-workspace-up = [ ];
"Mod+N".action.focus-workspace-down = [ ];
"Mod+Ctrl+P".action.move-workspace-up = [ ];
"Mod+Ctrl+N".action.move-workspace-down = [ ];
"Mod+Shift+P".action.move-column-to-workspace-up = [ ];
"Mod+Shift+N".action.move-column-to-workspace-down = [ ];
"Mod+Q".action.focus-workspace = social;
"Mod+W".action.focus-workspace = browser;
"Mod+E".action.focus-workspace = notes;
"Mod+Ctrl+Q".action.move-column-to-workspace = social;
"Mod+Ctrl+W".action.move-column-to-workspace = browser;
"Mod+Ctrl+E".action.move-column-to-workspace = notes;
"Mod+1".action.focus-workspace = 4;
"Mod+2".action.focus-workspace = 5;
"Mod+3".action.focus-workspace = 6;
"Mod+4".action.focus-workspace = 7;
"Mod+5".action.focus-workspace = 8;
"Mod+6".action.focus-workspace = 9;
"Mod+7".action.focus-workspace = 10;
"Mod+8".action.focus-workspace = 11;
"Mod+9".action.focus-workspace = 12;
"Mod+Ctrl+1".action.move-column-to-workspace = 4;
"Mod+Ctrl+2".action.move-column-to-workspace = 5;
"Mod+Ctrl+3".action.move-column-to-workspace = 6;
"Mod+Ctrl+4".action.move-column-to-workspace = 7;
"Mod+Ctrl+5".action.move-column-to-workspace = 8;
"Mod+Ctrl+6".action.move-column-to-workspace = 9;
"Mod+Ctrl+7".action.move-column-to-workspace = 10;
"Mod+Ctrl+8".action.move-column-to-workspace = 11;
"Mod+Ctrl+9".action.move-column-to-workspace = 12;
};
};
}

View file

@ -1,9 +0,0 @@
{ pkgs, ... }:
{
programs.niri.settings = {
spawn-at-startup = [
{ command = [ "${pkgs.xwayland-satellite}/bin/xwayland-satellite" ]; }
];
environment.DISPLAY = ":0";
};
}

View file

@ -1,12 +1,11 @@
{
rs-programs,
niri,
...
}:
{
nix = {
extraOptions = ''
experimental-features = nix-command flakes
experimental-features = nix-command flakes pipe-operator
keep-outputs = true
keep-derivations = true
'';
@ -27,7 +26,6 @@
};
overlays = [
rs-programs
niri.overlays.niri
];
};
}