The dendritic pattern

Hi all, vimjoyer made a nice intro video on yt about this topic: https://youtu.be/-TRbzkw6Hjs

1 Like

I saw it some weeks ago, and I was very happy that you released that. It clarifies a lot of things and it is very practical.

Still I think this is all a bit confusing :sweat_smile:
But you made it a bit more digestible.
I have to keep telling me it is all lazy, but I can’t avoid to be confused when in the same file you define nixOsConfigurations.myMachine that uses myMachineModule, which you define later :zany_face:

1 Like

Oh, yeah. I do remember laziness and fix point being challenging. If anyone needs help, feel free to ping me on any platform.

Actually that doesn’t sound so bad, I have gotten really confused about the docs not matching up with the code, and with the current vs old implementation of flakeModules.

From experience it seems there’s been about 3 implementations of them from “old” flake-parts to now, and as ridiculous as it sounds, they have literally gotten changed - every time that I have them perfectly figured out again.

1 Like

I’ve sent you a DM. I hope I can help you gain clarity on some things.

I found the idea of fix points hard to understand at first, but once I’d grokked it it never went away.

1 Like

It is not as much the concept of being lazy (that I’m familiar thanks to haskell and other FP languages) but the fact that things appear to be used before they are defined.
When you have no experience with the library, and even if you do I think you will have the doubt, you never know if it is something built-in, if it is defined in some other file (thanks to magic loading of everything) or if it is going to be defined later. To me that’s a lot of mental overhead until you figure out what of the 3 it is.

2 Likes