I'd suggest going through the logs and seeing if anything seems amiss. On a fresh boot, run the following:
journalctl --boot
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.
Just want to share my experience in regard to installing Fedora Kinoite for non-technical folks. I have had Fedora Kinoite installed on different machines with different hardware since Fedora 36.
Every single time I want to upgrade to another major version (say 36 -> 37) something goes wrong, and I have to manually dig through the notes and issues to fix them via the command line. The problem has been unique every time I have wanted to upgrade; either the repos have issues or there's a dependency problem while upgrading or a host of other problems that hinder major upgrades via a single click through the GUI frontend. I had Kinoite installed for non-technical people because it seemed to be the perfect option for having a rock solid system that's hard to break. But after having to intervene EVERY single time they had to upgrade to a major version, I am convinced that I need to consider another distro for my use case.
Also, a huge thanks to the contributors and the developers of the ostree variants of Fedora such as Silverblue and Kionete.
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