Great blog post, always nice to read about other people’s experiences. I was curious if you’d switch back to NixOS, but that’s not the case. Cubes OS looks interesting, I checked it out a few years ago. I should give it another look.
Cyberpunk | Programmer | Ruby on Rails veteran | Nix user | Sysop | Mr. Fusion maintainer for the MiSTer project
Great blog post, always nice to read about other people’s experiences. I was curious if you’d switch back to NixOS, but that’s not the case. Cubes OS looks interesting, I checked it out a few years ago. I should give it another look.
I’m on Hetzner too. You’re right, it is a bit of a hassle. I wish they’d just include a native image into the interface. I use infect and it works quite seamless though https://github.com/elitak/nixos-infect?tab=readme-ov-file#hetzner-cloud
Try it! Here’s a proof of concept that I’ve made that shows NixOS could even be used as a base for a very simple OS that abstracts the Nix away almost completely. Maybe the source code is of interest to you.
Technically NixOS is all compiled from source too (if you disable the binary caches). It has since taken away Gentoo’s raison d’être a bit in my head. Debian still holds a special place in my heart too, for its simplicity and stability!
Interesting. I’ve using NixOS many years on servers but recently also started using it as a base for docker hosts. Before that I used Ubuntu or Debian for docker hosts, but I figured out I still like the declarative approach even for simple servers like docker hosts. There’s your basic security config, ssh keys and monitoring setup that I used to do imperatively, but I much rather have declaratively now, no matter how small. And enabling docker on NixOS is just a virtualisation.docker.enable = true;
anyway.
Since I started using the Nix package manager and switched to NixOS, the notion of a “Linux distribution” faded into little more than “A bootloader + the Linux kernel + some userspace programs”.
OP mentioned a Minecraft server, iirc that can be pretty noisy in the logs.
If it’s running off an SD card then it’s very likely the SD card is broken. It’s better to run a pi off a USB SSD drive. Hope you have backups. Good luck either way.
Edit (more context):
https://hackaday.com/2019/04/08/give-your-raspberry-pi-sd-card-a-break-log-to-ram/
https://hackaday.com/2022/03/09/raspberry-pi-and-the-story-of-sd-card-corruption/
I’m building a batteries included desktop OS based on NixOS. A bit like ZorinOS, ChromeOS or Mint but with NixOS as a base. It’s a bit ambitious and still in an early stage, but it’s been great fun for me using the Nix package manager as a solid tool to build stuff. Check it out at https://nixup.io/ or https://github.com/nixup-io/desk-os if you’re curious. Anyone with the nix package manager installed and flakes enabled can just execute nix run github:nixup-up/desk-os
to spin up a VM with a demo.
NixOS enters the room wearing a “/nix/store” t-shirt.
Understandable, maybe to some. But no matter how hard the activist core currently in charge of the moderation team would like me to believe it, not everyone brings political activism to the table on this project. And that’s a good thing. It is still perfectly possible to enjoy working with good tech and build cool stuff without bringing a soap box alongside your laptop.
I believe there is a much larger, silent majority of nix users, contributors and enthusiasts that are not affected by this drama. Here’s a post that resonates with me: https://nrd.sh/blog/nixos-policy-breakdown/
Over 20 years in this technology space, I’ve come to recognize software built on very solid foundational concepts. Nix is one of those. It’s not going anywhere and neither is NixOS. I encourage anyone interested in Nix to read Eelco Dolstra’s thesis: https://edolstra.github.io/pubs/phd-thesis.pdf
Why is that? (genuine question, thanks!)