# aozora-wings/nixos-config architecture

> Architecture diagram of the GitHub repository aozora-wings/nixos-config, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/aozora-wings/nixos-config
- Repository: https://github.com/aozora-wings/nixos-config

## Overview

This repository is a Nix configuration for building and deploying reproducible systems, with host-specific configurations and shared system, home, and service settings. The documented user workflow is to adjust configuration, install Nix, and deploy a selected configuration. The tree shows desktop, server, WSL, and hosted-service capabilities; sampled source only confirms the Azure DDNS client’s runtime behavior, so other module wiring is not inferred.

Main entry points: [`hosts/Common-Service/python/Azure-ddns/azure_ddns_client.py`](https://github.com/aozora-wings/nixos-config/blob/main/hosts/Common-Service/python/Azure-ddns/azure_ddns_client.py) (Azure DDNS client), [`flake.nix`](https://github.com/aozora-wings/nixos-config/blob/main/flake.nix) (Flake entry)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_hosts["Host configurations"]
  node_flake["Flake entry<br/>[flake.nix]"]
  node_desktop["Desktop host<br/>[default.nix]"]
  node_server["Server host<br/>[default.nix]"]
  node_china["China server<br/>[default.nix]"]
  node_wsl["WSL host<br/>[default.nix]"]
end

subgraph group_shared["Shared system"]
  node_home["Home settings<br/>[default.nix]"]
  node_system["System settings<br/>[default.nix]"]
  node_desktopservices["Desktop services<br/>[default.nix]"]
end

subgraph group_services["Hosted services"]
  node_hostservices["Host services<br/>[default.nix]"]
  node_webapps["Web applications<br/>[default.nix]"]
  node_sites["Static sites<br/>[default.nix]"]
  node_infrastructure["Service infrastructure"]
end

subgraph group_network["DNS integration"]
  node_ddns["Azure DDNS client"]
  node_ipservices["Public IP services"]
  node_azure["Azure DNS"]
end

node_operator(("System operator"))
node_nix["Nix deployment"]

node_operator -->|"deploys with"| node_nix
node_nix -->|"builds from"| node_flake
node_ddns -->|"queries IP"| node_ipservices
node_ddns -->|"updates records"| node_azure

click node_flake "https://github.com/aozora-wings/nixos-config/blob/main/flake.nix"
click node_desktop "https://github.com/aozora-wings/nixos-config/blob/main/hosts/aozorawings/default.nix"
click node_server "https://github.com/aozora-wings/nixos-config/blob/main/hosts/server/default.nix"
click node_china "https://github.com/aozora-wings/nixos-config/blob/main/hosts/china-server/default.nix"
click node_wsl "https://github.com/aozora-wings/nixos-config/blob/main/hosts/wsl/default.nix"
click node_home "https://github.com/aozora-wings/nixos-config/blob/main/modules/home/default.nix"
click node_system "https://github.com/aozora-wings/nixos-config/blob/main/modules/system/default.nix"
click node_desktopservices "https://github.com/aozora-wings/nixos-config/blob/main/modules/system/service/default.nix"
click node_hostservices "https://github.com/aozora-wings/nixos-config/blob/main/hosts/server/system/service/default.nix"
click node_webapps "https://github.com/aozora-wings/nixos-config/blob/main/hosts/server/system/service/web-apps/default.nix"
click node_sites "https://github.com/aozora-wings/nixos-config/blob/main/hosts/server/system/service/static-sites/default.nix"
click node_ddns "https://github.com/aozora-wings/nixos-config/blob/main/hosts/Common-Service/python/Azure-ddns/azure_ddns_client.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_flake,node_desktop,node_server,node_china,node_wsl toneBlue
class node_home,node_system,node_desktopservices toneAmber
class node_hostservices,node_webapps,node_sites,node_infrastructure toneMint
class node_ddns,node_ipservices,node_azure toneRose
class node_operator,node_nix toneIndigo
```

## Components

### Host configurations

- [Flake entry](https://github.com/aozora-wings/nixos-config/blob/main/flake.nix): `flake.nix`
- [Desktop host](https://github.com/aozora-wings/nixos-config/blob/main/hosts/aozorawings/default.nix): `hosts/aozorawings/default.nix`
- [Server host](https://github.com/aozora-wings/nixos-config/blob/main/hosts/server/default.nix): `hosts/server/default.nix`
- [China server](https://github.com/aozora-wings/nixos-config/blob/main/hosts/china-server/default.nix): `hosts/china-server/default.nix`
- [WSL host](https://github.com/aozora-wings/nixos-config/blob/main/hosts/wsl/default.nix): `hosts/wsl/default.nix`

### Shared system

- [Home settings](https://github.com/aozora-wings/nixos-config/blob/main/modules/home/default.nix): `modules/home/default.nix`
- [System settings](https://github.com/aozora-wings/nixos-config/blob/main/modules/system/default.nix): `modules/system/default.nix`
- [Desktop services](https://github.com/aozora-wings/nixos-config/blob/main/modules/system/service/default.nix): `modules/system/service/default.nix`

### Hosted services

- [Host services](https://github.com/aozora-wings/nixos-config/blob/main/hosts/server/system/service/default.nix): `hosts/server/system/service/default.nix`
- [Web applications](https://github.com/aozora-wings/nixos-config/blob/main/hosts/server/system/service/web-apps/default.nix): `hosts/server/system/service/web-apps/default.nix`
- [Static sites](https://github.com/aozora-wings/nixos-config/blob/main/hosts/server/system/service/static-sites/default.nix): `hosts/server/system/service/static-sites/default.nix`
- **Service infrastructure**

### DNS integration

- [Azure DDNS client](https://github.com/aozora-wings/nixos-config/blob/main/hosts/Common-Service/python/Azure-ddns/azure_ddns_client.py): `hosts/Common-Service/python/Azure-ddns/azure_ddns_client.py`
- **Public IP services**
- **Azure DNS**

### Other components

- **System operator**
- **Nix deployment**

## Connections

- System operator → Nix deployment: deploys with
- Nix deployment → Flake entry: builds from
- Azure DDNS client → Public IP services: queries IP
- Azure DDNS client → Azure DNS: updates records
