aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-06-20Merge pull request #8552 from edolstra/fix-eagainEelco Dolstra
GC server: Clear O_NONBLOCK on the right file descriptor
2023-06-20Merge pull request #8548 from abathur/fix_uninstall_redirectsEelco Dolstra
redirect old platform uninstall instruction links
2023-06-20Support opening local store with database on read-only filesystem (#8356)Ben Radford
Previously it was not possible to open a local store when its database is on a read-only filesystem. Obviously a store on a read-only filesystem cannot be modified, but it would still be useful to be able to query it. This change adds a new read-only setting to LocalStore. When set to true, Nix will skip operations that fail when the database is on a read-only filesystem (acquiring big-lock, schema migration, etc), and the store database will be opened in immutable mode. Co-authored-by: Ben Radford <benradf@users.noreply.github.com> Co-authored-by: cidkidnix <cidkidnix@protonmail.com> Co-authored-by: Dylan Green <67574902+cidkidnix@users.noreply.github.com> Co-authored-by: John Ericson <git@JohnEricson.me> Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-06-20GC server: Clear O_NONBLOCK on the right file descriptorEelco Dolstra
The bug fix in 6d30f9e6fea7d451033653f8f167aef58f7f5347 erroneously cleared O_NONBLOCK on the server rather than client FD (leaving both in an incorrect state). Fixes #8551.
2023-06-19redirect old platform uninstall instruction linksTravis A. Everett
Uninstall instructions were moved to their own page in #8267. The overall section link was redirected in #8286, but platform-specific links (which I give out frequently when I triage installer trouble) weren't included.
2023-06-19Add more links in nix-build documentation (#8545)Silvan Mosberger
* Add more links in nix-build documentation Co-authored-by: John Ericson <git@JohnEricson.me>
2023-06-19Merge pull request #8547 from obsidiansystems/proto-cleanup-prepRobert Hensing
Make a few changes in prepartion for deeper cleanup of the remote protocols
2023-06-19Remove unused `#include` from `local-derivation-goal.cc`John Ericson
These were never needed for this file, and date back to before this was split from `derivation-goal.cc`.
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