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.
Cyberpunk | Programmer | Ruby on Rails veteran | Nix user | Sysop | Mr. Fusion maintainer for the MiSTer project
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.
Do you have more information? Haven’t looked into it for a while. What happened?
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.
It’s almost as if you’d like OP to provide a reproducible example. If only there was a tool for that /s
deleted by creator
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
NCommander did it for a Christmas charity stream a few years back: https://www.youtube.com/live/tCh0XjyIAKU
I recently did a bare metal migration from Gitea to Forgejo using NixOS, maybe this info is useful if you use SQLite (which I believe is the default): the SQLite database filename for Gitea is gitea.db and for Forgejo it’s forgejo.db so I had to do a rename. Before renaming I ended up with an empty Forgejo instance. Either way I hope you figure it out in the end. Good luck!
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