

As a prior proponent of graphical programming interfaces, I’ve been thinking there’d be a good use case for a GUI based control panel for NixOS, something that could transcompile standard user selected options down to a nix config that could be abstract of the way from most users, like any sort of game save file.
Given all options and packages in nixpkgs are already machine readable and indexed, supplying a GUI based tool to procedurally generate nix codes doesn’t at first seem initially daunting, but given the past discussions around this idea perhaps proves it to be on the contrary:
- https://discourse.nixos.org/t/is-anyone-working-on-a-gui-tool-to-manage-packages/5540
- https://discourse.nixos.org/t/wondering-about-nix/32919/5
- https://github.com/nix-gui/nix-gui
- https://discourse.nixos.org/t/negativity-around-the-graphical-installer/67646/12
Although SnowflakeOS in particular looks promising:
SnowflakeOS Simple, Immutable, Reproducible SnowflakeOS is a NixOS based Linux distribution focused on beginner friendliness and ease of use.
Ah, that’s a shame. Thanks for the context though.
I did feel a little bit of that slight dismissal or elitism from the thread I linked above about the graphical installer ISO. Although I think the relative surge of new users after graphical ISO’s implementation did end up changing some minds on the merit of its continual development.
It seems like some tools just never fully realize their potential market demand until they’re finally implemented and consequently adopted. Quite the catch 22.
I also wonder if it’s a bit of a motivational aspect for individual contributors, as in demand with mostly originate from novice users who’ve yet to master the Nix language, yet by the time one’s gained enough experience to contribute to Snowflake OS, you’ve kind of grown out of outgrow the need for it. That kind of reflects my personal interests around graphical programming, as I became more familiar with various languages, my inkling for a graphical representation of control flow gradually waned.
Still, I think lowering the barrier to adoption is in the long run best serves the community and in sustaining new contributors. Sort of like the conventional Greek proverb:
Is there a good way of mixing and mashing JSON attribute sets with conventional nix config files? Perhaps relegating some config to machine-generated JSON, and some hand crafted configs?