{ inputs, den, pkgs, ... }: {
  den.aspects.niri.nixos = { pkgs, ... }:
  let
    quickshell-niri = inputs.qml-niri.packages.${pkgs.stdenv.hostPlatform.system}.quickshell;
  in {
    imports = [ inputs.niri-flake.nixosModules.niri ];

    fonts.packages = [ pkgs.nerd-fonts.jetbrains-mono ];

    programs.niri = {
      enable  = true;
      package = pkgs.niri;
    };

    programs.gpu-screen-recorder.enable = true;

    environment.systemPackages = with pkgs; [
      quickshell-niri
      waybar
      fuzzel
      swaylock
      swayidle
      swww
      grim
      slurp
      wl-clipboard
      xdg-desktop-portal-gnome
      kdePackages.xdg-desktop-portal-kde
      xwayland-satellite
      gpu-screen-recorder-gtk
        libnotify
    ]; 
 
    xdg.portal = {
      enable        = true;
      extraPortals  = [
        pkgs.xdg-desktop-portal-gnome 
        pkgs.kdePackages.xdg-desktop-portal-kde
      ];
    };

    security.pam.services.swaylock = {};

    services.greetd = {
      enable = true;
      settings.default_session = {
        command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd niri-session";
        user    = "greeter";
      };
    };
  };
}
