Distros?
Gaming distros, company distros, nation state distros, and joke distros. Yet everything is just Debian, Fedora, or Arch because at the end of the day its just the linux kernal and your choice of package manger.
So why pick between package managers? I'm told Debian (or Ubuntu) based systems have older stuff but are more "stable", but arch based distros are newer and less "stable" and what's going on with fedora? Oh well Fedora just has good support for businesses.
Why is it like this? If you've been to the NixOS page before you know its because in Linux following the Filesystem Hierarchy Standard, programs get installed all in one folder. Many programs rely on other programs to work and when those programs require a specific version of some program
So why does Arch's pacman have newer packages while Debian's apt has older packages? Mostly branding. The mental shortcut that apt means stable and pacman means new and dangerous is really how these package mangers sort of market themselves really.
All of that is irrelevant though, because we can just break the filesystem hierarchy standard and bam you have the nix package manager.
A distro (like Debian testing) is sometimes one of these package managers with choices about which set of older or newer software to use, but is most widely known for being "Just arch with pre-installed stuff" or "just Ubuntu with pre-installed stuff"
In nix, the idea of something being a "distro" is kind of weird if you're using the nix package manager, because unless you're hosting your own packages (which would have no reason to be any different from nix packages and would just be you paying for a lot of bandwidth) all you're doing is editing the nix config file and any NixOS user could just copy what you have and run that instead of installing your distro.
That is unless you're actually using one of the nix forks, and not nix at all Some of which promise better governing structures or backwards compatibility for flakes, but that's a topic for another time.
Nixbook
All of that to say, you may not consider nixbook a "distro" per say. Its install process involves literally installing NixOS afterall, but it is an install script aimed at making NixOS more user friendly.
So lets take a look at what the pigeon I just installed onto my system:
https://github.com/mkellyxp/nixbook
As per usual I went to check /etc/nixos/configuration.nix and there wasn't much going on there except for all the things that are now missing! Instead, another file referenced at the top is imported from /etc/nixbook/base.nix
What's going on in base.nix? Well firstly we're using the "let, in" syntax now apparently. lightdm for our login, cinnamon desktop, x11, some firewall protected printing services, an automatic update script (your system updates come on Mondays with this thing and package updates Tuesday through Sunday) AND
These are our packages:
git
firefox
libnotify
gawk
gnugrep
sudo
dconf
gnome-software
gnome-calculator
gnome-calendar
gnome-screenshot
flatpak
xdg-desktop-portal
xdg-desktop-portal-gtk
xdg-desktop-portal-gnome
system-config-printer
Zoom, libreoffice, and chrome are all installed as flatpaks.
Lessons
Overall, I think this is a great project to learn from, but I'm ultimately disappointed by the heavy reliance on flatpaks. I would have liked to see a nix package store instead.
I do however very much like the auto-update feature and I love the overall aim of this project which is to bring an easy to use linux distro that won't break and will stay up to date all on its own to the average user, in the streets. At the very least, while I probably won't daily drive this particular configuration, I did get to learn quite a lot from it and for that I am appreciative.