Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,12 +77,6 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Check Nixpkgs input
uses: DeterminateSystems/flake-checker-action@main
with:
fail-mode: true
check-outdated: false # PRs shouldn't fail because main's nixpkgs is out of date

- name: Install Nix
uses: ./
with:
Expand Down
9 changes: 4 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Contributing to `experimental-nix-installer`
# Contributing to `nix-installer`

Most contributions should be made upstream; see the
[upstream contributing guide](https://github.com/DeterminateSystems/nix-installer/blob/main/CONTRIBUTING.md)
Expand Down Expand Up @@ -32,7 +32,7 @@ If using an editor, it may be preferable to adopt an addon to enter the environm

## Testing Installs

If you're hacking on `experimental-nix-installer`, you likely already have Nix and cannot test locally.
If you're hacking on `nix-installer`, you likely already have Nix and cannot test locally.

> That's probably a good thing! You should test in a sandbox.

Expand Down Expand Up @@ -105,7 +105,7 @@ nix build .#hydraJobs.vm-test.rhel-v7.x86_64-linux.all -L -j 4
For PR review, you can also test arbitrary branches or checkouts like so:

```bash
nix build github:NixOS/experimental-nix-installer/${BRANCH}#hydraJobs.vm-test.ubuntu-v22_04.x86_64-linux.install-default -L
nix build github:NixOS/nix-installer/${BRANCH}#hydraJobs.vm-test.ubuntu-v22_04.x86_64-linux.install-default -L
```

<details>
Expand Down Expand Up @@ -193,7 +193,7 @@ nix build .#hydraJobs.container-test.ubuntu-v22_04.x86_64-linux.docker -L
For PR review, you can also test arbitrary branches or checkouts like so:

```bash
nix build github:NixOS/experimental-nix-installer/${BRANCH}#hydraJobs.container-test.ubuntu-v22_04.x86_64-linux.podman -L
nix build github:NixOS/nix-installer/${BRANCH}#hydraJobs.container-test.ubuntu-v22_04.x86_64-linux.podman -L
```

<details>
Expand Down Expand Up @@ -260,7 +260,6 @@ You can also remove your `$HOME/nix-installer-wsl-tests-temp` folder whenever yo
> [!NOTE]
> The documentation below describes a process that used to be mostly manual, and is now driven externally.
> The material below is generally kept up to date for documentation, manual releases, and external use purposes.
> Determinate Systems employees, consult the internal release documentation for more details: https://www.notion.so/14553fe7e1dd809eb80affb37228a7c8.

This package uses [Semantic Versioning](https://semver.org/). When determining the version number for a new release refer to Semantic Versioning for guidance. You can use the `check-semver` command alias from within the development environment to validate your changes don't break semver.

Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ version = "3.11.3"
edition = "2021"
resolver = "2"
license = "LGPL-2.1"
repository = "https://github.com/NixOS/experimental-nix-installer"
repository = "https://github.com/NixOS/nix-installer"

[features]
default = ["cli"]
Expand Down
59 changes: 24 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# An experimental fork of the Determinate Nix Installer, to play with upstreaming.
# Experimental Nix Installer

Note, this is different from the Determinate Nix Installer, available at https://github.com/DeterminateSystems/nix-installer.

Expand All @@ -17,7 +17,7 @@ If you used the **Determinate Nix Installer**, report issues at https://github.c
This one-liner is the quickest way to get started on any supported system:

```shell
curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/experimental-installer | \
curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/nix-installer | \
sh -s -- install
```

Expand All @@ -37,14 +37,14 @@ curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/experimental
You can install Nix with the default [planner](#planners) and options by running this script:

```shell
curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/experimental-installer | \
curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/nix-installer | \
sh -s -- install
```

To download a platform-specific installer binary yourself:

```shell
curl -sL -o nix-installer https://artifacts.nixos.org/experimental-installer/nix-installer-x86_64-linux
curl -sL -o nix-installer https://artifacts.nixos.org/nix-installer/nix-installer-x86_64-linux
chmod +x nix-installer
./nix-installer
```
Expand All @@ -53,7 +53,7 @@ This would install Nix on an `x86_64-linux` system but you can replace that with

### Planners

Determinate Nix Installer installs Nix by following a _plan_ made by a _planner_.
The experimental Nix installer installs Nix by following a _plan_ made by a _planner_.
To review the available planners:

```shell
Expand All @@ -70,7 +70,7 @@ To see the options for Linux, for example:
You can configure planners using environment variables or command arguments:

```shell
curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/experimental-installer | \
curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/nix-installer | \
NIX_BUILD_GROUP_NAME=nixbuilder sh -s -- install --nix-build-group-id 4000

# Alternatively:
Expand All @@ -97,7 +97,7 @@ Alternatively, you can [uninstall](#uninstalling) and [reinstall](#install-nix)

### Uninstalling

You can remove Nix installed by Determinate Nix Installer by running:
You can remove Nix installed by the experimental Nix installer by running:

```shell
/nix/nix-installer uninstall
Expand All @@ -113,7 +113,7 @@ On the default [GitLab] runners, you can install Nix using this configuration:
```yaml
test:
script:
- curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/experimental-installer | sh -s -- install linux --no-confirm --init none
- curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/nix-installer | sh -s -- install linux --no-confirm --init none
- . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
- nix run nixpkgs#hello
- nix profile install nixpkgs#hello
Expand All @@ -134,7 +134,7 @@ If you are using different runners, the above example may need to be adjusted.
If you don't use [systemd], you can still install Nix by explicitly specifying the `linux` plan and `--init none`:

```shell
curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/experimental-installer | \
curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/nix-installer | \
sh -s -- install linux --init none
```

Expand Down Expand Up @@ -169,7 +169,7 @@ For containers (without an init):
FROM ubuntu:latest
RUN apt update -y
RUN apt install curl -y
RUN curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/experimental-installer | sh -s -- install linux \
RUN curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/nix-installer | sh -s -- install linux \
--extra-conf "sandbox = false" \
--init none \
--no-confirm
Expand All @@ -194,7 +194,7 @@ For containers with a [systemd] init:
FROM ubuntu:latest
RUN apt update -y
RUN apt install curl systemd -y
RUN curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/experimental-installer | sh -s -- install linux \
RUN curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/nix-installer | sh -s -- install linux \
--extra-conf "sandbox = false" \
--no-start-daemon \
--no-confirm
Expand All @@ -221,19 +221,19 @@ This repository provides a GitHub Action for installing Nix in CI workflows.

**Basic usage:**
```yaml
- uses: NixOS/experimental-nix-installer@main
- uses: NixOS/nix-installer@main
```

**Install specific version:**
```yaml
- uses: NixOS/experimental-nix-installer@main
- uses: NixOS/nix-installer@main
with:
installer-version: v3.11.3-experimental-prerelease
```

**No-init mode (for containers):**
```yaml
- uses: NixOS/experimental-nix-installer@main
- uses: NixOS/nix-installer@main
with:
no-init: true
```
Expand All @@ -245,7 +245,7 @@ See the [action inputs](action.yml) for all available options.
We **strongly recommend** first [enabling systemd][enabling-systemd] and then installing Nix as normal:

```shell
curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/experimental-installer | \
curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/nix-installer | \
sh -s -- install
```

Expand All @@ -271,7 +271,7 @@ If enabling systemd is not an option, pass `--init none` at the end of the comma
> ```

```shell
curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/experimental-installer | \
curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/nix-installer | \
sh -s -- install linux --init none
```

Expand All @@ -280,7 +280,7 @@ curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/experimental
If you'd like to bypass the confirmation step, you can apply the `--no-confirm` flag:

```shell
curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/experimental-installer | \
curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/nix-installer | \
sh -s -- install --no-confirm
```

Expand Down Expand Up @@ -321,17 +321,17 @@ See [this guide](./docs/building.md) for instructions on building and distributi

## As a Rust library

The Determinate Nix Installer is available as a standard [Rust] library.
The experimental Nix installer is available as a standard [Rust] library.
See [this guide](./docs/rust-library.md) for instructions on using the library in your own Rust code.

## Accessing other versions

You can pin to a specific version of Determinate Nix Installer by modifying the download URL.
You can pin to a specific version of the experimental Nix installer by modifying the download URL.
Here's an example:

```shell
VERSION="v0.6.0"
curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/experimental-installer/tag/${VERSION}/nix-installer.sh | \
curl --proto '=https' --tlsv1.2 -sSf -L https://artifacts.nixos.org/nix-installer/tag/${VERSION}/nix-installer.sh | \
sh -s -- install
```

Expand All @@ -343,7 +343,7 @@ Here's an example:
```shell
VERSION="v0.6.0"
ARCH="aarch64-linux"
curl -sSf -L https://github.com/NixOS/experimental-nix-installer/releases/download/${VERSION}/nix-installer-${ARCH} -o nix-installer
curl -sSf -L https://github.com/NixOS/nix-installer/releases/download/${VERSION}/nix-installer-${ARCH} -o nix-installer
./nix-installer install
```

Expand All @@ -364,7 +364,7 @@ Differing from the upstream [Nix][upstream-nix] installer scripts:

## Installer settings

Determinate Nix Installer provides a variety of configuration settings, some [general](#general-settings) and some on a per-command basis.
The experimental Nix installer provides a variety of configuration settings, some [general](#general-settings) and some on a per-command basis.
All settings are available via flags or via `NIX_INSTALLER_*` environment variables.

### General settings
Expand Down Expand Up @@ -439,31 +439,20 @@ nix-installer uninstall /path/to/receipt.json
`nix-installer self-test` only takes [general settings](#general-settings).

[actions]: https://github.com/features/actions
[cache]: https://docs.determinate.systems/flakehub/cache
[det-nix]: https://docs.determinate.systems/determinate-nix
[determinate]: https://docs.determinate.systems
[determinate-flake]: https://github.com/DeterminateSystems/determinate
[detsys]: https://determinate.systems
[docker]: https://docker.com
[enabling-systemd]: https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/#how-can-you-get-systemd-on-your-machine
[flakehub]: https://flakehub.com
[flakes]: https://zero-to-nix.com/concepts/flakes
[forked-installer]: https://github.com/nixos/experimental-nix-installer
[forked-installer]: https://github.com/nixos/nix-installer
[gitlab]: https://gitlab.com
[gitlab-ci]: https://docs.gitlab.com/ee/ci
[macos-upgrades]: https://determinate.systems/posts/nix-survival-mode-on-macos/
[nix]: https://nixos.org
[nix-installer-action]: https://github.com/DeterminateSystems/nix-installer-action
[nixgl]: https://github.com/guibou/nixGL
[nixos]: https://zero-to-nix.com/concepts/nixos
[openssl]: https://openssl.org
[podman]: https://podman.io
[privacy]: https://determinate.systems/policies/privacy
[private-flakes]: https://docs.determinate.systems/flakehub/private-flakes
[releases]: https://github.com/NixOS/experimental-nix-installer/releases
[releases]: https://github.com/NixOS/nix-installer/releases
[rust]: https://rust-lang.org
[selinux]: https://selinuxproject.org
[semver]: https://docs.determinate.systems/flakehub/concepts/semver
[steam-deck]: https://store.steampowered.com/steamdeck
[systemd]: https://systemd.io
[upstream-nix]: https://github.com/NixOS/nix
Expand Down
6 changes: 3 additions & 3 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,9 +111,9 @@ runs:
echo "Downloading nix-installer $VERSION for $SYSTEM from GitHub releases"

if [ "$VERSION" == "latest" ]; then
DOWNLOAD_URL="https://github.com/NixOS/experimental-nix-installer/releases/latest/download/${BINARY_NAME}"
DOWNLOAD_URL="https://github.com/NixOS/nix-installer/releases/latest/download/${BINARY_NAME}"
else
DOWNLOAD_URL="https://github.com/NixOS/experimental-nix-installer/releases/download/${VERSION}/${BINARY_NAME}"
DOWNLOAD_URL="https://github.com/NixOS/nix-installer/releases/download/${VERSION}/${BINARY_NAME}"
fi

echo "Downloading from: $DOWNLOAD_URL"
Expand All @@ -122,7 +122,7 @@ runs:
if [ $? -ne 0 ] || [ ! -f "$INSTALLER_DIR/$BINARY_NAME" ]; then
echo "::error ::Failed to download installer binary: $BINARY_NAME"
echo "::error ::Version: $VERSION"
echo "::error ::Check available releases: https://github.com/NixOS/experimental-nix-installer/releases"
echo "::error ::Check available releases: https://github.com/NixOS/nix-installer/releases"
exit 1
fi

Expand Down
2 changes: 1 addition & 1 deletion assemble_installer.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

def get_hydra_evals() -> list[dict[str, Any]]:
"""Fetch evaluations from Hydra jobset."""
url = "https://hydra.nixos.org/jobset/experimental-nix-installer/experimental-installer/evals"
url = "https://hydra.nixos.org/jobset/nix-installer/nix-installer/evals"
req = urllib.request.Request(url, headers={"Accept": "application/json"})
with urllib.request.urlopen(req) as response:
data = json.loads(response.read().decode("utf-8"))
Expand Down
12 changes: 6 additions & 6 deletions docs/building.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ To build a portable Linux binary on a system with Nix:
# to build a local copy
nix build -L ".#nix-installer-static"
# to build the remote main development branch
nix build -L "github:determinatesystems/nix-installer#nix-installer-static"
nix build -L "github:NixOS/nix-installer#nix-installer-static"
# for a specific version of the installer:
export NIX_INSTALLER_TAG="v0.6.0"
nix build -L "github:determinatesystems/nix-installer/$NIX_INSTALLER_TAG#nix-installer-static"
nix build -L "github:NixOS/nix-installer/$NIX_INSTALLER_TAG#nix-installer-static"
```

## On macOS
Expand All @@ -23,10 +23,10 @@ nix build -L "github:determinatesystems/nix-installer/$NIX_INSTALLER_TAG#nix-ins
# to build a local copy
nix build -L ".#nix-installer"
# to build the remote main development branch
nix build -L "github:determinatesystems/nix-installer#nix-installer"
nix build -L "github:NixOS/nix-installer#nix-installer"
# for a specific version of the installer:
export NIX_INSTALLER_TAG="v0.6.0"
nix build -L "github:determinatesystems/nix-installer/$NIX_INSTALLER_TAG#nix-installer"
nix build -L "github:NixOS/nix-installer/$NIX_INSTALLER_TAG#nix-installer"
```

## Copying the executable
Expand All @@ -38,11 +38,11 @@ You can also add the installer to a system without Nix using [cargo], as there a
# to build and run a local copy
RUSTFLAGS="--cfg tokio_unstable" cargo run -- --help
# to build the remote main development branch
RUSTFLAGS="--cfg tokio_unstable" cargo install --git https://github.com/DeterminateSystems/nix-installer
RUSTFLAGS="--cfg tokio_unstable" cargo install --git https://github.com/NixOS/nix-installer
nix-installer --help
# for a specific version of the installer:
export NIX_INSTALLER_TAG="v0.6.0"
RUSTFLAGS="--cfg tokio_unstable" cargo install --git https://github.com/DeterminateSystems/nix-installer --tag $NIX_INSTALLER_TAG
RUSTFLAGS="--cfg tokio_unstable" cargo install --git https://github.com/NixOS/nix-installer --tag $NIX_INSTALLER_TAG
nix-installer --help
```

Expand Down
9 changes: 1 addition & 8 deletions docs/rust-library.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## As a Rust library

> [!WARNING]
> Using Determinate Nix Installer as a [Rust] library is still experimental.
> Using the experimental Nix installer as a [Rust] library is still experimental.
> This feature is likely to be removed in the future without an advocate.
> If you're using this, please let us know and we can provide a path to stabilization.

Expand Down Expand Up @@ -30,13 +30,6 @@ Then it's possible to review the [documentation]:
cargo doc --open -p nix-installer
```

Documentation is also available via `nix build`:

```shell
nix build github:DeterminateSystems/nix-installer#nix-installer.doc
firefox result-doc/nix-installer/index.html
```

[clap]: https://clap.rs
[documentation]: https://docs.rs/nix-installer/latest/nix_installer
[lib]: https://docs.rs/nix-installer
Expand Down
4 changes: 2 additions & 2 deletions nix-installer.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# shellcheck shell=dash

# If you need an offline install, or you'd prefer to run the binary directly, head to
# https://github.com/DeterminateSystems/nix-installer/releases then pick the version and platform
# https://github.com/NixOS/nix-installer/releases then pick the version and platform
# most appropriate for your deployment target.
#
# This is just a little script that selects and downloads the right `nix-installer`. It does
Expand Down Expand Up @@ -30,7 +30,7 @@ is_zsh() {
set -u

# If NIX_INSTALLER_FORCE_ALLOW_HTTP is unset or empty, default it.
NIX_INSTALLER_BINARY_ROOT="${NIX_INSTALLER_BINARY_ROOT:-https://github.com/NixOS/experimental-nix-installer/releases/download/$assemble_installer_templated_version}"
NIX_INSTALLER_BINARY_ROOT="${NIX_INSTALLER_BINARY_ROOT:-https://github.com/NixOS/nix-installer/releases/download/$assemble_installer_templated_version}"

main() {
downloader --check
Expand Down
Loading