diff --git a/README.md b/README.md index 9b1390c9f..241164e5d 100644 --- a/README.md +++ b/README.md @@ -14,12 +14,9 @@ [![CI](https://github.com/DeterminateSystems/nix-src/workflows/CI/badge.svg)](https://github.com/DeterminateSystems/nix-src/actions/workflows/ci.yml) This repository houses the source for [**Determinate Nix**][det-nix], a downstream distribution of [Nix][upstream] created and maintained by [Determinate Systems][detsys]. -Nix is a powerful language, package manager, and CLI for Linux and other Unix systems that makes package management reliable and reproducible. +Nix is a powerful [language], [package manager][package-management], and [CLI] for [macOS](#macos), [Linux](linux), and other Unix systems that enables you to create fully reproducible [development environments][envs], to build [packages] in sandboxed environments, to build entire Linux systems using [NixOS], and much more. -Determinate Nix is - -[Determinate] -[FlakeHub] +Determinate Nix is part of the [Determinate platform][determinate], which also includes [FlakeHub], a secure flake repository with features like [FlakeHub Cache][cache], [private flakes][private-flakes], and [semantic versioning][semver] (SemVer) for [flakes]. ## Installing Determinate @@ -32,55 +29,63 @@ Click [here][gui] to download and run it. ### Linux -On Linux, including Windows Subsystem for Linux (WSL), we recommend installing Determinate using [Determinate Nix Installer][installer]: +On Linux, including Windows Subsystem for Linux (WSL), we recommend installing Determinate Nix using [Determinate Nix Installer][installer]: ```shell curl -fsSL https://install.determinate.systems/nix | sh -s -- install --determinate ``` +### NixOS ---- +On [NixOS], we recommend following our [dedicated installation guide][nixos-install]. -## Installation and first steps +## Other resources -Visit [nix.dev](https://nix.dev) for [installation instructions](https://nix.dev/tutorials/install-nix) and [beginner tutorials](https://nix.dev/tutorials/first-steps). +Nix was created by [Eelco Dolstra][eelco] and developed as the subject of his 2006 PhD thesis, [The Purely Functional Software Deployment Model][thesis]. +Today, a worldwide developer community contributes to Nix and the ecosystem that has grown around it. -Full reference documentation can be found in the [Nix manual](https://nix.dev/reference/nix-manual). +- [Zero to Nix][z2n], Determinate Systems' guide to Nix and [flakes] for beginners +- [Nixpkgs], a collection of well over 100,000 software packages that you can build and manage using Nix +- [NixOS] is a Linux distribution that can be configured fully declaratively +- The Nix, Nixpkgs, and NixOS community on [nixos.org][website] -## Building and developing +## Reference -Follow instructions in the Nix reference manual to [set up a development environment and build Nix from source](https://nix.dev/manual/nix/development/development/building.html). +You can find full reference documentation in the [Determinate Nix manual][manual]. +This resource is a work in progress. + +## License + +[Upstream Nix][upstream] is released under the [LGPL v2.1][license] license. +[Determinate Nix][det-nix] is also released under LGPL v2.1 in accordance with the terms of the upstream license. ## Contributing Check the [contributing guide][contributing] if you want to get involved with developing Nix. -## Additional resources - -Nix was created by [Eelco Dolstra][eelco] and developed as the subject of his 2006 PhD thesis, [The Purely Functional Software Deployment Model](https://edolstra.github.io/pubs/phd-thesis.pdf). -Today, a world-wide developer community contributes to Nix and the ecosystem that has grown around it. - -- [The Nix, Nixpkgs, NixOS Community on nixos.org][website] -- [Nixpkgs], a collection of well over 100,000 software packages that can be built and managed using Nix -- [Official documentation on nix.dev][nix.dev] -- [NixOS] is a Linux distribution that can be configured fully declaratively - -## License - -[Upstream Nix][upstream] is released under the [LGPL v2.1][license] license. -[Determinate Nix][det-nix] is also released under LGPL v2.1 based on the terms of that license. - +[cache]: https://docs.determinate.systems/flakehub/cache +[cli]: https://manual.determinate.systems/command-ref/new-cli/nix.html [contributing]: ./CONTRIBUTING.md [det-nix]: https://docs.determinate.systems/determinate-nix [determinate]: https://docs.determinate.systems [detsys]: https://determinate.systems [dnixd]: https://docs.determinate.systems/determinate-nix#determinate-nixd [eelco]: https://determinate.systems/people/eelco-dolstra +[envs]: https://zero-to-nix.com/concepts/dev-env [flakehub]: https://flakehub.com +[flakes]: https://zero-to-nix.com/concepts/flakes [gui]: https://install.determinate.systems/determinate-pkg/stable/Universal +[language]: https://zero-to-nix.com/concepts/nix-language [license]: ./COPYING -[nix.dev]: https://nix.dev +[manual]: https://manual.determinate.systems [nixpkgs]: https://github.com/NixOS/nixpkgs +[nixos]: https://github.com/NixOS/nixpkgs/tree/master/nixos +[nixos-install]: https://docs.determinate.systems/guides/advanced-installation#nixos +[packages]: https://zero-to-nix.com/concepts/packages +[package-management]: https://zero-to-nix.com/concepts/package-management +[private-flakes]: https://docs.determinate.systems/flakehub/private-flakes +[semver]: https://docs.determinate.systems/flakehub/concepts/semver [thesis]: https://edolstra.github.io/pubs/phd-thesis.pdf [upstream]: https://github.com/NixOS/nix [website]: https://nixos.org +[z2n]: https://zero-to-nix.com