mirror of
https://github.com/NixOS/nix
synced 2025-07-06 21:41:48 +02:00
Merge remote-tracking branch 'origin/master' into lazy-trees
This commit is contained in:
commit
730f6bf616
16 changed files with 244 additions and 73 deletions
|
@ -65,6 +65,7 @@
|
|||
- [CLI guideline](contributing/cli-guideline.md)
|
||||
- [Release Notes](release-notes/release-notes.md)
|
||||
- [Release X.Y (202?-??-??)](release-notes/rl-next.md)
|
||||
- [Release 2.12 (2022-12-06)](release-notes/rl-2.12.md)
|
||||
- [Release 2.11 (2022-08-25)](release-notes/rl-2.11.md)
|
||||
- [Release 2.10 (2022-07-11)](release-notes/rl-2.10.md)
|
||||
- [Release 2.9 (2022-05-30)](release-notes/rl-2.9.md)
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
The easiest way to install Nix is to run the following command:
|
||||
|
||||
```console
|
||||
sh <(curl -L https://nixos.org/nix/install)
|
||||
$ sh <(curl -L https://nixos.org/nix/install)
|
||||
```
|
||||
|
||||
This will run the installer interactively (causing it to explain what
|
||||
|
@ -27,7 +27,7 @@ you can authenticate with `sudo`.
|
|||
To explicitly select a single-user installation on your system:
|
||||
|
||||
```console
|
||||
sh <(curl -L https://nixos.org/nix/install) --no-daemon
|
||||
$ sh <(curl -L https://nixos.org/nix/install) --no-daemon
|
||||
```
|
||||
|
||||
This will perform a single-user installation of Nix, meaning that `/nix`
|
||||
|
@ -37,8 +37,8 @@ if it doesn’t already exist. If you don’t have `sudo`, you should
|
|||
manually create `/nix` first as root, e.g.:
|
||||
|
||||
```console
|
||||
mkdir /nix
|
||||
chown alice /nix
|
||||
$ mkdir /nix
|
||||
$ chown alice /nix
|
||||
```
|
||||
|
||||
The install script will modify the first writable file from amongst
|
||||
|
@ -50,7 +50,7 @@ the install script to disable this behaviour.
|
|||
You can uninstall Nix simply by running:
|
||||
|
||||
```console
|
||||
rm -rf /nix
|
||||
$ rm -rf /nix
|
||||
```
|
||||
|
||||
# Multi User Installation
|
||||
|
@ -66,7 +66,7 @@ You can instruct the installer to perform a multi-user installation on
|
|||
your system:
|
||||
|
||||
```console
|
||||
sh <(curl -L https://nixos.org/nix/install) --daemon
|
||||
$ sh <(curl -L https://nixos.org/nix/install) --daemon
|
||||
```
|
||||
|
||||
The multi-user installation of Nix will create build users between the
|
||||
|
@ -274,7 +274,7 @@ These install scripts can be used the same as the main NixOS.org
|
|||
installation script:
|
||||
|
||||
```console
|
||||
sh <(curl -L https://nixos.org/nix/install)
|
||||
$ sh <(curl -L https://nixos.org/nix/install)
|
||||
```
|
||||
|
||||
In the same directory of the install script are sha256 sums, and gpg
|
||||
|
@ -289,10 +289,10 @@ it somewhere (e.g. in `/tmp`), and then run the script named `install`
|
|||
inside the binary tarball:
|
||||
|
||||
```console
|
||||
cd /tmp
|
||||
tar xfj nix-1.8-x86_64-darwin.tar.bz2
|
||||
cd nix-1.8-x86_64-darwin
|
||||
./install
|
||||
$ cd /tmp
|
||||
$ tar xfj nix-1.8-x86_64-darwin.tar.bz2
|
||||
$ cd nix-1.8-x86_64-darwin
|
||||
$ ./install
|
||||
```
|
||||
|
||||
If you need to edit the multi-user installation script to use different
|
||||
|
|
43
doc/manual/src/release-notes/rl-2.12.md
Normal file
43
doc/manual/src/release-notes/rl-2.12.md
Normal file
|
@ -0,0 +1,43 @@
|
|||
# Release 2.12 (2022-12-06)
|
||||
|
||||
* On Linux, Nix can now run builds in a user namespace where they run
|
||||
as root (UID 0) and have 65,536 UIDs available.
|
||||
<!-- FIXME: move this to its own section about system features -->
|
||||
This is primarily useful for running containers such as `systemd-nspawn`
|
||||
inside a Nix build. For an example, see [`tests/systemd-nspawn/nix`][nspawn].
|
||||
|
||||
[nspawn]: https://github.com/NixOS/nix/blob/67bcb99700a0da1395fa063d7c6586740b304598/tests/systemd-nspawn.nix.
|
||||
|
||||
A build can enable this by setting the derivation attribute:
|
||||
|
||||
```
|
||||
requiredSystemFeatures = [ "uid-range" ];
|
||||
```
|
||||
|
||||
The `uid-range` [system feature] requires the [`auto-allocate-uids`]
|
||||
setting to be enabled.
|
||||
|
||||
[system feature]: (../command-ref/conf-file.md#conf-system-features)
|
||||
|
||||
* Nix can now automatically pick UIDs for builds, removing the need to
|
||||
create `nixbld*` user accounts. See [`auto-allocate-uids`].
|
||||
|
||||
[`auto-allocate-uids`]: (../command-ref/conf-file.md#conf-auto-allocate-uids)
|
||||
|
||||
* On Linux, Nix has experimental support for running builds inside a
|
||||
cgroup. See
|
||||
[`use-cgroups`](../command-ref/conf-file.md#conf-use-cgroups).
|
||||
|
||||
* `<nix/fetchurl.nix>` now accepts an additional argument `impure` which
|
||||
defaults to `false`. If it is set to `true`, the `hash` and `sha256`
|
||||
arguments will be ignored and the resulting derivation will have
|
||||
`__impure` set to `true`, making it an impure derivation.
|
||||
|
||||
* If `builtins.readFile` is called on a file with context, then only
|
||||
the parts of the context that appear in the content of the file are
|
||||
retained. This avoids a lot of spurious errors where strings end up
|
||||
having a context just because they are read from a store path
|
||||
([#7260](https://github.com/NixOS/nix/pull/7260)).
|
||||
|
||||
* `nix build --json` now prints some statistics about top-level
|
||||
derivations, such as CPU statistics when cgroups are enabled.
|
|
@ -1,58 +1,5 @@
|
|||
# Release X.Y (202?-??-??)
|
||||
|
||||
* `<nix/fetchurl.nix>` now accepts an additional argument `impure` which
|
||||
defaults to `false`. If it is set to `true`, the `hash` and `sha256`
|
||||
arguments will be ignored and the resulting derivation will have
|
||||
`__impure` set to `true`, making it an impure derivation.
|
||||
|
||||
* If `builtins.readFile` is called on a file with context, then only the parts
|
||||
of that context that appear in the content of the file are retained.
|
||||
This avoids a lot of spurious errors where some benign strings end-up having
|
||||
a context just because they are read from a store path
|
||||
([#7260](https://github.com/NixOS/nix/pull/7260)).
|
||||
|
||||
* Nix can now automatically pick UIDs for builds, removing the need to
|
||||
create `nixbld*` user accounts. These UIDs are allocated starting at
|
||||
872415232 (0x34000000) on Linux and 56930 on macOS.
|
||||
|
||||
This is an experimental feature. To enable it, add the following to
|
||||
`nix.conf`:
|
||||
|
||||
```
|
||||
extra-experimental-features = auto-allocate-uids
|
||||
auto-allocate-uids = true
|
||||
```
|
||||
|
||||
* On Linux, Nix can now run builds in a user namespace where the build
|
||||
runs as root (UID 0) and has 65,536 UIDs available. This is
|
||||
primarily useful for running containers such as `systemd-nspawn`
|
||||
inside a Nix build. For an example, see
|
||||
https://github.com/NixOS/nix/blob/67bcb99700a0da1395fa063d7c6586740b304598/tests/systemd-nspawn.nix.
|
||||
|
||||
A build can enable this by requiring the `uid-range` system feature,
|
||||
i.e. by setting the derivation attribute
|
||||
|
||||
```
|
||||
requiredSystemFeatures = [ "uid-range" ];
|
||||
```
|
||||
|
||||
The `uid-range` system feature requires the `auto-allocate-uids`
|
||||
setting to be enabled (see above).
|
||||
|
||||
* On Linux, Nix has experimental support for running builds inside a
|
||||
cgroup. It can be enabled by adding
|
||||
|
||||
```
|
||||
extra-experimental-features = cgroups
|
||||
use-cgroups = true
|
||||
```
|
||||
|
||||
to `nix.conf`. Cgroups are required for derivations that require the
|
||||
`uid-range` system feature.
|
||||
|
||||
* `nix build --json` now prints some statistics about top-level
|
||||
derivations, such as CPU statistics when cgroups are enabled.
|
||||
|
||||
* You can now use flake references in the old CLI, e.g.
|
||||
|
||||
```
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue