aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-06-19Create `worker_proto::{Read,Write}Conn`John Ericson
Pass this around instead of `Source &` and `Sink &` directly. This will give us something to put the protocol version on once the time comes. To do this ergonomically, we need to expose `RemoteStore::Connection`, so do that too. Give it some more API docs while we are at it.
2023-06-19Likewise namespace and `enum struct`-ify `ServeCommand`John Ericson
The motivation is exactly the same as for the last commit. In addition, this anticipates us formally defining separate serialisers for the serve protocol.
2023-06-19Put worker protocol items inside a `WorkerProto` structJohn Ericson
See API docs on that struct for why. The pasing as as template argument doesn't yet happen in that commit, but will instead happen in later commit. Also make `WorkerOp` (now `Op`) and enum struct. This led us to catch that two operations were not handled! Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-06-19Split out worker protocol template definitions from declarationsJohn Ericson
This is generally a fine practice: Putting implementations in headers makes them harder to read and slows compilation. Unfortunately it is necessary for templates, but we can ameliorate that by putting them in a separate header. Only files which need to instantiate those templates will need to include the header with the implementation; the rest can just include the declaration. This is now documenting in the contributing guide. Also, it just happens that these polymorphic serializers are the protocol agnostic ones. (Worker and serve protocol have the same logic for these container types.) This means by doing this general template cleanup, we are also getting a head start on better indicating which code is protocol-specific and which code is shared between protocols.
2023-06-19Merge pull request #8483 from edolstra/save-rootEelco Dolstra
restoreMountNamespace(): Restore the original root directory
2023-06-19Merge pull request #8542 from NixOS/maintainers-draft-prsEelco Dolstra
maintainers: add note on marking PRs as draft
2023-06-19Merge pull request #8541 from NixOS/contributing-good-first-issuesEelco Dolstra
CONTRIBUTING.md: add link to "good first issues"
2023-06-19maintainers: add note on marking PRs as draftValentin Gagarin
as discussed with maintainers team
2023-06-19CONTRIBUTING.md: add link to "good first issues"Valentin Gagarin
2023-06-19Merge pull request #8524 from amjoseph-nixpkgs/pr/doc/linkify-allowed-urisEelco Dolstra
src/libexpr/eval.hh: add link for allowed-uris option
2023-06-19Clean up a few things related to profiles (#8526)John Ericson
- Greatly expand API docs - Clean up code in misc ways - Instead of a complicated single loop on generations, do different operations in successive subsequent steps. - Avoid `ref` in one place where `&` is fine - Just return path instead of mutating an argument in `makeName` Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-06-18Add description for file system objects (#8500)Valentin Gagarin
While this is not actually a notion in the implementation, it is explicitly described in the thesis and quite important for understanding how the store works. Co-authored-by: John Ericson <git@JohnEricson.me> Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-06-18Merge pull request #8472 from NixOS/nix-language-purposeJohn Ericson
Refine wording on the purpose of the Nix language
2023-06-18src/libexpr/eval.hh: add link for allowed-uris optionAdam Joseph
This commit adds a link to the documentation for `--option allowed-uris` where that option is mentioned while describing `restrict-eval`.
2023-06-17Merge pull request #8534 from ncfavier/ciDomen Kožar
ci: bump install-nix-action, don't fail fast
2023-06-17ci: bump install-nix-action, don't fail fastNaïm Favier
2023-06-17Fix wikipedia links (#8533)Christina Sørensen
2023-06-16Merge pull request #8477 from edolstra/tarball-flake-redirectsEelco Dolstra
Tarball flake improvements
2023-06-16Apply suggestions from code reviewEelco Dolstra
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-06-16Add docsEelco Dolstra
2023-06-16Merge pull request #8517 from hercules-ci/fix-build-hook-error-for-lib-usersEelco Dolstra
Fix build hook error for libstore library users
2023-06-16Merge pull request #8525 from tweag/fix-i686-buildEelco Dolstra
Don't assume the type of string::size_type
2023-06-15Don't assume the type of string::size_typeThéophane Hufschmitt
The code accidentally conflated `std::string::size_type` and `long unsigned int`. This was fine on 64bits machines where they are apparently the same in practice, but not on 32bits. Fix that by using `std::string::size_type` everywhere.
2023-06-15Fix build hook error for libstore library usersRobert Hensing
A library shouldn't require changes to the caller's argument handling, especially if it doesn't have to, and indeed we don't have to. This changes the lookup order to prioritize the hardcoded path to nix if it exists. The static executable still finds itself through /proc and the like.
2023-06-15Merge pull request #8512 from scarf005/install-show-uidJohn Ericson
build: show UID and GID in welcome message
2023-06-15Merge pull request #8522 from amjoseph-nixpkgs/pr/allowed-uris/typoJohn Ericson
src/libexpr/eval.hh: fix typo
2023-06-15style: use plurals in uid rangesscarf
Co-authored-by: John Ericson <git@JohnEricson.me>
2023-06-14src/libexpr/eval.hh: fix typoAdam Joseph
The option name is `allowed-uris`, not `allowed-uri`.
2023-06-15Merge pull request #8521 from fricklerhandwerk/issue-templatesJohn Ericson
docs issue template: move checklist down
2023-06-15Merge pull request #8520 from fricklerhandwerk/rename-antiquote-testsJohn Ericson
Rename files referring to antiquotation
2023-06-15make domain-specificity more specificValentin Gagarin
also slightly reword the purpose statement to introduce (and explain) derivations right away.
2023-06-15docs issue template: move checklist downValentin Gagarin
it's annoying to write issues with the checklist in the way, and the proposal is more important.
2023-06-15rename files referring to antiquotationValentin Gagarin
since we renamed this to string interpolation, file names should be fixed up as well
2023-06-15style: use mathematical interval notationscarf
2023-06-15Merge pull request #8351 from obsidiansystems/delete-profiles-tests-docsJohn Ericson
Expanding tests and docs relating to deleting profiles
2023-06-15Merge pull request #8516 from wentasah/remove-registerprimopJohn Ericson
Remove RegisterPrimOp constructor without support for documentation
2023-06-14Improve `nix-collect-garbage` docsJohn Ericson
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-06-14Improve `nix-env --delete-generations` docsJohn Ericson
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-06-14Split out `nix-collect-garbage -d` test to new fileJohn Ericson
Good for test parallelism, and separation of concerns (core GC vs profiles deleting).
2023-06-14Add another case to the `nix-collect-garbage -d` testJohn Ericson
2023-06-14Fixup description of substituters (#8291)Valentin Gagarin
Introduce what substituters "are" in the configuration option entry. Remove arbitrary line breaks for easier editing in the future. Link glossary some more. Co-authored-by: Robert Hensing <roberth@users.noreply.github.com> Co-authored-by: John Ericson <git@JohnEricson.me>
2023-06-14Remove RegisterPrimOp constructor without support for documentationMichal Sojka
The remaining constructor RegisterPrimOp::RegisterPrimOp(Info && info) allows specifying the documentation in .args and .doc members of the Info structure. Commit 8ec1ba02109e removed all uses of the removed constructor in the nix binary. Here, we remove the constructor completely as well as its use in a plugin test. According to #8515, we didn't promis to maintain compatibility with external plugins. Fixes #8515
2023-06-14Merge pull request #8490 from flox/stdin_handlingJohn Ericson
fix: Do not apply default installables when using --stdin
2023-06-14Merge pull request #8488 from Mic92/update-requirementsJohn Ericson
nix actually needs c++20 now
2023-06-14Merge pull request #8491 from wentasah/builtins-docJohn Ericson
Document several undocumented builtin functions
2023-06-14Remove dead code (#8504)Daniel Asaturov
`filesystem.cc` is the only place where `createSymlink()` is used with three arguments: in the definition of `replaceSymlink()` with three parameters that _is not used at all_. Closes #8495
2023-06-14Merge pull request #3532 from domenkozar/darwin-install-idempotentJohn Ericson
darwin installer: remove the file before installing new one
2023-06-14Merge pull request #4803 from ShamrockLee/nix-channel-list-generationsJohn Ericson
Add `nix-channel --list-generations`
2023-06-14darwin installer: remove the file before installing new oneDomen Kožar
Otherwise results into: cp: /Library/LaunchDaemons/org.nixos.nix-daemon.plist and /nix/var/nix/profiles/default/Library/LaunchDaemons/org.nixos.nix-daemon.plist are identical (not copied).
2023-06-14Merge pull request #4282 from tweag/fix-ca-hash-rewritingJohn Ericson
fix the hash rewriting for ca-derivations