4 ms·
NixOS is the perfect OS for embedded Linux use, and I'm surprised that it hasn't seen any commercial uptake. I hope that some company adopts it for an IoT produ
by erikw 5y ago
NixOS is the perfect OS for embedded Linux use, and I'm surprised that it hasn't seen any commercial uptake. I hope that some company adopts it for an IoT product or something so that it gets some love. I've been messing around on a Raspberry Pi and Beaglebone today with Debian, and I'm constantly frustrated having to use an imperative OS. I'm not using NixOS because even though it officially supports Raspberry Pi 3, I have not found it to be stable on that platform.
I'm excited about Mobile NixOS though. I've found the NixOS community to be motivated and friendly, but there is only so much progress that a small group of volunteers can make.
- seddona 5y agoAt CircuitHub we use NixOS on embedded devices, x86 though. I know of a few other commercial embedded users. Works great.
- erikw 5y agoI'd be interested to hear more about how you're using NixOS if it isn't something you've already written about. My guess is that you're mostly leveraging the declarative configuration and immutability for internal infrastructure use. What I'd love to see would be consumer devices using NixOS, allowing updates (especially security patches) to be deployed to endpoints without too much fear that it will brick something. I think that would allow companies to more inexpensively maintain their IoT devices throughout their lifetime. I imagine a device where it could automatically revert to the last working generation if a new config fails for some reason.
- jjnoakes 5y agoNixOS probably helps with this, but it isn't a requirement - some devices already have a dual-root-type setup where they update the inactive root, boot into it, and the boot sequence doesn't mark it permanently active until it boots properly, reverting to the original root if something goes wrong. I think if more devices aren't doing this kind of thing then the cost might not make sense to them at all. Perhaps they aren't bricking devices often, or perhaps their support load is low. But I'm only speculating. I'm all for more NixOS if it helps people.
- _red 5y ago>dual-root-type setup where they update the inactive root, boot into it, Fedora-IoT effectively does this with rpm-ostree + greenboot. Greenboot specifies a series of directories under /etc that organizes your custom scripts (scripts that must not fail, scripts that may fail, scripts to run on success, scripts to run after previous failed, etc) then it marks your current ostree as either being active or auto-rollsback into previous.
- samueldr 5y ago> I'm not using NixOS because even though it officially supports Raspberry Pi 3, I have not found it to be stable on that platform. I'm curious to hear more details about issues you might have been facing. You can hit me us/me up on the Matrix channel[0] for "NixOS on ARM", tag me (@samueldr) on the Discourse[1], open an issue[2] if there's something actionable (and you didn't already), or I guess a reply here could do too, if you want. 0: https://matrix.to/#/#nixos-on-arm:nixos.org https://matrix.to/#/#nixos-on-arm:nixos.org 1: https://discourse.nixos.org/ https://discourse.nixos.org/ 2: https://github.com/NixOS/Nixpkgs/issues https://github.com/NixOS/Nixpkgs/issues
- pxc 5y agotl;dr: here are three commercial embedded NixOS uses and a couple of other embedded NixOS projects 1. LumiGuide uses NixOS for their embedded systems, which track automatic bicycle rentals at little solar-powered stations IIRC: https://av.tib.eu/media/39625 https://av.tib.eu/media/39625 (also some coverage here: https://www.worksonarm.com/blog/nixos/ https://www.worksonarm.com/blog/nixos/ ) 2. Yakkertech uses NixOS for their embedded systems, which do baseball pitch tracking: https://av.tib.eu/media/50713 https://av.tib.eu/media/50713 3. Swift Navigation uses NixOS for CI/CD for the embedded systems they use for GPS and navigation: https://blog.swiftnav.com/using-nixos-to-manage-hardware-testing-environments/ https://blog.swiftnav.com/using-nixos-to-manage-hardware-tes... I'd only heard of the first two, and discover the third just now. There are also two downstream distros/related projects that target embedded systems, but idk how much commercial use they've yet seen, if any: a. https://github.com/telent/nixwrt https://github.com/telent/nixwrt b. https://github.com/cleverca22/not-os https://github.com/cleverca22/not-os