{ self, inputs, ... }: { flake.nixosModules.niri = { pkgs, lib, ... }: { programs.niri = { enable = true; package = self.packages.${pkgs.stdenv.hostPlatform.system}.myNiri; }; }; perSystem = { pkgs, lib, self', ... }: { packages.myNiri = inputs.wrapper-modules.wrappers.niri.wrap { inherit pkgs; #env.QT_QPA_PLATFORMTHEME = "gtk3"; settings = { spawn-at-startup = [ "${lib.getExe self'.packages.myNoctalia}" ]; spawn-sh-at-startup = [ "${lib.getExe pkgs.brightnessctl} set 60%" ]; xwayland-satellite.path = lib.getExe pkgs.xwayland-satellite; input.keyboard = { xkb.layout = "de"; }; layout.gaps = 10; prefer-no-csd = true; binds = { "Mod+Return".spawn-sh = lib.getExe pkgs.alacritty; "Mod+S".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call launcher toggle"; "Mod+Q".close-window = _: {}; "Mod+Shift+E".quit = _: {}; "Mod+F".maximize-column = _: {}; "Mod+H".show-hotkey-overlay = _: {}; "Mod+Left".focus-column-left = _: {}; "Mod+Right".focus-column-right = _: {}; "Mod+Shift+Left".move-column-left = _: {}; "Mod+Shift+Right".move-column-right = _: {}; "Mod+Prior".focus-workspace-up = _: {}; "Mod+Next".focus-workspace-down = _: {}; "Mod+Shift+Prior".move-column-to-workspace-up = _: {}; "Mod+Shift+Next".move-column-to-workspace-down = _: {}; "Mod+O".toggle-overview = _: {}; "Mod+G".toggle-window-floating = _: {}; "Mod+Ctrl+Left".consume-or-expel-window-left = _: {}; "Mod+Ctrl+Right".consume-or-expel-window-right = _: {}; "Mod+Space".switch-focus-between-floating-and-tiling = _: {}; "Mod+Ctrl+Space".switch-preset-column-width = _: {}; "Mod+W".spawn-sh = "$BROWSER"; "Mod+E".spawn-sh = "emacsclient -c"; }; window-rules = [ { matches = [ { app-id = ".*"; } ]; excludes = [ { app-id = "zen-beta"; } ]; opacity = 0.90; } ]; }; extraSettings = [ { include = [ { optional = true; } "~/.config/niri/noctalia.kdl" ]; } ]; }; }; }