{ self, inputs, ... }: { flake-file.inputs = { wrapper-modules.url = "github:BirdeeHub/nix-wrapper-modules"; # wrapper-modules.inputs.nixpkgs.follows = "nixpkgs"; }; flake.modules.nixos.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.RUST_BACKTRACE = "full"; settings = { spawn-at-startup = [ "${lib.getExe self'.packages.myNoctalia}" ]; xwayland-satellite.path = lib.getExe pkgs.xwayland-satellite; input.keyboard.xkb.layout = "us,ua"; layout.gaps = 5; binds = { "Mod+Return".spawn-sh = lib.getExe pkgs.ghostty; "Mod+Q".close-window = null; "Mod+S".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call launcher toggle"; }; }; }; }; }