I’m in the process of migrating my servers to NixOS. It takes a lot of time and the learning curve is steep, but I have one config shared for all the servers and PCs. I have setup the servers to automatically pull the latest configuration everyday and even restart if there’s a kernel update.
This means I just need to update my laptop and push the changes to the repository, and all the servers will also update.
I haven’t had this setup long enough to know if things will break unexpectedly with updates tho. NixOS has a great feature where you can rollback to a previous configuration (generation) with a single command. You can always keep using containers to isolate updates, if you want (Nix allows you to declare those in the config as well).
As an example, you can take a look at my config.
EDIT: Systemd timers have an option to randomize the time a service runs, I use it all the time. The option for Nix’s config pulling is using systemd timers, so you can use that.
I thought it was a problem with my phone since I’m using a custom ROM and it did not happen before. When I open Firefox and it has been in the background for a while, it shows a black screen where the web content should be and often crashes if you try to open another tab or do something else. Also happens if I open a link from another app. The only solution is to close Firefox and swipe it off the recent apps and reopen it. Is this the same problem you have?