# Nix Ecosystem Mind Map

**URL:** https://discourse.nixos.org/t/nix-ecosystem-mind-map/28682
**Category:** Links
**Created:** [June 2, 2023, 10:35pm UTC](https://discourse.nixos.org/t/nix-ecosystem-mind-map/28682 "2023-06-02T22:35:16Z")
**Posts on this page:** 1
**Showing post:** 37

<div class="post-metadata">

### Author: ![fricklerhandwerk](https://discourse.nixos.org/user_avatar/discourse.nixos.org/fricklerhandwerk/32/2029_2.png) [@fricklerhandwerk](https://discourse.nixos.org/u/fricklerhandwerk)
#### Post date: [July 1, 2024, 11:40am UTC](https://discourse.nixos.org/t/nix-ecosystem-mind-map/28682/37 "2024-07-01T11:40:22Z")

</div>

In the last few days I spent some time with @balsoft and then @Raitobezarius to map out architectural components or areas of responsibility in the core Nix ecosystem. This continues an effort from the [UX workshop a year ago](https://discourse.nixos.org/t/zurich-23-05-zhf-hackathon-and-workshop-report/29093#a-map-of-the-nix-ecosystem-3), and is another attempt to get some overview and eventually find bottlenecks.

 ![mermaid-diagram-2024-07-01-120059](https://discourse.nixos.org/uploads/default/original/3X/e/d/ed23590dbc71c815a8d2e124ed215bb3dc3a3c68.png)

> **Mermaid source**
>
> ```plaintext
> mindmap
> Ecosystem
> Nix
> (installer)
> Bash
> Rust["Rust (experimental)"]
> (store)
> persistence layer
> database
> hashing
> store paths
> (derivations)
> sandbox
> store derivations
> (daemon)
> daemon protocol
> worker protocol
> scheduler
> (evaluator)
> parser
> builtins
> (fetchers)
> (configuration system)
> (plugin system)
> (CLI)
> classic
> new
> (flakes)
> lockfiles
> (C API)
> language
> store
> (tests)
> unit tests
> functional tests
> NixOS integration tests
> evaluator tests
> (build infrastructure)
> (release process)
> release notes
> continuous integration
> Hydra interfaces
> Nixpkgs distribution
> (maintenance)
> triaging
> security patches
> contributor relations
> (documentation)
> reference manual
> man pages
> help pages
> contribution guide
> Nixpkgs
> (stdenv)
> Bash
> setup.sh
> hooks
> bootstrapping
> cross compilation
> (languages and frameworks)
> trivial build helpers
> testers
> C/C++
> Python
> Rust
> JavaScript
> Haskell
> Kernel
> VM builders
> lib
> module system
> testing
> pkgs-lib
> confguration
> policy filters
> overlays
> systems
> warnings
> aliases
> CI
> Hydra
> ofborg
> (maintainance)
> review process
> nixpkgs-format
> testing strategies
> maintainers
> commit access
> nixpkgs-review
> nixreview-tools for staging
> release process
> staging branches
> update scripts
> automatic updates
> nix-update
> r-ryantm
> mergebot
> GitHub labels
> Matrix rooms
> repology
> (distribution)
> meta fields
> licenses
> deprecation process
> (security)
> coordination in Matrix
> upstream security vulnerability feeds
> (documentation)
> reference manual
> nixdoc
> nix-render-docs
> contributor guides
> NixOS
> (installation)
> nixos-install
> nixos-enter
> calamares
> system image
> netboot
> kexec
> direct boot
> (modules)
> graphical applications
> desktop managers
> window managers
> networking
> audio
> security
> programs
> hardware support
> services
> (boot)
> bootspec
> bootloaders
> generations
> file systems
> kernel modules
> (systemd integration)
> (VM tests)
> (containers)
> (maintenance)
> meta fields
> state migrations
> (documentation)
> reference manual
> man configuration.nix
> NixOS Wiki
> (CLI)
> nixos-install
> nixos-rebuild
> nixos-option
> nixos-enter
> (releases)
> release notes
> zero hydra failures
> community
> Discourse
> nixos.org
> nix.dev
> NixOS Wiki
> Matrix
> NixCon
> local events
> extended ecosystem
> Home Manager
> nix-darwin
> system-manager
> nixos-hardware
> nixos-anywhere
> lanzaboote
> DetSys installer
> nix-index
> NUR
> noogle
> colmena
> flake-parts
> 
> ```

I also tried to port this to graphviz so it could be augmented with URLs (merdmaid mind maps are still very limited), but the best layout I was able to create in limited time is not great.

 ![image](https://discourse.nixos.org/uploads/default/original/3X/e/f/ef31ad287f4336053564ad49b63c84efc01a2269.jpeg)

> **graphviz source**
>
> ```graphviz graph ecosystem { layout=sfdp; overlap=scale; pack=true; packmode=cluster; repulsiveforce=4; K=1; splines=polyline; node [shape=oval style=filled fillcolor=white]; node [fontsize=30 fillcolor=lightblue] "The Nix ecosystem"
> 
> node [fontsize=20 fillcolor=green]  
> Nix  
> Nixpkgs  
> NixOS  
> community  
> “extended ecosystem”
> 
> “The Nix ecosystem” – {Nix Nixpkgs NixOS community “extended ecosystem”}
> 
> node [fontsize=10 fillcolor=yellow]  
> Nix – {  
> installer  
> store  
> derivations  
> daemon  
> evaluator  
> fetchers  
> “configuration system”  
> “plugin system”  
> CLI  
> flakes  
> “C API”  
> tests  
> “build infrastructure”  
> “Nix release process”  
> “Nix maintenance”  
> “Nix documentation”  
> }  
> installer – {“Bash installer” “Rust (experimental)”}  
> store – {“persistence layer” database hashing “store paths”}  
> derivations – {sandbox “store derivations”}  
> daemon – {“daemon protocol” “worker protocol” scheduler}  
> evaluator – {parser builtins}  
> CLI – {classic new}  
> flakes – lockfiles  
> “C API” – {language store}  
> tests – {“unit tests” “functional tests” “NixOS integration tests” “evaluator tests”}  
> “Nix release process” – {“Nix release notes” “continuous integration” “Hydra interfaces” “Nixpkgs distribution”}  
> “Nix maintenance” – {triaging “security patches” “contributor relations”}  
> “Nix documentation” – {“Nix reference manual” “man pages” “help pages” “Nix contribution guide”}
> 
> node [fillcolor=beige]  
> Nixpkgs – {  
> stdenv  
> “languages and frameworks”  
> lib  
> “pkgs-lib”  
> confguration  
> CI  
> “Nixpkgs maintainance”  
> distribution  
> “Nixpkgs security”  
> “Nixpkgs documentation”  
> }  
> stdenv – {Bash “setup.sh” hooks bootstrapping “cross compilation”}  
> “languages and frameworks” – {“trivial build helpers” testers “C/C++” Python Rust JavaScript Haskell Kernel “VM builders”}  
> lib – {“module system” testing}  
> confguration – {“policy filters” overlays systems warnings aliases}  
> CI – {Hydra ofborg}  
> “Nixpkgs maintainance” – {“review process” maintainers “commit access” “nixpkgs-review” “nixreview-tools for staging” “release process” “staging branches” “update scripts” “automatic updates” “GitHub labels” “Matrix rooms” repology}  
> “review process” – {“nixpkgs-format” “testing strategies”}  
> “automatic updates” – {“nix-update” “r-ryantm” mergebot}  
> distribution – {“package metadata” licenses “deprecation process”}  
> “Nixpkgs security” – {“coordination in Matrix” “upstream security vulnerability feeds”}  
> “Nixpkgs documentation” – {“Nixpkgs reference manual” nixdoc “nix-render-docs” “Nixpkgs contributor guides”}
> 
> node [fillcolor=red]  
> NixOS – {  
> installation  
> modules  
> boot  
> “systemd integration”  
> “VM tests”  
> containers  
> “NixOS maintenance”  
> “NixOS documentation”  
> “commands”  
> “NixOS releases”  
> }  
> installation – {“nixos-install” “nixos-enter” calamares “system image” netboot kexec “direct boot”}  
> modules – {“graphical applications” networking audio security programs “hardware support” services}  
> “graphical applications” – {“desktop managers” “window managers”}  
> boot – {bootspec bootloaders generations “file systems” “kernel modules”}  
> “NixOS maintenance” – {“meta fields” “state migrations”}  
> “NixOS documentation” – {“NixOS reference manual” “man configuration.nix” “NixOS Wiki”}  
> commands – {“nixos-install” “nixos-rebuild” “nixos-option” “nixos-enter”}  
> “NixOS releases” – {“release notes” “zero hydra failures”}
> 
> node [fillcolor=orange]  
> community – {Discourse “[nixos.org](http://nixos.org)” “nix.dev” “NixOS Wiki” Matrix NixCon “local events”}
> 
> node [fillcolor=lightgreen]  
> “extended ecosystem” – {“Home Manager” “nix-darwin” “system-manager” “nixos-hardware” “nixos-anywhere” lanzaboote “DetSys installer” “nix-index” NUR noogle colmena “flake-parts”}  
> }

---

_[View the full topic](https://discourse.nixos.org/t/nix-ecosystem-mind-map/28682)._
