Some checks failed
Flake checker / Build Nix targets (push) Has been cancelled
- Correct shiro from MacBook to Mac Mini desktop classification - Move shiro from portable to workstation category in documentation - Update device architecture details with Mac Mini specific features - Highlight shiro's role as ARM64 build server and desktop machine - Update D2 diagram to reflect correct device categorization - Regenerate diagram with corrected classifications
236 lines
4.9 KiB
Plaintext
236 lines
4.9 KiB
Plaintext
title: Device Architecture Overview {
|
|
near: top-center
|
|
shape: text
|
|
style: {
|
|
font-size: 24
|
|
bold: true
|
|
}
|
|
}
|
|
|
|
# Device Groups
|
|
servers: Server Infrastructure {
|
|
style.fill: "#e8f4fd"
|
|
style.stroke: "#1e3a8a"
|
|
style.stroke-width: 2
|
|
|
|
mirai: mirai {
|
|
shape: rectangle
|
|
style.fill: "#fbbf24"
|
|
|
|
label: "mirai\nMain Server\nx86_64-linux\nUser: fs0c131y\nHeadless"
|
|
|
|
services: Services {
|
|
shape: cylinder
|
|
style.fill: "#34d399"
|
|
label: "Services\n• Nextcloud\n• Gitea\n• Grafana\n• Minecraft\n• Immich\n• Paperless\n• Tailscale\n• And more..."
|
|
}
|
|
}
|
|
|
|
deoxys: deoxys {
|
|
shape: rectangle
|
|
style.fill: "#a78bfa"
|
|
label: "deoxys\nVM Server\nx86_64-linux\nUser: servius\nHeadless"
|
|
}
|
|
|
|
tsuba: tsuba {
|
|
shape: rectangle
|
|
style.fill: "#fb7185"
|
|
label: "tsuba\nRaspberry Pi\naarch64-linux\nUser: servius\nHeadless"
|
|
}
|
|
}
|
|
|
|
workstations: Development Workstations {
|
|
style.fill: "#f0fdf4"
|
|
style.stroke: "#15803d"
|
|
style.stroke-width: 2
|
|
|
|
ryu: ryu {
|
|
shape: rectangle
|
|
style.fill: "#3b82f6"
|
|
label: "ryu\nMain Desktop\nx86_64-linux\nUser: servius\nHyprland + GNOME"
|
|
|
|
monitors: Multi-Monitor Setup {
|
|
style.fill: "#ddd6fe"
|
|
|
|
primary: "HDMI-A-1\n(Gigabyte FO27Q3)" {
|
|
shape: rectangle
|
|
style.fill: "#c4b5fd"
|
|
}
|
|
secondary: "DP-3\n(Acer XV272U)" {
|
|
shape: rectangle
|
|
style.fill: "#c4b5fd"
|
|
}
|
|
tertiary: "DP-1\n(Gigabyte M27Q)" {
|
|
shape: rectangle
|
|
style.fill: "#c4b5fd"
|
|
}
|
|
}
|
|
}
|
|
|
|
shiro: shiro {
|
|
shape: rectangle
|
|
style.fill: "#9ca3af"
|
|
label: "shiro\nMac Mini Desktop\naarch64-darwin\nUser: servius\nBuild Server"
|
|
}
|
|
}
|
|
|
|
mobile: Portable Devices {
|
|
style.fill: "#fef3c7"
|
|
style.stroke: "#d97706"
|
|
style.stroke-width: 2
|
|
|
|
kuro: kuro {
|
|
shape: rectangle
|
|
style.fill: "#6b7280"
|
|
label: "kuro\nMacBook\naarch64-darwin\nUser: fs0c131y"
|
|
}
|
|
|
|
deck: SteamDeck {
|
|
shape: rectangle
|
|
style.fill: "#ef4444"
|
|
label: "SteamDeck\nGaming Handheld\nx86_64-linux\nUser: deck\nHome Manager Only"
|
|
}
|
|
}
|
|
|
|
# Network Infrastructure
|
|
network: Network Infrastructure {
|
|
style.fill: "#fdf2f8"
|
|
style.stroke: "#db2777"
|
|
style.stroke-width: 2
|
|
|
|
tailscale: Tailscale VPN {
|
|
shape: cloud
|
|
style.fill: "#ec4899"
|
|
}
|
|
|
|
zerotier: ZeroTier Network {
|
|
shape: cloud
|
|
style.fill: "#f97316"
|
|
}
|
|
|
|
local_network: Local Network {
|
|
shape: cloud
|
|
style.fill: "#06b6d4"
|
|
}
|
|
}
|
|
|
|
# Build Infrastructure
|
|
builders: Build Machines {
|
|
style.fill: "#f5f5f4"
|
|
style.stroke: "#525252"
|
|
style.stroke-width: 2
|
|
|
|
build_info: "Distributed Builds\nmirai, shiro (+ tsuba)" {
|
|
shape: text
|
|
style.font-size: 14
|
|
style.bold: true
|
|
}
|
|
}
|
|
|
|
# Configuration Management
|
|
config_mgmt: Configuration Management {
|
|
style.fill: "#fefce8"
|
|
style.stroke: "#ca8a04"
|
|
style.stroke-width: 2
|
|
|
|
nixos_flake: NixOS Flake {
|
|
shape: hexagon
|
|
style.fill: "#facc15"
|
|
}
|
|
|
|
home_manager: Home Manager {
|
|
shape: hexagon
|
|
style.fill: "#eab308"
|
|
}
|
|
|
|
darwin: nix-darwin {
|
|
shape: hexagon
|
|
style.fill: "#f59e0b"
|
|
}
|
|
}
|
|
|
|
# Deployment Connections
|
|
workstations.ryu -> servers.mirai: SSH Deploy {
|
|
style.stroke: "#059669"
|
|
style.stroke-width: 2
|
|
}
|
|
|
|
workstations.ryu -> servers.deoxys: SSH Deploy {
|
|
style.stroke: "#059669"
|
|
style.stroke-width: 2
|
|
}
|
|
|
|
workstations.ryu -> servers.tsuba: "SSH Deploy\n(tsuba.darksailor.dev)" {
|
|
style.stroke: "#059669"
|
|
style.stroke-width: 2
|
|
}
|
|
|
|
mobile.kuro -> servers.mirai: SSH Deploy {
|
|
style.stroke: "#7c3aed"
|
|
style.stroke-width: 2
|
|
}
|
|
|
|
mobile.kuro -> workstations.shiro: SSH Deploy {
|
|
style.stroke: "#7c3aed"
|
|
style.stroke-width: 2
|
|
}
|
|
|
|
workstations.ryu -> mobile.deck: "SSH Deploy\n(steamdeck)" {
|
|
style.stroke: "#dc2626"
|
|
style.stroke-width: 2
|
|
}
|
|
|
|
# Network connections
|
|
servers.mirai -> network.tailscale
|
|
servers.deoxys -> network.tailscale
|
|
servers.tsuba -> network.tailscale
|
|
workstations.ryu -> network.local_network
|
|
mobile.deck -> network.tailscale
|
|
|
|
servers.mirai -> network.zerotier
|
|
workstations.ryu -> network.zerotier
|
|
|
|
# Build relationships
|
|
workstations.ryu -> builders: Uses distributed builds
|
|
mobile.kuro -> builders: Uses distributed builds
|
|
servers.mirai -> builders: Build server
|
|
workstations.shiro -> builders: Build server
|
|
|
|
# Configuration connections
|
|
config_mgmt.nixos_flake -> servers.mirai
|
|
config_mgmt.nixos_flake -> servers.deoxys
|
|
config_mgmt.nixos_flake -> servers.tsuba
|
|
config_mgmt.nixos_flake -> workstations.ryu
|
|
|
|
config_mgmt.darwin -> mobile.kuro
|
|
config_mgmt.darwin -> workstations.shiro
|
|
|
|
config_mgmt.home_manager -> mobile.deck
|
|
|
|
# Legend
|
|
legend: Legend {
|
|
near: bottom-right
|
|
style.fill: "#f9fafb"
|
|
style.stroke: "#6b7280"
|
|
|
|
servers_legend: "🖥️ Servers (headless)" {
|
|
shape: text
|
|
style.font-size: 12
|
|
}
|
|
|
|
workstations_legend: "💻 Workstations (GUI)" {
|
|
shape: text
|
|
style.font-size: 12
|
|
}
|
|
|
|
mobile_legend: "📱 Portable/Mobile" {
|
|
shape: text
|
|
style.font-size: 12
|
|
}
|
|
|
|
deploy_legend: "→ SSH Deploy" {
|
|
shape: text
|
|
style.font-size: 12
|
|
}
|
|
}
|