1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-24 22:11:15 +02:00
Commit graph

20295 commits

Author SHA1 Message Date
John Ericson
44ca04b944 doc/rl-next: nix-formatter 2025-05-14 17:41:50 -04:00
Jörg Thalheim
c3684efa95 doc/rl-next: faster-blake3 2025-05-14 23:29:49 +02:00
Jörg Thalheim
121f7ca5fd doc/rl-next: add duplicate-copy 2025-05-14 23:24:35 +02:00
Sergei Zimmerman
90d70aa4c9
libutil: Format lru-cache.hh
Rip off the band-aid for further refactors. The diff is
very small, so it makes to get it out of the way first.
2025-05-14 21:23:13 +00:00
John Ericson
eca100eb7d Revert "doc/rl-next: add better-flake-git-errors"
This was already released on 2.28.0

This reverts commit 721b09a69f.
2025-05-14 17:22:24 -04:00
John Ericson
1d23d883ad Revert "doc/rl-next: Add repl-and-logging"
It is already released on 2.28.0

This reverts commit db76487f41.
2025-05-14 17:20:37 -04:00
Jörg Thalheim
5ca242018d doc/rl-next: add multiple-signatures 2025-05-14 23:16:59 +02:00
John Ericson
0db10fc875
Merge pull request #12977 from Mic92/docs
Docs: fix "building" documentation w.r.t. meson
2025-05-14 17:10:29 -04:00
Jörg Thalheim
cdb332990e doc/rl-next: add s3-sts-authentication 2025-05-14 23:05:46 +02:00
Robert Hensing
132c20872f doc/manual: Render unreleased release notes on master
This renders the rl-next notes when `officialRelease = false`, which
corresponds to the case where we're not on a release branch.

Previously we had disabled this behavior because changelog-d is
somewhat of a heavy dependency, being the only Haskell package.
However, we now have new circumstances that topple the tradeoff.

- We render `master` docs to https://nix.dev/manual/nix/development/release-notes/rl-next.html

- `.#manual` is a separate build now, so `nix build nix/foo` is
  not affected by the increased closure of build input outputs.

Because of these factors, I believe adding this functionality back
is more valuable, as we can use it to

- Previous release notes

- Showcase the upcoming release to the community
2025-05-14 23:03:33 +02:00
Jörg Thalheim
14b4a208c7 doc/rl-next: add fixed-s3-progress-bar 2025-05-14 23:01:46 +02:00
John Ericson
db76487f41 doc/rl-next: Add repl-and-logging 2025-05-14 16:58:57 -04:00
Jörg Thalheim
721b09a69f doc/rl-next: add better-flake-git-errors 2025-05-14 22:57:07 +02:00
Jörg Thalheim
7f07a94b64 doc/rl-next: add repl-continuation 2025-05-14 22:49:05 +02:00
Jörg Thalheim
13dafac243 doc/rl-next: add substituter-timeout 2025-05-14 22:46:08 +02:00
Jörg Thalheim
cbdd0c1035 doc/rl-next: add nix-flake-show 2025-05-14 22:45:57 +02:00
Jörg Thalheim
39d10229e5 doc/rl-next: add github-host-attr 2025-05-14 22:45:38 +02:00
Jörg Thalheim
c12fd7b319 docs/building: fix attribute for nix-cli-ccacheStdenv 2025-05-14 22:22:01 +02:00
Jörg Thalheim
723f2c7352 docs: update cross compilation section from autotools to meson
fixes https://github.com/NixOS/nix/issues/12934

Update doc/manual/source/development/building.md

Co-authored-by: Eelco Dolstra <edolstra@gmail.com>

Update doc/manual/source/development/building.md

Co-authored-by: John Ericson <git@JohnEricson.me>
2025-05-14 22:22:01 +02:00
Robert Hensing
af6e44b116 doc/rl-next: Add c-api 2025-05-14 22:21:01 +02:00
John Ericson
d972f9e2e2 Split out store-open.hh and store-registration.hh
The existing header is a bit too big. Now the following use-cases are
separated, and get their own headers:

- Using or implementing an arbitrary store: remaining `store-api.hh`

  This is closer to just being about the `Store` (and `StoreConfig`)
  classes, as one would expect.

- Opening a store from a textual description: `store-open.hh`

  Opening an aribtrary store implementation like this requires some sort
  of store registration mechanism to exists, but the caller doesn't need
  to know how it works. This just exposes the functions which use such a
  mechanism, without exposing the mechanism itself

- Registering a store implementation: `store-registration.hh`

  This requires understanding how the mechanism actually works, and the
  mechanism in question involves templated machinery in headers we
  rather not expose to things that don't need it, as it would slow down
  compilation for no reason.
2025-05-14 16:07:57 -04:00
Jörg Thalheim
a70140b55a fix various typos in docs 2025-05-14 21:29:17 +02:00
Jörg Thalheim
e088ab3eaf
Merge pull request #13154 from obsidiansystems/split-store-config
Stores no longer inherit from their configs
2025-05-14 21:08:40 +02:00
Jörg Thalheim
addb9f8418
Merge pull request #13180 from Jaculabilis/reload-flakes
nix repl: remember :load-flake calls for :reload
2025-05-14 20:35:58 +02:00
Jörg Thalheim
a714d3bb3c
Merge pull request #13184 from NixOS/doc-references
Document more references concepts
2025-05-14 19:33:43 +02:00
John Ericson
b287438476 Document more references concepts 2025-05-14 12:57:06 -04:00
Eelco Dolstra
893b7a5fc7
Merge pull request #13178 from xokdvium/fix-doc-hash
docs: Fix miscellaneous typos and formatting issues
2025-05-14 15:24:16 +02:00
Tim Van Baak
fb510a9e50 nix repl: remember :load-flake calls for :reload
Fixes #8753
2025-05-13 20:56:41 -07:00
Sergei Zimmerman
20a724d131
docs: Fix miscellaneous typos and formatting issues 2025-05-13 22:20:11 +00:00
John Ericson
934918ba16 Stores no longer inherit from their configs
Fix #10766

See that ticket for details.

Progress (I hope!) towards #11139.

Co-Authored-By: Sergei Zimmerman <xokdvium@proton.me>
2025-05-13 15:56:35 -04:00
Jörg Thalheim
f0f196cef0
Merge pull request #13175 from xokdvium/optimise-fetchtarball
libutil/tarfile: Create the scratch `std::vector` only once
2025-05-13 14:21:26 +02:00
Sergei Zimmerman
7628155d2b
libutil/tarfile: Create the scratch std::vector only once
I can't find a good way to benchmark in isolation from the
git cache, but common sense dictates that creating (and destroying)
a 131KiB std::vector for each regular file from the archive imposes
quite a significant overhead regardless of the IO bound git cache.

AFAICT there is no reason to keep a copy of the data since
it always gets fed into the sink and there are no coroutines/threads
in sight.
2025-05-13 10:50:46 +00:00
Jörg Thalheim
1ac4bf122b
Merge pull request #13173 from NixOS/better-truncated-tar-error
Improve 'cannot read file from tarball' error
2025-05-13 12:34:27 +02:00
Jörg Thalheim
542d6f3c79
Merge pull request #13174 from NixOS/test-lock-files
Test lock file contents more precisely
2025-05-13 12:34:06 +02:00
Sergei Zimmerman
18a5589f9a
libstore: Depend on boost_regex explicitly 2025-05-13 08:51:46 +00:00
Sergei Zimmerman
f3090ef703
packaging/dependencies: Use boost without enableIcu
This reduces the closure size on master by 40MiB.

```
$ nix build github:nixos/nix/1e822bd4149a8bce1da81ee2ad9404986b07914c#nix-store --out-link closure-on-master
$ nix build .#nix-store -L --out-link closure-without-icu
$ nix path-info --closure-size -h ./closure-on-master
/nix/store/8gwr38m5h6p7245ji9jv28a2a11w1isx-nix-store-2.29.0pre  124.4 MiB
$ nix path-info --closure-size -h ./closure-without-icu
/nix/store/k0gwfykjqpnmaqbwh23nk55lhanc9g24-nix-store-2.29.0pre   86.6 MiB
```
2025-05-13 08:47:24 +00:00
Eelco Dolstra
824e0d51fe Test lock file contents more precisely 2025-05-13 10:40:24 +02:00
Eelco Dolstra
bdb3f613dd Improve 'cannot read file from tarball' error
It now says e.g.

  error: cannot read file from tarball: Truncated tar archive detected while reading data
2025-05-13 10:32:12 +02:00
Jörg Thalheim
ed521760bc
Merge pull request #13161 from NixOS/remove-final
nix flake prefetch: Remove __final
2025-05-13 08:50:36 +02:00
Jörg Thalheim
0f985fea11
Merge pull request #13138 from NixOS/register-builtin-builders
Register builtin builders
2025-05-13 08:50:19 +02:00
Jörg Thalheim
6fdb170fb3
Merge pull request #13159 from NixOS/ignore-dir
Avoid unnecessarily updating old lock files with 'dir' parameters
2025-05-12 22:34:50 +02:00
Jörg Thalheim
b87b1cbc75
Merge pull request #13165 from bam80/patch-1
index.md: add warning for installing as root
2025-05-12 22:25:50 +02:00
Jörg Thalheim
c3745e7895
Merge pull request #13169 from NixOS/improve-build-failure-error
Improve build failure error messages
2025-05-12 22:25:31 +02:00
Eelco Dolstra
5a84237209 Improve build failure error messages
They're now laid out in a more readable way, and they shows the output
paths (if known).
2025-05-12 15:06:54 +02:00
Andrey Butirsky
3cc16d13f0
index.md: add warning for installing as root
warning: installing Nix as root is not supported by this script!
performing a single-user installation of Nix...
copying Nix to /nix/store.......................................................
......
warning: the group 'nixbld' specified in 'build-users-group' does not exist
warning: the group 'nixbld' specified in 'build-users-group' does not exist
installing 'nix-2.28.3'
error: the group 'nixbld' specified in 'build-users-group' does not exist
/tmp/nix-binary-tarball-unpack.2j3lCU0A89/unpack/nix-2.28.3-x86_64-linux/install: unable to install Nix into your default profile
2025-05-10 18:13:58 +03:00
Eelco Dolstra
cdbe788c1f
Merge pull request #13155 from Valodim/patch-2
Reduce maxLayers to 70 in docker build
2025-05-09 17:12:38 +02:00
Eelco Dolstra
da953d6d39 Add test 2025-05-09 16:55:13 +02:00
Eelco Dolstra
c686de6505 nix flake prefetch: Remove __final
This is currently an internal attribute, not intended to be shown to
users.

Fixes #13150.
2025-05-09 16:44:48 +02:00
Eelco Dolstra
d00682beb2 Backward compatibility hack for dealing with dir in URL-style flakerefs 2025-05-09 10:10:42 +02:00
Vincent Breitmoser
6d0f174cd9
Reduce maxLayers to 70 in docker build
The nixos/nix docker image is built using `buildLayeredImage`, which spreads the nix store over a configured number of layers. This number was set to create an image with 100 layers. Because there is a limit of (typically) 127 layers in AUFS, this only left 27 layers to build on top. At the same time, nearly half of the created layers were only <100kb in size, many even <10kb, negating the intended advantage in cachability.

This commit moves the tradeoff a bit by reducing the number of layers to 70.

Layer sizes for the 2.28.3 nixos/nix image: https://hub.docker.com/layers/nixos/nix/2.28.3/images/sha256-d078d7153763895fce17c5fbbdeb86fcfcac414ca0ba875d413c1df57be19931
2025-05-08 09:56:14 +02:00