{ inputs, config, lib, pkgs, username, ... }: let cfg = config.szpont.sys.wm.niri; in { imports = [ inputs.niri.nixosModules.niri ]; options.szpont.sys.wm.niri.enable = lib.mkEnableOption "Niri"; config = lib.mkIf cfg.enable { nixpkgs.overlays = [ inputs.niri.overlays.niri ]; programs.niri = { enable = true; package = pkgs.niri-unstable; }; xdg.portal = { enable = true; extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; }; services.dbus.enable = true; szpont.sys.srv.compat.enable = true; home-manager.users.${username}.szpont.hm.env.niri.enable = true; }; }