SnowflakeOS - Creating a GUI focused NixOS-based distro

Why?

In my opinion, NixOS is a great operating system and is very straightforward and stable once you learn how to use it, however for someone without knowledge about Nix or who has never heard of NixOS, it can be very confusing. I stumbled upon Nix and NixOS a bit less than a year ago, and since then have worked to try to create tools that make using NixOS more user/noob friendly, namely: adding the calamares installer to NixOS, creating a graphical configuration editor: nixos-conf-editor, and creating a GNOME software-like software center: nix-software-center.

So why not just work on NixOS itself? I do plan on adding the tools/apps I create to nixpkgs once I feel they are stable enough, but for now, there is still a lot of work to be done. In addition to this SnowflakeOS will allow me to make opinionated decisions I feel wouldn’t fit right in NixOS. My plan is to keep SnowflakeOS as small as possible and upstream as many packages/options/modules as possible.

What will SnowflakeOS have?

  • Graphical user interface focused. The plan is to ship tools like nixos-conf-editor and nix-software-center out of the box.
  • Flakes are enabled by default. No channels, no nix-env.
  • GNOME by default
  • Simple installation

Progress


What do you think about this idea? If you’re interested in helping please reach out! I would also greatly appreciate any feedback or ideas anyone has!

Links

30 Likes

Have you thought about keeping the ability to switch between this build and a stock NixOS build to make dabbling and experimenting easier?

Since the whole “os” is less of a fork and more of an overlay on top of NixOS, switching would essentially just consist of installing the packages and importing/enabling any modules. Currently, modules are being stored here: GitHub - snowflakelinux/snowflake-modules. I’ll work on some instructions on enabling, but for now only consists of naming/branding.

2 Likes

Why is it then named a distro if it really isn’t? I’d imagine more people will jump on and try it if they know they can just include the module and don’t need to reinstall their OS (again).

2 Likes

Good point. The general idea of having a separate brand for an opinionated variant is reasonable, though. Installation instructions could address your concern by just saying that: If you’re already on NixOS, simply add those modules and you’re good.

2 Likes

Ubuntu does that pretty well. They have their main distro, official sub-distros that are maintained in tree, and then community distros that are maintained out of tree. It makes sense to copy that.

Each distro flavour makes it pretty clear that they are “Ubuntu based”, it’s typically one of their first marketing points. See for example https://lubuntu.me/

3 Likes

Ubuntu only really needs that because it is a big pain to cleanly switch the desktop environment without leaving lots of clutter behind. NixOS does handle that pretty well and it is as easy as changing two lines of code.

It is also pretty easy to include in a graphical environment to import another module and activate that.

Splitting this into a new “distro” only causes fragmentation and confusion. I’d rather would call the installer Snowflakes Installer for NixOS or NixOS with Snowflake installer which includes some graphical management software by default which also can be installed into any already installed NixOS with those easy 3 changes.

1 Like

A flake with nixosModules that brings together the right packages and settings should get you quite far already I’d imagine. Additional packages for a custom themes could also be included in the same flake.

I’m guessing a lot of the work would also benefit NixOS by bringing parts of the modules upstream. Like generalizing lsb-release: nixpkgs/version.nix at 661c29c806409f2883f2445e42583206426ffd46 · NixOS/nixpkgs · GitHub

Also, I wasn’t aware there were already so many NixOS gui applications. They looks quite slick :+1:

Anyway I’m keeping an eye on this. Excited to see your post! :smiley:

1 Like

I think this is more like Manjaro/Arch. Sure, it’s incredibly easy to switch between this “new” distro and NixOS for most people here, but having a clear “use this if you want to try NixOS but even installing packages confuses you” is useful.

Most new users won’t understand how to switch. The fact that you can get the full NixOS experience by uninstalling a few packages (and probably removing a few flake inputs) once you’ve figured it out is just the cherry on top.

It could be branded as an installer, but that will sound like the help stops once NixOS is installed. This goes further and already adds a GUI package manager on top, already has gnome preinstalled, and will probably do other nice things in the future. It’s clearly more than an installer, it’d be a shame if users couldn’t see that up front.

I’d love to help, this seems like a very healthy step for the community, but this will be very hard to dogfood for anyone with even a slightly involved config, or a preference for the CLI, so I think I’m not qualified :wink:

4 Likes

The main reason I’m calling it a new “distro” is since more people, especially new users, are more familiar with that term and would know what to expect. For more experienced Nix/NixOS users, yes it is just an overlay that could be enabled on any NixOS system. Once I add installation instructions I’ll definitely add instructions for a way of installing on top of NixOS, but I also think for new users/newbs it would be easier for them if I also shipped an ISO that installs everything by default.

3 Likes

I’m trying to make all of the tools compatible with manual configuration, meaning you can manually edit your configs and for the most part the GUI should work around it as expected. I’m hoping that people interested in learning Nix can use it as a crutch while slowly learning at their own pace!

3 Likes

I’m definitely excited about where you’re going with this vlinkz. I think there is a good chance we can attract a lot of distro creator mindshare with how much easier it should be to maintain an opinionated and batteries-included distro on top of NixOS.

10 Likes
Hosted by Flying Circus.