# jackockzuo/nixos-config architecture

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

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

## Overview

This repository is a portable, multi-host NixOS configuration. Its main workflow is to define a host in the flake, combine shared system settings with that host’s hardware/profile, and configure the user environment through Home Manager. The README also documents desktop, CLI, theme, secrets, networking, and host-specific transparent-proxy and performance capabilities. Relationships below follow the documented layout; source excerpts were unavailable, so uncertain module-level wiring is omitted.

Main entry points: [`hosts/omen/default.nix`](https://github.com/jackockzuo/nixos-config/blob/main/hosts/omen/default.nix) (OMEN profile), [`modules/default.nix`](https://github.com/jackockzuo/nixos-config/blob/main/modules/default.nix) (System module map), [`home/home.nix`](https://github.com/jackockzuo/nixos-config/blob/main/home/home.nix) (Home configuration), [`flake.nix`](https://github.com/jackockzuo/nixos-config/blob/main/flake.nix) (Host inventory)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Configuration entry"]
  node_flake["Host inventory<br/>[flake.nix]"]
end

subgraph group_host["Host profile"]
  node_hostcfg["OMEN profile<br/>[default.nix]"]
  node_hardware["Hardware settings<br/>[hardware.nix]"]
  node_hwgen["Hardware config"]
  node_performance["Performance tuning<br/>[performance.nix]"]
  node_proxy["Transparent proxy<br/>[proxy.nix]"]
  node_hmhost["Home Manager host link<br/>[hm.nix]"]
end

subgraph group_system["System configuration"]
  node_systemmap["System module map<br/>[default.nix]"]
  node_network["Networking<br/>[network.nix]"]
  node_services["System services<br/>[services.nix]"]
  node_secrets["Secret handling<br/>[secrets.nix]"]
  node_systemtheme["System theme<br/>[theme.nix]"]
end

subgraph group_user["User environment"]
  node_homeentry["Home configuration<br/>[home.nix]"]
  node_desktop["Desktop environment<br/>[default.nix]"]
  node_niri["Niri session<br/>[niri.nix]"]
  node_noctalia["Noctalia shell<br/>[noctalia.nix]"]
  node_tools["CLI tools<br/>[default.nix]"]
  node_fish["Fish shell<br/>[fish.nix]"]
  node_monitoring["Monitoring tools<br/>[monitoring.nix]"]
  node_theme["User appearance<br/>[default.nix]"]
  node_assets["User assets"]
end

node_admin(("Administrator"))
node_fcclient["fcclient backend"]
node_nixos["NixOS configuration"]

node_admin -->|"edits"| node_flake
node_flake -->|"defines host"| node_hostcfg
node_flake -->|"evaluates"| node_nixos
node_hostcfg -->|"configures"| node_nixos
node_hostcfg -->|"uses"| node_hardware
node_hostcfg -->|"uses"| node_hwgen
node_hostcfg -->|"uses"| node_performance
node_hostcfg -->|"imports"| node_proxy
node_hostcfg -->|"uses shared settings"| node_systemmap
node_systemmap -->|"aggregates"| node_network
node_systemmap -->|"aggregates"| node_services
node_systemmap -->|"aggregates"| node_secrets
node_systemmap -->|"aggregates"| node_systemtheme
node_proxy -->|"forwards to"| node_fcclient
node_hostcfg -->|"uses"| node_hmhost
node_hmhost -->|"configures user"| node_homeentry
node_homeentry -->|"enables"| node_desktop
node_desktop -->|"configures"| node_niri
node_desktop -->|"configures"| node_noctalia
node_homeentry -->|"enables"| node_tools
node_tools -->|"configures"| node_fish
node_tools -->|"configures"| node_monitoring
node_homeentry -->|"enables"| node_theme
node_homeentry -->|"uses"| node_assets

click node_flake "https://github.com/jackockzuo/nixos-config/blob/main/flake.nix"
click node_hostcfg "https://github.com/jackockzuo/nixos-config/blob/main/hosts/omen/default.nix"
click node_hardware "https://github.com/jackockzuo/nixos-config/blob/main/hosts/omen/hardware.nix"
click node_hwgen "https://github.com/jackockzuo/nixos-config/blob/main/hosts/omen/hardware-configuration.nix"
click node_performance "https://github.com/jackockzuo/nixos-config/blob/main/hosts/omen/performance.nix"
click node_proxy "https://github.com/jackockzuo/nixos-config/blob/main/hosts/omen/proxy.nix"
click node_systemmap "https://github.com/jackockzuo/nixos-config/blob/main/modules/default.nix"
click node_network "https://github.com/jackockzuo/nixos-config/blob/main/modules/network.nix"
click node_services "https://github.com/jackockzuo/nixos-config/blob/main/modules/services.nix"
click node_secrets "https://github.com/jackockzuo/nixos-config/blob/main/modules/secrets.nix"
click node_systemtheme "https://github.com/jackockzuo/nixos-config/blob/main/modules/theme.nix"
click node_hmhost "https://github.com/jackockzuo/nixos-config/blob/main/hosts/omen/hm.nix"
click node_homeentry "https://github.com/jackockzuo/nixos-config/blob/main/home/home.nix"
click node_desktop "https://github.com/jackockzuo/nixos-config/blob/main/home/modules/desktop/default.nix"
click node_niri "https://github.com/jackockzuo/nixos-config/blob/main/home/modules/desktop/niri.nix"
click node_noctalia "https://github.com/jackockzuo/nixos-config/blob/main/home/modules/desktop/noctalia.nix"
click node_tools "https://github.com/jackockzuo/nixos-config/blob/main/home/modules/tools/default.nix"
click node_fish "https://github.com/jackockzuo/nixos-config/blob/main/home/modules/tools/fish.nix"
click node_monitoring "https://github.com/jackockzuo/nixos-config/blob/main/home/modules/tools/monitoring.nix"
click node_theme "https://github.com/jackockzuo/nixos-config/blob/main/home/modules/theme/default.nix"
click node_assets "https://github.com/jackockzuo/nixos-config/tree/main/home/source/niri/scripts"

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_fcclient toneBlue
class node_hostcfg,node_hardware,node_hwgen,node_performance,node_proxy,node_hmhost toneAmber
class node_systemmap,node_network,node_services,node_secrets,node_systemtheme toneMint
class node_homeentry,node_desktop,node_niri,node_noctalia,node_tools,node_fish,node_monitoring,node_theme,node_assets toneRose
class node_admin,node_nixos toneIndigo
```

## Components

### Configuration entry

- [Host inventory](https://github.com/jackockzuo/nixos-config/blob/main/flake.nix): `flake.nix`

### Host profile

- [OMEN profile](https://github.com/jackockzuo/nixos-config/blob/main/hosts/omen/default.nix): `hosts/omen/default.nix`
- [Hardware settings](https://github.com/jackockzuo/nixos-config/blob/main/hosts/omen/hardware.nix): `hosts/omen/hardware.nix`
- [Hardware config](https://github.com/jackockzuo/nixos-config/blob/main/hosts/omen/hardware-configuration.nix): `hosts/omen/hardware-configuration.nix`
- [Performance tuning](https://github.com/jackockzuo/nixos-config/blob/main/hosts/omen/performance.nix): `hosts/omen/performance.nix`
- [Transparent proxy](https://github.com/jackockzuo/nixos-config/blob/main/hosts/omen/proxy.nix): `hosts/omen/proxy.nix`
- [Home Manager host link](https://github.com/jackockzuo/nixos-config/blob/main/hosts/omen/hm.nix): `hosts/omen/hm.nix`

### System configuration

- [System module map](https://github.com/jackockzuo/nixos-config/blob/main/modules/default.nix): `modules/default.nix`
- [Networking](https://github.com/jackockzuo/nixos-config/blob/main/modules/network.nix): `modules/network.nix`
- [System services](https://github.com/jackockzuo/nixos-config/blob/main/modules/services.nix): `modules/services.nix`
- [Secret handling](https://github.com/jackockzuo/nixos-config/blob/main/modules/secrets.nix): `modules/secrets.nix`
- [System theme](https://github.com/jackockzuo/nixos-config/blob/main/modules/theme.nix): `modules/theme.nix`

### User environment

- [Home configuration](https://github.com/jackockzuo/nixos-config/blob/main/home/home.nix): `home/home.nix`
- [Desktop environment](https://github.com/jackockzuo/nixos-config/blob/main/home/modules/desktop/default.nix): `home/modules/desktop/default.nix`
- [Niri session](https://github.com/jackockzuo/nixos-config/blob/main/home/modules/desktop/niri.nix): `home/modules/desktop/niri.nix`
- [Noctalia shell](https://github.com/jackockzuo/nixos-config/blob/main/home/modules/desktop/noctalia.nix): `home/modules/desktop/noctalia.nix`
- [CLI tools](https://github.com/jackockzuo/nixos-config/blob/main/home/modules/tools/default.nix): `home/modules/tools/default.nix`
- [Fish shell](https://github.com/jackockzuo/nixos-config/blob/main/home/modules/tools/fish.nix): `home/modules/tools/fish.nix`
- [Monitoring tools](https://github.com/jackockzuo/nixos-config/blob/main/home/modules/tools/monitoring.nix): `home/modules/tools/monitoring.nix`
- [User appearance](https://github.com/jackockzuo/nixos-config/blob/main/home/modules/theme/default.nix): `home/modules/theme/default.nix`
- [User assets](https://github.com/jackockzuo/nixos-config/tree/main/home/source/niri/scripts): `home/source/niri/scripts`

### Other components

- **Administrator**
- **fcclient backend**
- **NixOS configuration**

## Connections

- Administrator → Host inventory: edits
- Host inventory → OMEN profile: defines host
- Host inventory → NixOS configuration: evaluates
- OMEN profile → NixOS configuration: configures
- OMEN profile → Hardware settings: uses
- OMEN profile → Hardware config: uses
- OMEN profile → Performance tuning: uses
- OMEN profile → Transparent proxy: imports
- OMEN profile → System module map: uses shared settings
- System module map → Networking: aggregates
- System module map → System services: aggregates
- System module map → Secret handling: aggregates
- System module map → System theme: aggregates
- Transparent proxy → fcclient backend: forwards to
- OMEN profile → Home Manager host link: uses
- Home Manager host link → Home configuration: configures user
- Home configuration → Desktop environment: enables
- Desktop environment → Niri session: configures
- Desktop environment → Noctalia shell: configures
- Home configuration → CLI tools: enables
- CLI tools → Fish shell: configures
- CLI tools → Monitoring tools: configures
- Home configuration → User appearance: enables
- Home configuration → User assets: uses
