mirror of
https://forge.katzen.cafe/schrottkatze/nix-configs.git
synced 2026-01-15 16:43:06 +01:00
remove dependency on niri overlay from sodi and switch to just kdl
This commit is contained in:
parent
0cb98d2868
commit
3cacac4e6a
21 changed files with 352 additions and 653 deletions
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
@ -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"
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
78
modules/desktop/home/niri/kdl/binds.kdl
Normal file
78
modules/desktop/home/niri/kdl/binds.kdl
Normal 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+"; }
|
||||
}
|
||||
17
modules/desktop/home/niri/kdl/input.kdl
Normal file
17
modules/desktop/home/niri/kdl/input.kdl
Normal 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"; }
|
||||
}
|
||||
19
modules/desktop/home/niri/kdl/overviews.kdl
Normal file
19
modules/desktop/home/niri/kdl/overviews.kdl
Normal 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
|
||||
}
|
||||
}
|
||||
12
modules/desktop/home/niri/kdl/privacy.kdl
Normal file
12
modules/desktop/home/niri/kdl/privacy.kdl
Normal 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"
|
||||
}
|
||||
32
modules/desktop/home/niri/kdl/quirks.kdl
Normal file
32
modules/desktop/home/niri/kdl/quirks.kdl
Normal 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"
|
||||
}
|
||||
9
modules/desktop/home/niri/kdl/screenshot.kdl
Normal file
9
modules/desktop/home/niri/kdl/screenshot.kdl
Normal 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; }
|
||||
}
|
||||
73
modules/desktop/home/niri/kdl/style.kdl
Normal file
73
modules/desktop/home/niri/kdl/style.kdl
Normal 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"
|
||||
}
|
||||
}
|
||||
58
modules/desktop/home/niri/kdl/workspaces.kdl
Normal file
58
modules/desktop/home/niri/kdl/workspaces.kdl
Normal 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; }
|
||||
}
|
||||
|
|
@ -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";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
|
@ -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 = [ ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
programs.niri.settings = {
|
||||
spawn-at-startup = [
|
||||
{ command = [ "${pkgs.xwayland-satellite}/bin/xwayland-satellite" ]; }
|
||||
];
|
||||
environment.DISPLAY = ":0";
|
||||
};
|
||||
}
|
||||
|
|
@ -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
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue