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.
NixOS: the operating system
Choose NixOS when you want the Linux system itself described through Nix: packages, services and system settings.
Upstream references (1)
Nix: packages and builds
Choose Nix for tools, project environments and build definitions. It also works without NixOS.
Upstream references (1)
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.
nix-darwin: macOS configuration
nix-darwin applies a Nix module-based approach to supported parts of macOS configuration. macOS remains the operating system.
NixOS-WSL: NixOS inside Windows
A community project for running NixOS under Windows Subsystem for Linux, with installation and integration specific to that environment.
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.
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.
Upstream references (1)
These projects share ideas and tools. They do not share one support promise, one installer or one set of configuration options.