From c3af9e2b24599d6d533439595b3c0d76cc5cb9ec Mon Sep 17 00:00:00 2001 From: uttarayan21 Date: Sun, 17 Aug 2025 01:58:06 +0530 Subject: [PATCH] Fix shiro device classification - 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 --- DEVICE_ARCHITECTURE.md | 22 ++-- README.md | 11 +- assets/devices-diagram.d2 | 18 +-- assets/devices-diagram.svg | 248 ++++++++++++++++++------------------- 4 files changed, 153 insertions(+), 146 deletions(-) diff --git a/DEVICE_ARCHITECTURE.md b/DEVICE_ARCHITECTURE.md index ece4a438..5c0976eb 100644 --- a/DEVICE_ARCHITECTURE.md +++ b/DEVICE_ARCHITECTURE.md @@ -67,6 +67,17 @@ This document provides a comprehensive overview of all devices managed by this N - Secure boot with Lanzaboote - TPM2 support +#### shiro (Mac Mini) +- **Architecture**: aarch64-darwin (Apple Silicon) +- **User**: servius +- **Role**: macOS desktop and build server +- **Configuration**: nix-darwin + Home Manager +- **Features**: + - ARM64 build server for distributed builds + - Samba file sharing + - Colima container runtime + - Aerospace window management + ### 📱 Portable/Mobile Devices #### kuro (MacBook) @@ -79,12 +90,6 @@ This document provides a comprehensive overview of all devices managed by this N - Custom keyboard mappings - Homebrew integration -#### shiro (MacBook) -- **Architecture**: aarch64-darwin (Apple Silicon) -- **User**: servius -- **Role**: Secondary macOS machine -- **Configuration**: nix-darwin + Home Manager - #### SteamDeck (Gaming Handheld) - **Architecture**: x86_64-linux - **User**: deck @@ -166,10 +171,11 @@ kuro → mirai, shiro - **Containers**: Docker with custom mount points - **Emulation**: aarch64-linux binfmt support -### macOS Devices (kuro, shiro) -- **Authentication**: Touch ID integration +### macOS Devices (kuro - MacBook, shiro - Mac Mini) +- **Authentication**: Touch ID integration (kuro) - **Keyboard**: Custom modifier key mappings - **Package management**: Homebrew + Nix hybrid approach +- **Build server**: shiro provides ARM64 builds for the network ## Security Features diff --git a/README.md b/README.md index e6be92cf..beea58ec 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ This repository manages **7 devices** across multiple platforms and architecture - **3 Servers**: mirai (main), deoxys (VM), tsuba (Raspberry Pi) - **1 Workstation**: ryu (primary desktop) -- **3 Portable devices**: kuro & shiro (MacBooks), SteamDeck +- **3 Portable devices**: kuro (MacBook), SteamDeck, and 1 desktop Mac Mini (shiro) > 📈 **Visual Architecture**: See [Device Architecture Diagram](assets/devices-diagram.svg) for a complete visual overview. @@ -25,12 +25,12 @@ This repository manages **7 devices** across multiple platforms and architecture | Device | Architecture | Setup | Features | |--------|-------------|-------|----------| | **ryu** | x86_64-linux | Main Desktop | Hyprland+GNOME, 3-monitor setup, gaming, audio production | +| **shiro** | aarch64-darwin | Mac Mini Desktop | nix-darwin + Home Manager, build server | ### Portable Devices | Device | Architecture | Platform | Configuration | |--------|-------------|----------|---------------| -| **kuro** | aarch64-darwin | macOS | nix-darwin + Home Manager | -| **shiro** | aarch64-darwin | macOS | nix-darwin + Home Manager | +| **kuro** | aarch64-darwin | MacBook | nix-darwin + Home Manager | | **SteamDeck** | x86_64-linux | SteamOS | Home Manager only | ## 🚀 Quick Start @@ -160,11 +160,12 @@ just home ## 📱 Portable Configuration -### macOS Features (kuro, shiro) -- **Touch ID**: Sudo authentication integration +### macOS Features (kuro - MacBook, shiro - Mac Mini) +- **Touch ID**: Sudo authentication integration (kuro) - **Keyboard remapping**: Custom modifier key layouts - **Aerospace/Yabai**: Tiling window management - **Homebrew**: Package management for macOS-specific applications +- **Build server**: shiro serves as ARM64 build machine ### SteamDeck Integration - **Home Manager**: User environment without system changes diff --git a/assets/devices-diagram.d2 b/assets/devices-diagram.d2 index 6c30081d..9d085db3 100644 --- a/assets/devices-diagram.d2 +++ b/assets/devices-diagram.d2 @@ -66,6 +66,12 @@ workstations: Development Workstations { } } } + + shiro: shiro { + shape: rectangle + style.fill: "#9ca3af" + label: "shiro\nMac Mini Desktop\naarch64-darwin\nUser: servius\nBuild Server" + } } mobile: Portable Devices { @@ -79,12 +85,6 @@ mobile: Portable Devices { label: "kuro\nMacBook\naarch64-darwin\nUser: fs0c131y" } - shiro: shiro { - shape: rectangle - style.fill: "#9ca3af" - label: "shiro\nMacBook\naarch64-darwin\nUser: servius" - } - deck: SteamDeck { shape: rectangle style.fill: "#ef4444" @@ -170,7 +170,7 @@ mobile.kuro -> servers.mirai: SSH Deploy { style.stroke-width: 2 } -mobile.kuro -> mobile.shiro: SSH Deploy { +mobile.kuro -> workstations.shiro: SSH Deploy { style.stroke: "#7c3aed" style.stroke-width: 2 } @@ -194,7 +194,7 @@ workstations.ryu -> network.zerotier workstations.ryu -> builders: Uses distributed builds mobile.kuro -> builders: Uses distributed builds servers.mirai -> builders: Build server -mobile.shiro -> builders: Build server +workstations.shiro -> builders: Build server # Configuration connections config_mgmt.nixos_flake -> servers.mirai @@ -203,7 +203,7 @@ config_mgmt.nixos_flake -> servers.tsuba config_mgmt.nixos_flake -> workstations.ryu config_mgmt.darwin -> mobile.kuro -config_mgmt.darwin -> mobile.shiro +config_mgmt.darwin -> workstations.shiro config_mgmt.home_manager -> mobile.deck diff --git a/assets/devices-diagram.svg b/assets/devices-diagram.svg index 67f59789..cbe0aa07 100644 --- a/assets/devices-diagram.svg +++ b/assets/devices-diagram.svg @@ -1,23 +1,23 @@ -Device Architecture OverviewServer InfrastructureDevelopment WorkstationsPortable DevicesNetwork InfrastructureBuild MachinesConfiguration ManagementLegendmiraiMain Serverx86_64-linuxUser: fs0c131yHeadlessdeoxysVM Serverx86_64-linuxUser: serviusHeadlesstsubaRaspberry Piaarch64-linuxUser: serviusHeadlessryuMain Desktopx86_64-linuxUser: serviusHyprland + GNOMEkuroMacBookaarch64-darwinUser: fs0c131yshiroMacBookaarch64-darwinUser: serviusSteamDeckGaming Handheldx86_64-linuxUser: deckHome Manager OnlyTailscale VPNZeroTier NetworkLocal NetworkDistributed Buildsmirai, shiro (+ tsuba)NixOS FlakeHome Managernix-darwin🖥️ Servers (headless)💻 Workstations (GUI)📱 Portable/Mobile→ SSH DeployServices• Nextcloud• Gitea• Grafana• Minecraft• Immich• Paperless• Tailscale• And more...Multi-Monitor SetupHDMI-A-1(Gigabyte FO27Q3)DP-3(Acer XV272U)DP-1(Gigabyte M27Q) SSH DeploySSH DeploySSH Deploy(tsuba.darksailor.dev) SSH DeploySSH Deploy SSH Deploy(steamdeck) Uses distributed buildsUses distributed buildsBuild serverBuild server - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + .d2-3678136622 .fill-N1{fill:#0A0F25;} + .d2-3678136622 .fill-N2{fill:#676C7E;} + .d2-3678136622 .fill-N3{fill:#9499AB;} + .d2-3678136622 .fill-N4{fill:#CFD2DD;} + .d2-3678136622 .fill-N5{fill:#DEE1EB;} + .d2-3678136622 .fill-N6{fill:#EEF1F8;} + .d2-3678136622 .fill-N7{fill:#FFFFFF;} + .d2-3678136622 .fill-B1{fill:#0D32B2;} + .d2-3678136622 .fill-B2{fill:#0D32B2;} + .d2-3678136622 .fill-B3{fill:#E3E9FD;} + .d2-3678136622 .fill-B4{fill:#E3E9FD;} + .d2-3678136622 .fill-B5{fill:#EDF0FD;} + .d2-3678136622 .fill-B6{fill:#F7F8FE;} + .d2-3678136622 .fill-AA2{fill:#4A6FF3;} + .d2-3678136622 .fill-AA4{fill:#EDF0FD;} + .d2-3678136622 .fill-AA5{fill:#F7F8FE;} + .d2-3678136622 .fill-AB4{fill:#EDF0FD;} + .d2-3678136622 .fill-AB5{fill:#F7F8FE;} + .d2-3678136622 .stroke-N1{stroke:#0A0F25;} + .d2-3678136622 .stroke-N2{stroke:#676C7E;} + .d2-3678136622 .stroke-N3{stroke:#9499AB;} + .d2-3678136622 .stroke-N4{stroke:#CFD2DD;} + .d2-3678136622 .stroke-N5{stroke:#DEE1EB;} + .d2-3678136622 .stroke-N6{stroke:#EEF1F8;} + .d2-3678136622 .stroke-N7{stroke:#FFFFFF;} + .d2-3678136622 .stroke-B1{stroke:#0D32B2;} + .d2-3678136622 .stroke-B2{stroke:#0D32B2;} + .d2-3678136622 .stroke-B3{stroke:#E3E9FD;} + .d2-3678136622 .stroke-B4{stroke:#E3E9FD;} + .d2-3678136622 .stroke-B5{stroke:#EDF0FD;} + .d2-3678136622 .stroke-B6{stroke:#F7F8FE;} + .d2-3678136622 .stroke-AA2{stroke:#4A6FF3;} + .d2-3678136622 .stroke-AA4{stroke:#EDF0FD;} + .d2-3678136622 .stroke-AA5{stroke:#F7F8FE;} + .d2-3678136622 .stroke-AB4{stroke:#EDF0FD;} + .d2-3678136622 .stroke-AB5{stroke:#F7F8FE;} + .d2-3678136622 .background-color-N1{background-color:#0A0F25;} + .d2-3678136622 .background-color-N2{background-color:#676C7E;} + .d2-3678136622 .background-color-N3{background-color:#9499AB;} + .d2-3678136622 .background-color-N4{background-color:#CFD2DD;} + .d2-3678136622 .background-color-N5{background-color:#DEE1EB;} + .d2-3678136622 .background-color-N6{background-color:#EEF1F8;} + .d2-3678136622 .background-color-N7{background-color:#FFFFFF;} + .d2-3678136622 .background-color-B1{background-color:#0D32B2;} + .d2-3678136622 .background-color-B2{background-color:#0D32B2;} + .d2-3678136622 .background-color-B3{background-color:#E3E9FD;} + .d2-3678136622 .background-color-B4{background-color:#E3E9FD;} + .d2-3678136622 .background-color-B5{background-color:#EDF0FD;} + .d2-3678136622 .background-color-B6{background-color:#F7F8FE;} + .d2-3678136622 .background-color-AA2{background-color:#4A6FF3;} + .d2-3678136622 .background-color-AA4{background-color:#EDF0FD;} + .d2-3678136622 .background-color-AA5{background-color:#F7F8FE;} + .d2-3678136622 .background-color-AB4{background-color:#EDF0FD;} + .d2-3678136622 .background-color-AB5{background-color:#F7F8FE;} + .d2-3678136622 .color-N1{color:#0A0F25;} + .d2-3678136622 .color-N2{color:#676C7E;} + .d2-3678136622 .color-N3{color:#9499AB;} + .d2-3678136622 .color-N4{color:#CFD2DD;} + .d2-3678136622 .color-N5{color:#DEE1EB;} + .d2-3678136622 .color-N6{color:#EEF1F8;} + .d2-3678136622 .color-N7{color:#FFFFFF;} + .d2-3678136622 .color-B1{color:#0D32B2;} + .d2-3678136622 .color-B2{color:#0D32B2;} + .d2-3678136622 .color-B3{color:#E3E9FD;} + .d2-3678136622 .color-B4{color:#E3E9FD;} + .d2-3678136622 .color-B5{color:#EDF0FD;} + .d2-3678136622 .color-B6{color:#F7F8FE;} + .d2-3678136622 .color-AA2{color:#4A6FF3;} + .d2-3678136622 .color-AA4{color:#EDF0FD;} + .d2-3678136622 .color-AA5{color:#F7F8FE;} + .d2-3678136622 .color-AB4{color:#EDF0FD;} + .d2-3678136622 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-3678136622);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-3678136622);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-3678136622);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-3678136622);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-3678136622);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-3678136622);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-3678136622);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-3678136622);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-3678136622);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-3678136622);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-3678136622);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-3678136622);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-3678136622);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-3678136622);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-3678136622);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-3678136622);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-3678136622);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-3678136622);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]>Device Architecture OverviewServer InfrastructureDevelopment WorkstationsPortable DevicesNetwork InfrastructureBuild MachinesConfiguration ManagementLegendmiraiMain Serverx86_64-linuxUser: fs0c131yHeadlessdeoxysVM Serverx86_64-linuxUser: serviusHeadlesstsubaRaspberry Piaarch64-linuxUser: serviusHeadlessryuMain Desktopx86_64-linuxUser: serviusHyprland + GNOMEshiroMac Mini Desktopaarch64-darwinUser: serviusBuild ServerkuroMacBookaarch64-darwinUser: fs0c131ySteamDeckGaming Handheldx86_64-linuxUser: deckHome Manager OnlyTailscale VPNZeroTier NetworkLocal NetworkDistributed Buildsmirai, shiro (+ tsuba)NixOS FlakeHome Managernix-darwin🖥️ Servers (headless)💻 Workstations (GUI)📱 Portable/Mobile→ SSH DeployServices• Nextcloud• Gitea• Grafana• Minecraft• Immich• Paperless• Tailscale• And more...Multi-Monitor SetupHDMI-A-1(Gigabyte FO27Q3)DP-3(Acer XV272U)DP-1(Gigabyte M27Q) SSH DeploySSH DeploySSH Deploy(tsuba.darksailor.dev) SSH DeploySSH Deploy SSH Deploy(steamdeck) Uses distributed buildsUses distributed buildsBuild serverBuild server + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +