diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c23d7a4..a61e9a3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -360,8 +360,6 @@ If you are working on the `action.yml` There is an integration test for `action. # Releases -> `nix-installer` is still experimental, so this process may change. - To cut a release: * Create a release branch from `main` (`git checkout -b release-v0.0.1`) diff --git a/README.md b/README.md index 42aff9e..2009587 100644 --- a/README.md +++ b/README.md @@ -3,25 +3,24 @@ [![Crates.io](https://img.shields.io/crates/v/nix-installer)](https://crates.io/crates/nix-installer) [![Docs.rs](https://img.shields.io/docsrs/nix-installer)](https://docs.rs/nix-installer/latest/nix_installer/) -`nix-installer` is an opinionated, **experimental** Nix installer. +`nix-installer` is an opinionated alternative to the [official Nix install scripts](https://nixos.org/download.html). ```bash curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install ``` -## Status +The `nix-installer` tool is ready to use in a number of environments: -`nix-installer` is **pre-release and experimental**. It is not ready for high reliability use! *Please* don't use it on a business critical machine! - -Current and planned support: - -* [x] Multi-user Linux (aarch64 and x86_64) with systemd integration, no SELinux -* [x] Root-only Linux (aarch64 and x86_64) with no init integration, no SELinux -* [x] Multi-user MacOS (aarch64 and x86_64) with launchd integration -* [x] SteamOS on the Valve Steam Deck -* [ ] Multi-user Linux (aarch64 and x86_64) with systemd integration & SELinux -* [ ] Others... +| Platform | Multi User | `root` only | Maturity | +|------------------------------|:------------------:|:-----------:|:--------:| +| Linux (x86_64 & aarch64) | ✓ (via [systemd]) | ✓ | Stable | +| MacOS (x86_64 & aarch64) | ✓ | | Stable | +| Valve Steam Deck (SteamOS) | ✓ | | Stable | +| WSL2 (x86_64 & aarch64) | ✓ (via [systemd]) | ✓ | Stable | +| Podman Linux Containers | ✓ (via [systemd]) | ✓ | Stable | +| Docker Containers | | ✓ | Stable | +| Linux (i686) | ✓ (via [systemd]) | ✓ | Unstable | ## Installation Differences @@ -32,7 +31,7 @@ Differing from the current official [Nix](https://github.com/NixOS/nix) installe ## Motivations -The current Nix installer scripts do an excellent job, however they are difficult to maintain. Subtle differences in the shell implementations, and certain characteristics of bash scripts make it difficult to make meaningful changes to the installer. +The current Nix install scripts do an excellent job, however they are difficult to maintain. Subtle differences in the shell implementations and certain characteristics of bash scripts make it difficult to make meaningful changes to the installer. Our team wishes to experiment with the idea of an installer in a more structured language and see if this is a worthwhile alternative. Along the way, we are also exploring a few other ideas, such as: @@ -251,6 +250,8 @@ To make this build portable, pass ` --target x86_64-unknown-linux-musl`. ## As a library +> Use as a library is still experimental, if you're using this, please let us know and we can make a path to stablization. + Add `nix-installer` to your dependencies: ```bash @@ -280,4 +281,4 @@ nix build github:DeterminateSystems/nix-installer#nix-installer.doc firefox result-doc/nix-installer/index.html ``` - +[systemd]: https://systemd.io \ No newline at end of file diff --git a/src/cli/mod.rs b/src/cli/mod.rs index df3da36..317d54f 100644 --- a/src/cli/mod.rs +++ b/src/cli/mod.rs @@ -19,7 +19,7 @@ pub trait CommandExecute { async fn execute(self) -> eyre::Result; } -/// An opinionated, experimental Nix installer +/// The Determinate Nix installer /// /// Plans a Nix install, prompts for confirmation, then executes it #[derive(Debug, Parser)]