btrfs + snapper can easily achieve the same thing. You can checkout OpenSUSE.
I only use nixos for my base configuration. All GUI desktop applications are installed through flatpak and development is done through distrobox.
Is anybody using distrobox on NixOS to develop and run software? What are your thoughts on using it?
I feel like it's a huge time saver and makes the use of NixOS easier for beginners. Instead of spending an afternoon or a few days trying to compile or run something using nix, you can spin up a box and seamlessly do your development there. This makes prototyping and testing things out way easier before investing a bunch of time trying to nixify it.
I installed and used ModelSim and Intel Quartus for a couple of hardware courses that I had.
I suggest trying out Bottles. You can easily install it with one command through flatpak. I've had luck running a lot of windows only software used in hardware engineering.
I've been using system76-scheduler for a while now and it works great. You can create a profile for your desired software and all of its related processes and then assign a high priority (low niceness) to them.
I would just buy a cheap RAM stick and install one of the mainstream distrobutions with KDE Plasma on it. You can turn off most of the desktop effects and unnecessary background services.
You can help improve the desktop integration documentation at their GitHub repo.
Fish and its search functionality work great for me.
If you want to go for traditional distributions that don't have native rollback mechanisms, I would suggest using btrfs along with something like snapper.
Updating individual applications is a pain on NixOS. You'd either have to override the attributes of the package (which can get quite ugly and complicated and does not always work) or pull in a new commit of nixpkgs that has the version you want which requires the download of a ton of other dependencies that were compiled for that specific commit of nixpkgs.
Flatpaks solved this problem for me and helped reduce the download size every time I wanted to update something.
I've been using NixOS with flatpaks and distrobox and have had pretty much the same experience. NixOS provides rock solid base system, services, and CLI tools that are easy to configure and flatpaks provide the rest of the desktop applications.
One neat feature of installing eveything through flatpak is that you can update applications individually without having to upgrade the whole system.
Desktop:
- distrobox
- brave
- flatpak
- neovim
- nix
- fish
- tmux