# ABOUTME: Hyprland window manager home-manager configuration
# ABOUTME: Imports all hyprland submodules for complete WM setup

{ config, pkgs, lib, ... }:
let
  cfg = import ../config.nix;
in
{
  imports = [
    ./bindings.nix
    ./autostart.nix
    ./input.nix
    ./looknfeel.nix
    ./windows.nix
    ./envs.nix
  ];

  wayland.windowManager.hyprland = {
    enable = true;
    systemd.enable = true;

    settings = {
      # Monitor configuration
      monitor = cfg.monitors;

      # Default applications
      "$terminal" = "ghostty";
      "$fileManager" = "nautilus";
      "$browser" = "google-chrome-stable --new-window --ozone-platform=wayland";
      "$menu" = "wofi --show drun";

      # Mod key
      "$mod" = "SUPER";
    };
  };

  # Hyprland polkit agent for privilege escalation
  services.hyprpolkitagent.enable = true;
}
