{ inputs, pkgs, ...}:

{
    programs.kitty.enable = true;
    wayland.windowManager.hyprland = {
        inherit package;
        enable = true;
        systemd = {
            enable = true;
            variables = [ "--all" ];
        };
        plugins = [
            #inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprbars
        ];
    };
    home.sessionVariables.NIXOS_OZONE_WL = "1";

    wayland.windowManager.hyprland.settings = {
        env = [
            "NIXOS_OZONE_WL,1"
            "MOZ_ENABLE_WAYLAND,1"
            "MOZ_WEBRENDER,1"
            "_JAVA_AWT_WM_NONREPARENTING,1"
            "QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
            "QT_QPA_PLATFORM,wayland"
            "SDL_VIDEODRIVER,wayland"
            "GDK_BACKEND,wayland"
        ];
        
        monitor = [
            "DP-1, 1920x1080@60, 1920x0, 1"  
            "HDMI-A-2, 1920x1080@60, 0x0, 1"
        ];

    };
    
    # NOTE: this executable is used by greetd to start a wayland session when system boot up
  # with such a vendor-no-locking script, we can switch to another wayland compositor without modifying greetd's config in NixOS module
    home.file.".wayland-session" = {
        source = "${package}/bin/Hyprland";
        executable = true;
    };

    # hyprland configs, based on https://github.com/notwidow/hyprland
    /*xdg.configFile = {
        "hypr/mako" = {
            source = ../conf/mako;
            recursive = true;
        };
        "hypr/scripts" = {
            source = ../conf/scripts;
            recursive = true;
        };
        "hypr/waybar" = {
            source = ../conf/waybar;
            recursive = true;
        };
        "hypr/wlogout" = {
            source = ../conf/wlogout;
            recursive = true;
        };

    # music player - mpd
        "mpd" = {
            source = ../conf/mpd;
            recursive = true;
        };
    };*/
}