Nix Ecosystem Mind Map

I think you need to talk to the documentation team about this.

1 Like

I recently learned that there is more IaC work around nix than just nixops.
I’m particularly intrigued by terraform-nixos, but there’s a lot more:

1 Like

Thanks for your feedback @iFreilicht
Included terraform-nixos
Except for Terranix, others are more CD than IaC,
Included them as “Others Deployment Tools” pointing to “Awesome Nix”

Included Some Project To Nix also linking awesome nix, for xToNix projects.

I may split them (Other Deployments, xToNix, Shell Nix) in different nodes some day.

4 Likes

I‘d love to see something like this in official documentation, but that will need infrastructure. The latest state of discourse is that the only thing that will likely scale is graphviz.

2 Likes

I exported it to dot mm and then converted it to dot file, but it didn’t look good, maybe I should handmade from scratch

example

1 Like

For reference, here’s what the developer workshop turned out: A map of the Nix ecosystem

It would be rather interesting to generate some of this automatically, as far as possible.

3 Likes

Thank you, I liked the Immutableria (map of GitHub).

My problem with doing this automatically is “Data Viz”.
Computers are cool for quantity, but not quality in the subjective problem of how do we present this to newbies.
Maybe this new AI/LLM trend could do better, but I didn’t find any for data viz.
To be honest, I am not sure If I am doing a better job than a computer, since I may be suffering from “monad curse”. :smiley:

2 Likes

I discovered that I can add contributors, anyone interested?

Also included:

  • Docs (Blogs/Books/Videos)
  • Tools (LSP/Linters/Tests/Viz)
  • Support (Commercial/Community)
1 Like

I realized that full mind map for newbie is just too scary and confuse.

So now I’m trying to make it incremental

Nix, Nix, NixPkgs And NixOS

Nix, NixOS and HomeManager

Nix with some internals

That escalated quickly

6 Likes

I would appreciate any feedback.

https://coggle.it/diagram/ZUFyYycP9Med8XQF/t/nix-package-manager/bd4cc12e1c83c3d32e1af6e3f044fb1b390c8b7035e22c40e760fe39b42832a4#65417263270ff4c79df17409

2 Likes

I think this looks very nice, and needs review by people more deeply involved such as @infinisil @roberth @ericson2314 to make absolutely sure it’s Technically Correct. The general direction is so good that I already see these pictures spreading all over the internet. If they’re only subtly wrong, they will be quite misleading, and the confusion that will follow will stay ingrained into many people’s thinking for a long time. And the first impression is really hard to overrule. Unfortunately I’m speaking from experience here, as documentation team members @proofconstruction @alejandrosame will attest.

I’d also request a final polish on the wording and orthography. Then it should go to the marketing team @garbas @Arsleust to use in outreach. The small graphs could serve for great social media reminder posts.

5 Likes

@Eriim did I nice visualization about his nixos configs.

Isn’t generalized like my graphs, but is a good source of inspiration.

Eriim, would you mind taking some snapshots of your journey through wonderland?

Isn’t a problem, if you’re not a cartographer or nix specialist. I always think we are suffering from Nix incantation of Monad curse

It is said that there’s a curse with Monads… When you finally understand it, you’ll lose the ability to explain it to others.

And also:

A map is not the territory it represents, but, if it has a similar structure to the territory, which accounts for its usefulness.
— Alfred Korzybski, Science and Sanity, p. 58

metro/subway visualization of this

3 Likes

I appreciate the kind words!

I would love to take a stab at something like this, I make no guarantee I can approach the complexity of the beautiful ecosystem graphs that are above in this thread.

But I can certainly document my learning journey more thoroughly.

1 Like

This mindmap (and the several simplified variations) have been very useful to me! Thank you very much for sharing. I didn’t know that people are writing books about nix/nixOS!

Something like this should definitely be part of the official documentation (though probably should be a minimal version, or in alternative, adynamic mindmap where the main nodes are initially closed and the user could open to explore more and more).

1 Like

Hint if you add tags to differentiate it from things unrelated to nix, I can add to blogs

Thanks for your feedback.

This site already has this feature in ‘presentation mode’, but is ugly. Try this one, click in first icon at top right

image

1 Like

I got some inspiration of Julia Evans post about flakes

Flakes Mid

Flakes Large

I just want to pack my code

1 Like

These look very nice. A slightly different take on presentation could be to fork the backend behind https://landscape.cncf.io/. This has recently been done by https://landscape.openssf.org/ and could be a useful addition at landscape.nix.dev or landscape.nixos.org.

2 Likes

I liked the idea, specially in the context of Ecosystem,

The CNCF version can be found here.

The data is just a long YAML file, easy to generate and accept PR.

We just need:

  1. Infrastructure, it uses Netlify by default, but I think can run elsewhere
  2. Define new-entries policy

Possible caveats:

  • Logos, most of our projects don’t have any
  • External data, they pull info from CrunchBase, is unlikely to they had data from Nix projects, and there are some data license. Maybe we should hide this kind of data in the fork.

Our initial data could be curate the immutableria.

Have we considered flowcharts or diagrams for explaining Flakes?

@Gwyn I’m trying.

I’d love to see yours flowcharts

1 Like

Hey Hugo! Thanks for pointing out this thread.

The post I created (the title you’re quoting) used someone else’s flowchart, so I deleted it after I read the rules. It looks like I need permission to share others’ photos, and I haven’t requested it yet.

With that said, you can go view the Flakes flowchart yourself in the nixflakes GitHub repository from erictossell (GitHub - erictossell/nixflakes: My nixdots, but flaked.). Eric provides a couple insightful diagrams that succinctly illustrate his configuration files, and I found his Flake diagram particularly useful. It helped me conceptualize Flakes in a way that I struggled with before.

2 Likes