{ self, inputs, ... }: { flake.nixosModules.ngeNiri = { pkgs, lib, ... }: { stylix = { base16Scheme = "${pkgs.base16-schemes}/share/themes/nord.yaml"; autoEnable = true; targets = { firefox.profileNames = ["mun" "work" "school" "opsec"]; btop.enable = true; }; fonts = { serif = { package = pkgs.dejavu_fonts; name = "DejaVu Serif"; }; sansSerif = { package = pkgs.dejavu_fonts; name = "DejaVu Sans"; }; monospace = { package = pkgs.dejavu_fonts; name = "DejaVu Sans Mono"; }; emoji = { package = pkgs.noto-fonts-color-emoji; name = "Noto Color Emoji"; }; }; }; gtk = { enable = true; cursorTheme = { package = pkgs.rose-pine-cursor; name = "rose-pine-cursor"; size = 30; }; iconTheme = { package = pkgs.material-design-icons; name = "material-design-icons"; }; }; programs.niri = { enable = true; package = self.packages.${pkgs.stdenv.hostPlatform.system}.ngeNiri; }; }; perSystem = { pkgs, lib, self', ... }: { packages.ngeNiri = inputs.wrapper-modules.wrappers.niri.wrap { inherit pkgs; settings = { spawn-at-startup = [ (lib.getExe self'.packages.ngeNoctalia) ]; xwayland-satellite.path = lib.getExe pkgs.xwayland-satellite; input.touchpad.natural-scroll = {}; layout.gaps = 5; binds = { "Mod+Return".spawn-sh = lib.getExe pkgs.alacritty; "Mod+Shift+Q".close-window = {}; "Mod+Space".toggle-overview = {}; "Mod+D".spawn-sh = "${lib.getExe self'.packages.ngeNoctalia} ipc call launcher toggle"; "Mod+Shift+S".spawn-sh = "${lib.getExe pkgs.niri} msg action screenshot"; }; }; }; }; }