export type Machine = {
  name: string;
  role: string;
  specs: string[];
  os: string;
  services?: string[];
};

export type HardwareGroup = {
  label: string;
  machines: Machine[];
  extras?: { label: string; items: string[] }[];
};

export type ToolEntry = {
  name: string;
  description?: string;
};

export type ToolGroup = {
  label: string;
  items: ToolEntry[];
};

export const hardware: HardwareGroup[] = [
  {
    label: "For work",
    machines: [
      {
        name: "Minisforum MS-01",
        role: "Primary workstation",
        specs: ["Intel i9-12900H", "32GB DDR5", "4TB NVMe SSD"],
        os: "Nobara Linux 43 · KDE Plasma 6 · Wayland",
        services: [
          "Traefik",
          "Docker",
          "Gitea",
          "MetaMCP",
          "20+ self-hosted development infra services",
        ],
      },
      {
        name: "Minisforum N5 Pro",
        role: "Home infrastructure",
        specs: ["Ryzen AI 9 HX Pro 370", "32GB DDR5"],
        os: "Proxmox v8.3.2",
        services: [
          "AdGuard LXC",
          "Traefik",
          "Ubuntu Docker VM",
          "40+ self-hosted services",
        ],
      },
      {
        name: "Custom workstation",
        role: "GPU compute & creative work",
        specs: [
          "Ryzen 9 5900X",
          "64GB DDR4",
          "RTX A4500 20GB",
          "Radeon Pro W7600",
        ],
        os: "Windows 11",
      },
    ],
    extras: [
      {
        label: "Peripherals",
        items: [
          "TESmart 4-PC × 3-monitor KVM switch",
          "Keychron Q6",
          "Logitech PRO Superlight",
        ],
      },
    ],
  },
  {
    label: "For fun",
    machines: [
      {
        name: "Gaming rig",
        role: "Games & VR",
        specs: ["Ryzen 7 5800X", "64GB DDR4", "RTX 3090 24GB"],
        os: "Windows 11",
      },
    ],
    extras: [
      {
        label: "Displays",
        items: [
          "2× Gigabyte G27Q — 27\" 1440p 144Hz",
          "1× ASUS VG289Q1A — 27\" 4K 60Hz",
        ],
      },
    ],
  },
];

export const editorAndShell: ToolGroup[] = [
  {
    label: "Editors",
    items: [
      { name: "VS Code", description: "" },
      { name: "Zed", description: "" },
      { name: "Visual Studio", description: "" },
      { name: "JetBrains Rider", description: "" },
    ],
  },
  {
    label: "Shell",
    items: [
      { name: "Ghostty", description: "Terminal emulator on Linux" },
      { name: "Windows Terminal", description: "Terminal emulator on Windows" },
    ],
  },
];

export const aiTools: ToolGroup[] = [
  {
    label: "Coding",
    items: [
      {
        name: "Claude Code",
        description:
          "Daily driver — custom slash commands, MCP servers, agent workflows",
      },
    ],
  },
  {
    label: "Chat clients",
    items: [
      { name: "Claude", description: "claude.ai web & desktop" },
      {
        name: "Open WebUI",
        description: "Self-hosted chat UI in front of local & remote models",
      },
    ],
  },
  {
    label: "Local models",
    items: [
      { name: "Ollama", description: "Local model runtime" },
    ],
  },
  {
    label: "MCP & agents",
    items: [
      {
        name: "MetaMCP",
        description: "Self-hosted MCP server registry & router",
      },
    ],
  },
];

