You do not need all of this.

Start with the layer you want to manage. Add another tool when it solves a problem you actually have.

Layer 01

NixOS: the operating system

Choose NixOS when you want the Linux system itself described through Nix: packages, services and system settings.

Layer 02

Nix: packages and builds

Choose Nix for tools, project environments and build definitions. It also works without NixOS.

Layer 03

Home Manager: your user environment

Home Manager manages selected user packages and dotfiles. It can run separately or integrate with NixOS and nix-darwin. Begin with a small configuration and back up files you already manage by hand.

Layer 04

nix-darwin: macOS configuration

nix-darwin applies a Nix module-based approach to supported parts of macOS configuration. macOS remains the operating system.

Layer 05

NixOS-WSL: NixOS inside Windows

A community project for running NixOS under Windows Subsystem for Linux, with installation and integration specific to that environment.

Layer 06

Nix-on-Droid: a terminal on Android

Access Nix tools from an Android app. This is a specialist, prototype-grade route rather than a replacement phone OS.

Layer 07

finix: operating-system experiments

An experimental Nix-based OS built around finit. Read its own modules and installation guidance rather than assuming NixOS configuration is interchangeable.

These projects share ideas and tools. They do not share one support promise, one installer or one set of configuration options.