Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

+1. I personally have always wanted to write down my thoughts on NixOS in a long-ish form post.

But it’s just really hard to articulate. NixOS is such a step above any other distro that it becomes hard to convey exactly why this is the case. It is also because so many pieces work together in tandem - both above and below the covers so to speak - to make this the case.

There is really only one talk I have found that somewhat captures this, What Nix Can Do (and Can’t) by Matthew Croughan: https://youtu.be/6Le0IbPRzOE. Keep in mind that it’s a rapid fire-style talk with a ton of breadth, so it is natural to feel overwhelmed while watching if new to Nix :)

Also, here is a random dump of features that I have found both valuable and very difficult to achieve on other distros:

* Config rollback in bootloader to undo mistakes without needing to boot from recovery media

* Flake lockfiles to pin all config and packages

* Config layering: base config that applies to all machines, per-machine overrides, etc

* NixOS module system, very useful to conditionally enable functionality (e.g. subset of machines run Syncthing)

* Rebuild a host over SSH by copying over packages via nixos-rebuild

* Image builders i.e. Packer-lite (now in nixpkgs)

* Build a live CD/USB custom installer to quickly boot from with your own packages, user, dotfiles, etc

* NixOS integration testing framework (extremely powerful), makes package and config stability better under the hood in nixpkgs

* Build and run your config as a QEMU VM

* nixos-anywhere to convert a running Linux machine into NixOS, very useful for VPS/cloud machines

* Out of the box support for cross compilation and static linking via pkgsCross and pkgsStatic

* Stylix for centralized theming config across apps

* Natively build a Docker image from your package using dockerTools

 help



> Rebuild a host over SSH by copying over packages via nixos-rebuild

+1! This is immensely useful when running on hardware where builds can take a long time due to limited resources, like a Raspberry Pi.

I recently came across https://github.com/halfwhey/nix-apple-container which allowed me to configure nix to build for Pi using containers on MacOS.




Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: