NixOS on ARM/Raspberry Pi
nixos.wiki
nixos.wiki
Can't get nixops to work from my x86_64 notebook to deploy on the rpi though, I gave up on that.
Nixos is really nice, But I find that the declarative conf still has a lot to iron out.
Currently I only use it as a base system with declarative podman containers for pihole, freeipa (manually docker-built from the fedora image), postgres, nextcloud. Only nginx installed via nixos conf on the base system.
I use podman containers since I could not find a way to have user-namespaced containers, or even just containers that don't share the whole /nix, which I find as a huge security risk. I really don't care about disk space. Duplicate everything but let me isolate those containers as much as possible. Podman containers give me read-only filesystem, too. Maybe nixops might have helped, but it would have prevented me from going read-only filesystem
I tried using the declarative part of nixos to configure nginx, but I ended up dumping all the nginx conf on the single "extra" conf variable since proper declarative nginx vhosting with more than one location just does not let you do what you want (and is broken: do NOT reader my locations!!).
Manual dump of the conf also for the cni network management of podman.
wpa_supplicant most of the times starts too early and I didn't manage to make it run later, crashed. I am using ethernet without problems.
So for me Big Kudos to the Nix(,Os,Ops) teams for the work done, I believe that is the future we should work towards. But we are still a far way off on many things. Documentation is also really scarce (and at rare times wrong), which increase the already steep learning curve.
So sorry for the 'bad' review, but know that I still do not lose faith and will keep learning and trying. The basic idea is really that good for a sysadmin like me.
This means the install process is painful as it requires a serial tty or typing blind commands to enable ssh.
Also, once you get it running, if you ever screw up, booting the previous gen requires editing the bootloader files as it seems uboot is unable to initialise some usb keyboards properly (although they are listed).
And finally, there seems to be no X support.
I don’t want to sound harsh, I know it’s tough work, so I’m definitely extending my thanks to anyone working on that port.
At that point I had enough issues that I bailed out at it's not practical yet for my pet projects.
When I finally got an image built the performance was much worse than rasbian or ubuntu. Kodi was basically unusable.
I hope these issues eventually get fixed. Being able to build an sdcard image from a nix config would be a great way to manage a bunch of Raspberry Pis.
Also, cross-compiling almost works now - I have a Pi 4 cross-compiling NixOS to armv6l for a Pi 0. But I'm using a clone of nixpkgs with several PRs merged, and I've taken care to avoid packages where cross doesn't work yet - definitely not plug-and-play.
I imagine things will be a lot better in a year or so.
Seriously?
(† well actually they will have prototypes shipping to some developers in the next months.)
I suspect the answer is a cheap x86 box. I haven’t seen anything with comparable support..
In particular the m4 with the nvme shield makes a good mini nas. https://www.friendlyarm.com/index.php?route=product/product&...