I really like this one's approach. These guys created a kernel module to enforce their hierarchy and hide directories, etc. Such an interesting project!
Playing with alternative structures is fine though.
It would make playing with alternative hierarchies kinda fun.
Aren't dot files just pretending to be hidden due to a bug in early Unix?
Unix v1 had a flat filesystem. Unix v2 added subdirectories. As an implementation detail, each directory contained two magic files, `.` for "this directory" and `..` for "the parent directory".
The command to list files was sloppily coded to skip them. If a name started with a dot, it was skipped.
Hey presto! Unix 2 had a way to hide files! It was a bug, but it was useful, so it stayed.
The history: https://tookmund.com/2022/03/rob-pike-shortcuts
So, Gobo doesn't use `/etc` and `/var` and all that 1970s nonsense, but it keeps them around, empty except for shortcuts, for sloppy code that assumes they are there.
But they are hidden, just like dot files are hidden on every Unix-like OS. Because it looks better, no other reason.
I rather have a kernel-level filesystem remapper.
While the code is mundane and might not score any beauty points, it does offer a clear technical advantage. Namely, Nix doesn't require that packagers uniquely choose the installation path for each package. Instead, Nix guarantees that different package definitions result in a different installation path. This is one of the things that make Nix package definitions programmable because packagers don't have to manually resolve path conflicts.
Programmable package definitions mean more automation and customizability.
Nowadays homebrew on arm processors puts everything into /opt/homebrew instead by default...