niri/noctalia settings

This commit is contained in:
elwrcl committed 2026-06-09 22:06:44 +03:00
1 parent 20ee3460c1
commit c8e8bc1821
7 files changed
+242 -308

No files matched your search

Generated
+132 -24
View File
@@ -44,11 +44,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1780832725, "lastModified": 1780952497,
"narHash": "sha256-h2AQk2NLycLELCAHDGfy5lANiF4R5zHGqHNviN48RqM=", "narHash": "sha256-7WZHMYVCTzI6npB8HdpbOGbcnk9z+i0tIM/TI93X4YM=",
"owner": "chaotic-cx", "owner": "chaotic-cx",
"repo": "nyx", "repo": "nyx",
"rev": "cb95e21e340cab572039e5df4801d3dba59960c3", "rev": "9fd4ead9d0d9329312a5f4585a1ffcc6dfd02feb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -194,11 +194,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1780679734, "lastModified": 1780885330,
"narHash": "sha256-KmRNvpNOb7QEORa06bVgjW9kITcx0VhsI7w0vhmZyD8=", "narHash": "sha256-aMA5oAq2Iv467U9s8YOb50DYQT9w0WJbyWqwlzHuLMs=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "b2b7db486e06e098711dc291bb25db82850e1d16", "rev": "4fe95527cbe952713318ada8a4d122e1a6ab120f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -214,11 +214,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1780935377, "lastModified": 1780943742,
"narHash": "sha256-geCmxeKxlozqmj62ooNR7RWTs/UtD4dZ1IQRH51cqAo=", "narHash": "sha256-01bTMR9ZPG+uxPaZBeOwagg5uxIaFYs2/3YIrOX+bCA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "301871cd96c005a410e8317e90b80d59ac312c4a", "rev": "df39142474950e42d5fc3bf2fef9d6c62abbe8d7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -325,11 +325,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1780931488, "lastModified": 1780990983,
"narHash": "sha256-16RX3K4M8dr7AUDvEsAh9EtyZapiMypCbolGChd4hn0=", "narHash": "sha256-cRDQOzybhksNB1YFtXmP5aTkpC8HygnWGHJXsGA73Gw=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "0aa7a843515823177ba85c157f947c18b5f75a61", "rev": "4aff8ba45156333e80b97579c88ba1c03d2f59c1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -401,11 +401,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1779209205, "lastModified": 1780939887,
"narHash": "sha256-asc7NpeB8vD66gvZeYcQkaWOs2X6Jgd29vBtP17vjxo=", "narHash": "sha256-p9h0y7dyIrKPOhVGvhVgP79Tk0wNYP6/X85UXYiqWjM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-plugins", "repo": "hyprland-plugins",
"rev": "1cb37fad68dff5f5840010c314fed5809b4ee66f", "rev": "8c3d2be04500d7567a70f02b5dc6e80017389785",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -621,6 +621,64 @@
"type": "github" "type": "github"
} }
}, },
"niri": {
"inputs": {
"niri-stable": "niri-stable",
"niri-unstable": "niri-unstable",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable",
"xwayland-satellite-stable": "xwayland-satellite-stable",
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1780944960,
"narHash": "sha256-/Tzx2TY0IVm/ptBvkKaLdOHADpM7xsUMfBKOpCibH1M=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "da6577a9bef8a4d7a9d7a2a0dc1e1089edb46bed",
"type": "github"
},
"original": {
"owner": "sodiboo",
"repo": "niri-flake",
"type": "github"
}
},
"niri-stable": {
"flake": false,
"locked": {
"lastModified": 1756556321,
"narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"ref": "v25.08",
"repo": "niri",
"type": "github"
}
},
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1780938415,
"narHash": "sha256-QHyIMGSbCQW8d5qbOrMsm6gem10bO3Au2YLa3alJfHo=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "6f1a2c5f0e8274223d4204b1f8d6f7f91538967e",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"repo": "niri",
"type": "github"
}
},
"nix-darwin": { "nix-darwin": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -681,6 +739,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-stable": {
"locked": {
"lastModified": 1780511130,
"narHash": "sha256-2v9lT4ya59Lh1FqPeLnz1MoX9y/wz2huqfe9RtQZITk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "535f3e6942cb1cead3929c604320d3db54b542b9",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"noctalia": { "noctalia": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -688,11 +762,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1780934189, "lastModified": 1781007632,
"narHash": "sha256-c+0/8Ta8yFiCZe7L9KLY9xeiNtMDP6TwNa1TAQxTYps=", "narHash": "sha256-Ya8Qd6oWfU8KEZa/7Ks2M7wUi1WB5+WPD3C23T/qFoM=",
"owner": "noctalia-dev", "owner": "noctalia-dev",
"repo": "noctalia-shell", "repo": "noctalia-shell",
"rev": "586509e6cad69265b665adcd6e908e861b8647a7", "rev": "512ecc899964314a251aca4be279a66f875803e5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -732,6 +806,7 @@
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
"hyprland": "hyprland", "hyprland": "hyprland",
"hyprland-plugins": "hyprland-plugins", "hyprland-plugins": "hyprland-plugins",
"niri": "niri",
"nix-darwin": "nix-darwin", "nix-darwin": "nix-darwin",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"noctalia": "noctalia", "noctalia": "noctalia",
@@ -746,11 +821,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1780802404, "lastModified": 1780888890,
"narHash": "sha256-bGtIUeLb0yChX4h6hB40OOCwcYhcpQZHXSDvZGdWgeM=", "narHash": "sha256-MUQPFiskEENaJ2N82TRIqpKlHXGXJJkPfKH6W788oQo=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "8e596a8430f2ce54d55c742198187d6945a5501e", "rev": "7d5f8d75fc195a236b46633d7679139698aeb35f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -830,6 +905,39 @@
"type": "github" "type": "github"
} }
}, },
"xwayland-satellite-stable": {
"flake": false,
"locked": {
"lastModified": 1755491097,
"narHash": "sha256-m+9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "388d291e82ffbc73be18169d39470f340707edaa",
"type": "github"
},
"original": {
"owner": "Supreeeme",
"ref": "v0.7",
"repo": "xwayland-satellite",
"type": "github"
}
},
"xwayland-satellite-unstable": {
"flake": false,
"locked": {
"lastModified": 1779745227,
"narHash": "sha256-yqY7RtEJGJiENzR0GwL6q69tSAy6xAAmAcLuIhLjPf8=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "5d1efbc9dc3ab1c10160b656e0247f3325daf0f2",
"type": "github"
},
"original": {
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"type": "github"
}
},
"zen-browser": { "zen-browser": {
"inputs": { "inputs": {
"home-manager": "home-manager_3", "home-manager": "home-manager_3",
@@ -838,11 +946,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1780897889, "lastModified": 1780957638,
"narHash": "sha256-+MeF3tMeeo2gw16AUr0Tk1JnIwu9e5v6ri4OGOXLM2A=", "narHash": "sha256-NQ0WpkNDRR79BWGNmh1dpgchGJnALW7De71kaXD87nc=",
"owner": "0xc000022070", "owner": "0xc000022070",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "a7bea35003ffc9cfa914c53338eff754e1b9f7b8", "rev": "fc9b27eb5585548282004fac3f0d34fcf2f06467",
"type": "github" "type": "github"
}, },
"original": { "original": {
+6
View File
@@ -4,6 +4,10 @@
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
niri = {
url = "github:sodiboo/niri-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
chaotic = { chaotic = {
url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@@ -49,6 +53,7 @@
nix-darwin, nix-darwin,
home-manager, home-manager,
chaotic, chaotic,
niri,
... ...
}: }:
let let
@@ -70,6 +75,7 @@
home-manager = { home-manager = {
useGlobalPkgs = true; useGlobalPkgs = true;
useUserPackages = true; useUserPackages = true;
sharedModules = [ inputs.niri.homeModules.niri ];
extraSpecialArgs = { extraSpecialArgs = {
inherit inputs; inherit inputs;
system = linuxSystem; system = linuxSystem;
+2 -2
View File
@@ -1,9 +1,9 @@
{ pkgs, inputs, ... }: { config, pkgs, inputs, ... }:
{ {
imports = [ ./niri/default.nix ]; imports = [ ./niri/default.nix ];
programs.niri = { programs.niri = {
enable = true; enable = true;
package = inputs.niri.packages.${pkgs.stdenv.hostPlatform.system}.niri;
}; };
} }
-216
View File
@@ -1,216 +0,0 @@
// from hyprland
input {
keyboard {
xkb {
layout "tr"
}
repeat-delay 250
repeat-rate 35
}
mouse {
accel-speed 0
accel-profile "adaptive"
}
touchpad {
tap
natural-scroll
scroll-factor 0.5
click-method "clickfinger"
}
focus-follows-mouse
warp-mouse-to-focus
}
environment {
XCURSOR_THEME "Bibata-Modern-Classic"
XCURSOR_SIZE "24"
QT_STYLE_OVERRIDE "adwaita-dark"
GDK_BACKEND "wayland,x11"
QT_QPA_PLATFORM "wayland;xcb"
QT_QPA_PLATFORMTHEME "gtk3"
ELECTRON_OZONE_PLATFORM_HINT "auto"
TERMINAL "ghostty"
MESA_GL_VERSION_OVERRIDE "4.6"
MESA_GLSL_VERSION_OVERRIDE "460"
DISPLAY ":0"
}
spawn-at-startup "noctalia"
spawn-at-startup "xwayland-satellite"
spawn-at-startup "sh" "-c" "wl-paste --type text --watch cliphist store"
spawn-at-startup "sh" "-c" "wl-paste --type image --watch cliphist store"
prefer-no-csd
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
layout {
gaps 5
struts {
left 7
right 7
top 7
bottom 7
}
center-focused-column "never"
preset-column-widths {
proportion 0.33333
proportion 0.5
proportion 0.66667
}
default-column-width { proportion 0.5; }
focus-ring {
width 2
active-color "#61afef"
inactive-color "#444444"
}
border {
off
}
}
animations {
slowdown 0.8
}
binds {
// workspace navigation
Ctrl+Mod+Right { focus-workspace-down; }
Ctrl+Mod+Left { focus-workspace-up; }
Ctrl+Mod+Down { focus-workspace-down; }
Ctrl+Mod+Up { focus-workspace-up; }
Ctrl+Mod+Shift+Right { move-window-to-workspace-down; }
Ctrl+Mod+Shift+Left { move-window-to-workspace-up; }
Ctrl+Mod+Shift+Down { move-window-to-workspace-down; }
Ctrl+Mod+Shift+Up { move-window-to-workspace-up; }
// interface
Mod+Space { spawn "noctalia-shell" "ipc" "call" "launcher" "toggle"; }
Mod+P { spawn "noctalia-shell" "ipc" "call" "bar" "toggle"; }
Mod+Tab { toggle-overview; }
Ctrl+Alt+Delete { spawn "noctalia-shell" "ipc" "call" "sessionMenu" "toggle"; }
// noctalia plugins
Mod+Shift+S { spawn "noctalia-shell" "ipc" "call" "plugin:screen-shot-and-record" "screenshot"; }
Mod+Shift+Z { spawn "noctalia-shell" "ipc" "call" "plugin:screen-shot-and-record" "search"; }
Mod+Shift+X { spawn "noctalia-shell" "ipc" "call" "plugin:screen-shot-and-record" "ocr"; }
Mod+Shift+C { spawn "noctalia-shell" "ipc" "call" "plugin:music" "panel"; }
// launchers
Mod+Return { spawn "ghostty"; }
Mod+W { spawn "zen-beta"; }
Mod+E { spawn "dolphin"; }
Mod+Z { spawn "code"; }
Mod+Alt+V { spawn "pavucontrol"; }
Mod+Shift+V { spawn "noctalia-shell" "ipc" "call" "launcher" "clipboard"; }
Mod+Shift+L { spawn "noctalia-shell" "ipc" "call" "lockScreen" "lock"; }
Ctrl+Shift+Escape { spawn "ghostty" "-e" "sudo" "btop"; }
// window management
Mod+Q { close-window; }
Mod+Alt+Space { toggle-window-floating; }
Mod+F { fullscreen-window; }
Mod+D { maximize-column; }
// focus
Mod+Left { focus-column-left; }
Mod+Right { focus-column-right; }
Mod+Up { focus-window-up; }
Mod+Down { focus-window-down; }
// move windows
Mod+Shift+Left { move-column-left; }
Mod+Shift+Right { move-column-right; }
Mod+Shift+Up { move-window-up; }
Mod+Shift+Down { move-window-down; }
// workspaces by number
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+0 { focus-workspace 10; }
Mod+Shift+1 { move-window-to-workspace 1; }
Mod+Shift+2 { move-window-to-workspace 2; }
Mod+Shift+3 { move-window-to-workspace 3; }
Mod+Shift+4 { move-window-to-workspace 4; }
Mod+Shift+5 { move-window-to-workspace 5; }
Mod+Shift+6 { move-window-to-workspace 6; }
Mod+Shift+7 { move-window-to-workspace 7; }
Mod+Shift+8 { move-window-to-workspace 8; }
Mod+Shift+9 { move-window-to-workspace 9; }
Mod+Shift+0 { move-window-to-workspace 10; }
// mouse workspace scroll
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
// media
Mod+Shift+N { spawn "playerctl" "next"; }
Mod+Shift+B { spawn "playerctl" "previous"; }
Mod+Shift+P { spawn "playerctl" "play-pause"; }
XF86AudioRaiseVolume allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "volume" "increase"; }
XF86AudioLowerVolume allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "volume" "decrease"; }
XF86AudioMute allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "volume" "muteOutput"; }
XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_SOURCE@" "toggle"; }
XF86MonBrightnessUp { spawn "noctalia-shell" "ipc" "call" "brightness" "increase"; }
XF86MonBrightnessDown { spawn "noctalia-shell" "ipc" "call" "brightness" "decrease"; }
XF86AudioNext allow-when-locked=true { spawn "playerctl" "next"; }
XF86AudioPrev allow-when-locked=true { spawn "playerctl" "previous"; }
XF86AudioPlay allow-when-locked=true { spawn "playerctl" "play-pause"; }
XF86AudioPause allow-when-locked=true { spawn "playerctl" "play-pause"; }
}
window-rule {
match title=r#"Open File.*"#
open-floating true
}
window-rule {
match title=r#"Save As.*"#
open-floating true
}
window-rule {
match title=r#"File Upload.*"#
open-floating true
}
window-rule {
match app-id=r#"pavucontrol"#
open-floating true
default-column-width { fixed 800; }
}
window-rule {
match title=r#"(?i)picture.in.picture"#
open-floating true
}
window-rule {
match app-id=r#"steam"#
open-floating true
}
window-rule {
match app-id=r#"steam"# title="Steam"
open-floating false
}
+21 -17
View File
@@ -3,25 +3,29 @@
{ {
programs.niri.settings = { programs.niri.settings = {
input = { input = {
keyboard.xkb.layout = "tr"; keyboard = {
"repeat-delay" = 250; xkb = {
"repeat-rate" = 35; layout = "tr";
};
repeat-delay = 250;
repeat-rate = 35;
};
mouse = { mouse = {
"accel-speed" = 0.0; accel-speed = 0.0;
"accel-profile" = "adaptive"; accel-profile = "adaptive";
}; };
touchpad = { touchpad = {
tap = true; tap = true;
"natural-scroll" = true; natural-scroll = true;
"scroll-factor" = 0.5; scroll-factor = 0.5;
"click-method" = "clickfinger"; click-method = "clickfinger";
}; };
"focus-follows-mouse" = true;
"warp-mouse-to-focus" = true;
}; };
animations = { animations = {
slowdown = 0.8; slowdown = 0.8;
}; };
layout = { layout = {
gaps = 5; gaps = 5;
struts = { struts = {
@@ -30,22 +34,22 @@
top = 7; top = 7;
bottom = 7; bottom = 7;
}; };
"center-focused-column" = "never"; center-focused-column = "never";
"preset-column-widths" = [ preset-column-widths = [
{ proportion = 0.33333; } { proportion = 0.33333; }
{ proportion = 0.5; } { proportion = 0.5; }
{ proportion = 0.66667; } { proportion = 0.66667; }
]; ];
"default-column-width" = { default-column-width = {
proportion = 0.5; proportion = 0.5;
}; };
"focus-ring" = { focus-ring = {
width = 2; width = 2;
"active-color" = "#61afef"; active.color = "#61afef";
"inactive-color" = "#444444"; inactive.color = "#444444";
}; };
border = { border = {
off = true; enable = false;
}; };
}; };
}; };
+81 -48
View File
@@ -4,27 +4,29 @@
programs.niri.settings = { programs.niri.settings = {
binds = { binds = {
# --- Workspace Navigation --- # --- Workspace Navigation ---
"Ctrl+Mod+Right".action.focus-column-right = []; "Ctrl+Mod+Right".action.focus-column-right = [ ];
"Ctrl+Mod+Left".action.focus-column-left = []; "Ctrl+Mod+Left".action.focus-column-left = [ ];
"Ctrl+Mod+Down".action.focus-workspace-down = []; "Ctrl+Mod+Down".action.focus-workspace-down = [ ];
"Ctrl+Mod+Up".action.focus-workspace-up = []; "Ctrl+Mod+Up".action.focus-workspace-up = [ ];
"Ctrl+Mod+Shift+Right".action.move-column-right = [ ];
"Ctrl+Mod+Shift+Left".action.move-column-left = [ ];
"Ctrl+Mod+Shift+Down".action.move-window-to-workspace-down = [ ];
"Ctrl+Mod+Shift+Up".action.move-window-to-workspace-up = [ ];
"Ctrl+Mod+Shift+Right".action.move-column-right = []; "Ctrl+Mod+WheelScrollUp" = {
"Ctrl+Mod+Shift+Left".action.move-column-left = []; "cooldown-ms" = 150;
"Ctrl+Mod+Shift+Down".action.move-window-to-workspace-down = []; action.focus-column-right = [ ];
"Ctrl+Mod+Shift+Up".action.move-window-to-workspace-up = []; };
"Ctrl+Mod+WheelScrollDown" = {
"cooldown-ms" = 150;
action.focus-column-left = [ ];
};
# --- Interface --- # --- Interface ---
"Mod+Space".action.spawn = [ "noctalia" "msg" "panel-toggle" "launcher" ]; "Mod+Space".action.spawn-sh = "noctalia msg panel-toggle launcher";
"Mod+P".action.spawn = [ "noctalia" "msg" "panel-toggle" "control-center" ]; "Mod+P".action.spawn-sh = "noctalia msg panel-toggle control-center";
"Mod+Tab".action.toggle-overview = []; "Mod+Tab".action.toggle-overview = [ ];
"Ctrl+Alt+Delete".action.spawn = [ "noctalia" "msg" "settings-toggle" ]; "Ctrl+Alt+Delete".action.spawn-sh = "noctalia msg settings-toggle";
# --- Noctalia Plugins ---
"Mod+Shift+S".action.spawn = [ "noctalia" "msg" "plugin:screen-shot-and-record" "screenshot" ];
"Mod+Shift+Z".action.spawn = [ "noctalia" "msg" "plugin:screen-shot-and-record" "search" ];
"Mod+Shift+X".action.spawn = [ "noctalia" "msg" "plugin:screen-shot-and-record" "ocr" ];
"Mod+Shift+C".action.spawn = [ "noctalia" "msg" "panel-toggle" "music" ];
# --- Launchers --- # --- Launchers ---
"Mod+Return".action.spawn = [ "ghostty" ]; "Mod+Return".action.spawn = [ "ghostty" ];
@@ -32,27 +34,32 @@
"Mod+E".action.spawn = [ "dolphin" ]; "Mod+E".action.spawn = [ "dolphin" ];
"Mod+Z".action.spawn = [ "code" ]; "Mod+Z".action.spawn = [ "code" ];
"Mod+Alt+V".action.spawn = [ "pavucontrol" ]; "Mod+Alt+V".action.spawn = [ "pavucontrol" ];
"Mod+Shift+V".action.spawn = [ "noctalia" "msg" "panel-toggle" "clipboard" ]; "Mod+Shift+V".action.spawn-sh = "noctalia msg panel-toggle clipboard";
"Mod+Shift+L".action.spawn = [ "noctalia" "msg" "lock" ]; "Mod+Shift+L".action.spawn-sh = "noctalia msg lock";
"Ctrl+Shift+Escape".action.spawn = [ "ghostty" "-e" "sudo" "btop" ]; "Ctrl+Shift+Escape".action.spawn = [
"ghostty"
"-e"
"sudo"
"btop"
];
# --- Window Management --- # --- Window Management ---
"Mod+Q".action.close-window = []; "Mod+Q".action.close-window = [ ];
"Mod+Alt+Space".action.toggle-window-floating = []; "Mod+Alt+Space".action.toggle-window-floating = [ ];
"Mod+F".action.fullscreen-window = []; "Mod+F".action.fullscreen-window = [ ];
"Mod+D".action.maximize-column = []; "Mod+D".action.maximize-column = [ ];
# --- Focus --- # --- Focus ---
"Mod+Left".action.focus-column-left = []; "Mod+Left".action.focus-column-left = [ ];
"Mod+Right".action.focus-column-right = []; "Mod+Right".action.focus-column-right = [ ];
"Mod+Up".action.focus-window-up = []; "Mod+Up".action.focus-window-up = [ ];
"Mod+Down".action.focus-window-down = []; "Mod+Down".action.focus-window-down = [ ];
# --- Move Windows --- # --- Move Windows ---
"Mod+Shift+Left".action.move-column-left = []; "Mod+Shift+Left".action.move-column-left = [ ];
"Mod+Shift+Right".action.move-column-right = []; "Mod+Shift+Right".action.move-column-right = [ ];
"Mod+Shift+Up".action.move-window-up = []; "Mod+Shift+Up".action.move-window-up = [ ];
"Mod+Shift+Down".action.move-window-down = []; "Mod+Shift+Down".action.move-window-down = [ ];
# --- Workspaces by Number --- # --- Workspaces by Number ---
"Mod+1".action.focus-workspace = 1; "Mod+1".action.focus-workspace = 1;
@@ -80,51 +87,77 @@
# --- Mouse Workspace Scroll --- # --- Mouse Workspace Scroll ---
"Mod+WheelScrollDown" = { "Mod+WheelScrollDown" = {
"cooldown-ms" = 150; "cooldown-ms" = 150;
action.focus-workspace-down = []; action.focus-workspace-down = [ ];
}; };
"Mod+WheelScrollUp" = { "Mod+WheelScrollUp" = {
"cooldown-ms" = 150; "cooldown-ms" = 150;
action.focus-workspace-up = []; action.focus-workspace-up = [ ];
}; };
# --- Media & Hardware Keys --- # --- Media & Hardware Keys ---
"Mod+Shift+N".action.spawn = [ "playerctl" "next" ]; "Mod+Shift+N".action.spawn = [
"Mod+Shift+B".action.spawn = [ "playerctl" "previous" ]; "playerctl"
"Mod+Shift+P".action.spawn = [ "playerctl" "play-pause" ]; "next"
];
"Mod+Shift+B".action.spawn = [
"playerctl"
"previous"
];
"Mod+Shift+P".action.spawn = [
"playerctl"
"play-pause"
];
"XF86AudioRaiseVolume" = { "XF86AudioRaiseVolume" = {
"allow-when-locked" = true; "allow-when-locked" = true;
action.spawn = [ "noctalia" "msg" "volume-up" ]; action.spawn-sh = "noctalia msg volume-up";
}; };
"XF86AudioLowerVolume" = { "XF86AudioLowerVolume" = {
"allow-when-locked" = true; "allow-when-locked" = true;
action.spawn = [ "noctalia" "msg" "volume-down" ]; action.spawn-sh = "noctalia msg volume-down";
}; };
"XF86AudioMute" = { "XF86AudioMute" = {
"allow-when-locked" = true; "allow-when-locked" = true;
action.spawn = [ "noctalia" "msg" "volume-mute" ]; action.spawn-sh = "noctalia msg volume-mute";
}; };
"XF86AudioMicMute" = { "XF86AudioMicMute" = {
"allow-when-locked" = true; "allow-when-locked" = true;
action.spawn = [ "wpctl" "set-mute" "@DEFAULT_SOURCE@" "toggle" ]; action.spawn = [
"wpctl"
"set-mute"
"@DEFAULT_SOURCE@"
"toggle"
];
}; };
"XF86MonBrightnessUp".action.spawn = [ "noctalia" "msg" "brightness-up" ]; "XF86MonBrightnessUp".action.spawn-sh = "noctalia msg brightness-up";
"XF86MonBrightnessDown".action.spawn = [ "noctalia" "msg" "brightness-down" ]; "XF86MonBrightnessDown".action.spawn-sh = "noctalia msg brightness-down";
"XF86AudioNext" = { "XF86AudioNext" = {
"allow-when-locked" = true; "allow-when-locked" = true;
action.spawn = [ "playerctl" "next" ]; action.spawn = [
"playerctl"
"next"
];
}; };
"XF86AudioPrev" = { "XF86AudioPrev" = {
"allow-when-locked" = true; "allow-when-locked" = true;
action.spawn = [ "playerctl" "previous" ]; action.spawn = [
"playerctl"
"previous"
];
}; };
"XF86AudioPlay" = { "XF86AudioPlay" = {
"allow-when-locked" = true; "allow-when-locked" = true;
action.spawn = [ "playerctl" "play-pause" ]; action.spawn = [
"playerctl"
"play-pause"
];
}; };
"XF86AudioPause" = { "XF86AudioPause" = {
"allow-when-locked" = true; "allow-when-locked" = true;
action.spawn = [ "playerctl" "play-pause" ]; action.spawn = [
"playerctl"
"play-pause"
];
}; };
}; };
}; };
@@ -9,7 +9,6 @@
security.wrappers = { security.wrappers = {
gsr-kms-server = { gsr-kms-server = {
source = "${pkgs.gpu-screen-recorder}/bin/gsr-kms-server"; source = "${pkgs.gpu-screen-recorder}/bin/gsr-kms-server";
capabilities = "cap_sys_admin+ep";
owner = "root"; owner = "root";
group = "root"; group = "root";
permissions = "u+rx,g+rx,o+rx"; permissions = "u+rx,g+rx,o+rx";