3 ms·
No. Because the nix language is an actual programming language you can have hundreds or millions of programs that can be interpreted into identical configuratio
by corethree 3y ago
No. Because the nix language is an actual programming language you can have hundreds or millions of programs that can be interpreted into identical configurations. It makes it so that these configuration files can get unreadable.
I worked at a company where ALL development happened on a nixos development configuration that was shared by the entire company. So all developers were developing on essentially the same configuration as the deployment machine. But the nix stuff started getting unwieldy and complicated. Just adding a freaking package was a programming chore.
The only way it worked was because this company was big enough to have a team dedicated to NixOS. Right an entire team just managing NixOS and this is NOT the team that runs dev ops of ops in general. That's how complicated it is.
Anyway the fact that you have to program the configuration makes it hard to use, it makes it hard to build a GUI around the configuration. Imagine you're playing a video game and the video game required you to write python code to configure it.
That would be a dumb design. The python code could be for modding it, that makes sense but you still need a configuration layer that's much more declarative and dumb. You can have this dumb layer STILL have all the properties of Nix. And you can still have the nix language underneath the dumb configuration layer for users who want to create packages and stuff like that.
If the nix developers worked on this and got GUI up, I'm telling you user adoption will sky rocket. Suddenly you'll get more casual users willing to use it as their daily driver OS. And you'll get more advanced users too because these casual users are more easily converted to advanced users due to the more gradual learning curve.