# ABOUTME: Desktop environment home-manager configuration
# ABOUTME: Imports all desktop modules and sets up nix-colors theming

{ config, pkgs, lib, nix-colors, ... }:
let
  cfg = import ./config.nix;
in
{
  imports = [
    ../workstation.nix
    ./ghostty.nix
    ./hyprland
    ./waybar.nix
    ./wofi.nix
    ./mako.nix
    ./hyprpaper.nix
    ./hypridle.nix
    ./hyprlock.nix
    ./starship.nix
    ./vscode.nix
    ./btop.nix
    ./git.nix
  ];

  # Set up nix-colors with our theme
  colorScheme = nix-colors.colorSchemes.${cfg.base16Theme};

  # Override ghostty to use unstable version (1.2.0+) for ssh-terminfo support
  programs.ghostty.package = pkgs.unstable.ghostty;

  # Extend ghostty configuration
  programs.ghostty.settings = {
    shell-integration-features = "ssh-terminfo";
  };

  # GTK theme (dark for tokyo-night)
  gtk = {
    enable = true;
    theme = {
      name = "Adwaita-dark";
      package = pkgs.gnome-themes-extra;
    };
  };

  # Enable neovim (placeholder for future config)
  programs.neovim.enable = true;

  # direnv
  programs.direnv = {
    enable = true;
    nix-direnv.enable = true;
  };

  # zoxide (directory jumping)
  programs.zoxide = {
    enable = true;
    enableBashIntegration = true;
  };
}
