1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-11-08 19:46:02 +01:00
Nix, the purely functional package manager
Find a file
Sergei Zimmerman 1b7ffa53af
treewide: Remove getUri and replace with getHumanReadableURI where appropriate
The problem with old code was that it used getUri for both the `diskCache`
as well as logging. This is really bad because it mixes the textual human
readable representation with the caching.

Also using getUri for the cache key is really problematic for the S3 store,
since it doesn't include the `endpoint` in the cache key, so it's totally broken.

This starts separating the logging / cache concerns by introducing a
`getHumanReadableURI` that should only be used for logging. The caching
logic now instead uses `getReference().render(/*withParams=*/false)` exclusively.
This would need to be fixed in follow-ups, because that's really fragile and
broken for some store types (but it was already broken before).
2025-08-14 16:47:05 +03:00
.github build(deps): bump actions/download-artifact from 4 to 5 2025-08-12 09:05:31 +00:00
ci/gha hydra: Restore coverage job 2025-08-08 12:05:06 +03:00
contrib function-trace: always show the trace 2019-09-18 23:23:21 +02:00
doc/manual Fix Git LFS SSH issues 2025-08-13 21:04:29 +03:00
maintainers meson: Apply formatting universally 2025-08-07 02:58:29 +03:00
misc add rc.d script for the nix-daemon 2025-08-08 09:09:58 +02:00
nix-meson-build-support meson: Apply formatting universally 2025-08-07 02:58:29 +03:00
packaging Revert "Merge pull request #13741 from xokdvium/toml-timestamps" 2025-08-13 22:46:09 +02:00
scripts add freebsd multi-user installer 2025-08-08 09:10:35 +02:00
src treewide: Remove getUri and replace with getHumanReadableURI where appropriate 2025-08-14 16:47:05 +03:00
tests Rewrite StoreConfig::getUri in terms of new StoreConfig::getReference 2025-08-13 19:06:59 -04:00
.clang-format Update clang-format with fixing namespace coments, and separate definition blocks 2025-07-18 12:46:51 -04:00
.clang-tidy Add .clang-tidy 2024-02-01 01:01:39 +01:00
.dir-locals.el .dir-locals.el: Set c-block-comment-prefix 2020-07-10 11:21:06 +02:00
.editorconfig No global eval settings in libnixexpr 2024-06-24 12:15:16 -04:00
.git-blame-ignore-revs git-blame-ignore-revs: Add the meson reformatting commit 2025-08-07 03:01:40 +03:00
.gitignore Overriding gtest with gmock 2025-05-31 07:41:27 -07:00
.mergify.yml Update .mergify.yml 2025-07-08 16:18:53 +02:00
.shellcheckrc housekeeping: shellcheck for tests/functional/ca/build-cache.sh 2024-06-12 17:41:16 -04:00
.version Bump version 2025-07-08 16:14:50 +02:00
CITATION.cff chore: PhD thesis as reference in CITATION.cff 2024-05-18 20:05:22 +02:00
CONTRIBUTING.md Update developer facing links to nix.dev 2025-07-25 10:59:44 +02:00
COPYING * Change this to LGPL to keep the government happy. 2006-04-25 16:41:06 +00:00
default.nix Format .nix files 2025-01-24 17:04:02 +01:00
docker.nix Revert "docker: make sure nix config check works" 2025-08-06 20:33:44 +02:00
flake.lock flake.lock: Update 2025-05-15 11:31:34 +02:00
flake.nix ci: Run sanitizer tests in a separate job 2025-07-28 23:37:04 +03:00
HACKING.md Rename doc/manual{src -> source} 2024-10-14 11:21:24 -04:00
meson.build meson: Get rid of multiline array formatting hack 2025-08-07 02:57:02 +03:00
meson.format flake: Add meson formatter 2025-06-11 22:08:03 +00:00
meson.options add derivation parser benchmark 2025-07-29 16:51:55 +02:00
README.md fix(docs): update Matrix channel links 2025-05-04 12:17:48 +02:00
shell.nix Remove url literals 2022-01-24 13:28:21 +01:00

Nix

Open Collective supporters CI

Nix is a powerful package manager for Linux and other Unix systems that makes package management reliable and reproducible. Please refer to the Nix manual for more details.

Installation and first steps

Visit nix.dev for installation instructions and beginner tutorials.

Full reference documentation can be found in the Nix manual.

Building and developing

Follow instructions in the Nix reference manual to set up a development environment and build Nix from source.

Contributing

Check the contributing guide if you want to get involved with developing Nix.

Additional resources

Nix was created by Eelco Dolstra and developed as the subject of his PhD thesis The Purely Functional Software Deployment Model, published 2006. Today, a world-wide developer community contributes to Nix and the ecosystem that has grown around it.

License

Nix is released under the LGPL v2.1.