NixOS adds beta support for aarch64

Started by berce, December 09, 2017, 01:20:19 AM

Previous topic - Next topic

berce

NixOS is a Linux distribution with a unique approach to package and configuration management.
It enables you to assemble the exact software configuration you want. For most software there will be binaries available that are downloaded and installed in seconds, but if you have particular needs or wishes, it will patiently compile the exotic configuration you ask for. It's trivial to save and share your configuration on e.g. github, allowing for exact software replication on other devices.

There are some aarch64 and armv7 boards already known to be working (see https://nixos.wiki/wiki/NixOS_on_ARM). None of Olimex are listed yet, but just a suitable u-boot (with extlinux.conf support) should get you started. Beta support for aarch64 is being announced (https://github.com/NixOS/nixos-homepage/pull/175).

Disclaimer: I'm enthusiastic about NixOS just like I 'm enthusiastic about Olimex. I like the products, I like the philosophy. I actively use NixOS but own no Olimex products (yet). All credit goes to their respective owners and contributors of NixOS and Olimex. I 'm just a messenger, hoping for synergy.

JohnS

Thanks for posting.  I haven't a view about it but it's good to know.

John

olimex

Are there benefits to use NixOS over standard Linux?

berce

#3
Quote
Declarative

NixOS has a completely declarative approach to configuration management: you write a specification of the desired configuration of your system in NixOS's modular language, and NixOS takes care of making it happen.

Reliable

NixOS has atomic upgrades and rollbacks. It's always safe to try an upgrade or configuration change: if things go wrong, you can always roll back to the previous configuration.

This means it's very easy to switch hardware and keep the configuration and software, or to share full or partial system configurations. The atomic upgrades make experimenting with bleeding edge software a pleasure. In a fraction of a second, you're back in the working system to prepare the next iteration. That's very convenient when working on experimental hardware.
Because of the way dependencies work, Nix allows to mix and match stable, unstable and very experimental software without the need to upgrade everything together. So you don't have to wait for someone to make a new distro image to take advantage of the latest application releases.

Also on my ARMv7 device, I take advantage of hardware support in recent kernel releases that are not yet available other distributions. While I have little experience with compiling kernels, nix made it quite an easy job.

It takes some effort to learn a little about Nix, Nixos, Nixpkgs and Nixops. But when you get the basics, it suddenly becomes easy to tune it all to your own needs, it speeds up development and before you know it you start contributing your own packages. Often when a package for specific software is not available yet, you only have to point to the source and list the dependencies for nix to do its magic.
I recently contributed KiCAD-unstable, because only KiCAD  4.7 was available and it didn't allow me to open the Olimex open hardware designs.