Valentin Gagarin
b387d80943
remove sentence for chapter transition
...
idea: sections could be read in different orders by linking them in
different ways (e.g. depth-first or breadth-first). adding hard-coded
transitions makes that confusing.
2022-08-04 12:37:46 +02:00
John Ericson
89a7c956ff
Apply suggestions from code review
...
Co-authored-by: Valentin Gagarin <valentin@fricklerhandwerk.de>
2022-08-04 12:37:46 +02:00
Valentin Gagarin
51e6bed25e
do not mention implementation details
...
Co-authored-by: John Ericson <git@JohnEricson.me>
2022-08-04 12:37:46 +02:00
Valentin Gagarin
23ee0b24f7
correctly use comma for nesting
...
Co-authored-by: John Ericson <git@JohnEricson.me>
2022-08-04 12:37:46 +02:00
Valentin Gagarin
804e8bd747
indicate sequence with "then"
...
Co-authored-by: John Ericson <git@JohnEricson.me>
2022-08-04 12:37:46 +02:00
Valentin Gagarin
327ccd3b07
only use generic build system terminology
...
we will use a translation table to introduce nix-specific terms
2022-08-04 12:37:46 +02:00
Valentin Gagarin
0eae4bfad1
reword overview with clear terminology
...
trying to capture alternative terms in one go here, mirroring everyday
use:
derivation - build plan
realise - execute build
there will be more of that sort.
2022-08-04 12:37:46 +02:00
John Ericson
0737094161
Add draft "Rosetta stone" by @fricklerhandwerk and stub commentary
...
The idea and most of the execution are @fricklerhandwerk's. I changed a
few things best I could based on @edolstra's corrections, and a Bazel
glossary.
Valentin Gagarin <valentin@fricklerhandwerk.de>
2022-08-04 12:37:46 +02:00
John Ericson
c86c1ec7e3
Make refernces sneak preview more concise
2022-08-04 12:37:46 +02:00
John Ericson
4e4bbd9e83
Improve store objects session more
2022-08-04 12:37:46 +02:00
John Ericson
e4eea5e84e
Include abstract syntax based on the thesis for FSOs
...
See https://edolstra.github.io/pubs/phd-thesis.pdf , page 91.
2022-08-04 12:37:46 +02:00
John Ericson
b98dc3b19c
store objects, better opining sentances
2022-08-04 12:37:46 +02:00
John Ericson
55b437b551
Improve store path section
2022-08-04 12:37:46 +02:00
John Ericson
b4df351880
Relocability -> relocation in store object title
2022-08-04 12:37:46 +02:00
John Ericson
5f4d2ac091
Improve store object section
...
In particular, Nix is *not* like Git, so that needs to be fixed.
2022-08-04 12:37:46 +02:00
John Ericson
1bbad62c7d
doc: File system data -> file system object, to match Nix
2022-08-04 12:37:46 +02:00
John Ericson
838ba26fda
Rename files after store entry -> store object rename
2022-08-04 12:37:46 +02:00
John Ericson
4e2d5ae202
doc: Store entry -> store object
...
This matches the terminology in Eelco's thesis.
2022-08-04 12:37:46 +02:00
John Ericson
e308602fdf
Update doc/manual/src/design/store/drvs/drvs.md
...
Co-authored-by: Matthieu Coudron <teto@users.noreply.github.com>
2022-08-04 12:37:46 +02:00
John Ericson
cdb0bf3b65
Update doc/manual/src/design/overview.md
...
Co-authored-by: Valentin Gagarin <valentin@fricklerhandwerk.de>
2022-08-04 12:37:46 +02:00
John Ericson
75c5191a1f
Update doc/manual/src/design/overview.md
...
Co-authored-by: Valentin Gagarin <valentin@fricklerhandwerk.de>
2022-08-04 12:37:46 +02:00
John Ericson
a04340f9a1
Update doc/manual/src/design/overview.md
...
Co-authored-by: Valentin Gagarin <valentin@fricklerhandwerk.de>
2022-08-04 12:37:46 +02:00
John Ericson
f5386d7059
Fix stub file's name
2022-08-04 12:37:46 +02:00
John Ericson
678d75baea
Start on the derivations section
2022-08-04 12:37:46 +02:00
John Ericson
e3a0209a9e
Move the bits on relocating store entires to the end
...
They are too advanced for up front.
2022-08-04 12:37:46 +02:00
John Ericson
a210504bc7
Apply suggestions from code review
2022-08-04 12:37:46 +02:00
John Ericson
e64633f98f
Flesh out TOC
2022-08-04 12:37:46 +02:00
John Ericson
a2b3160f28
Briefly describe the digest of a store path
2022-08-04 12:37:46 +02:00
John Ericson
523359d133
WIP: Document the design of Nix
...
The current docs are all "how to do things" and no "what is Nix" or "why
are things the way they are".
I see lots of misconception on the wider internet, and I also think we
would benefit from a "living document" to answer some questions people
currently turn to the thesis for.
I think a new section of the manual can address all these issues.
2022-08-04 12:37:46 +02:00
Valentin Gagarin
499ed26508
manual: remove "Writing Nix Expressions" chapter
...
it is out of date, all over the place in level of detail, is really
about `nixpkgs`, and in general instructions should not be part of
a reference manual.
also:
- update redirects and internal links
- use "Nix language" consistently
2022-08-04 11:59:25 +02:00
Erik Arvstedt
4c8441be0a
docs/flake-update: fix example
2022-08-04 09:45:30 +02:00
Erik Arvstedt
53833dfb40
libexpr/flake: remove FIXME
...
Line 593 checks that all overrides (i.e. all elements of
`lockFlags.inputOverrides`) are members of `overridesUsed`.
2022-08-04 09:45:29 +02:00
Erik Arvstedt
c9f446ede1
flakeref: fix comment
2022-08-04 09:45:28 +02:00
Eelco Dolstra
075bf6e556
Merge pull request #6861 from edolstra/fix-count-calls
...
Fix NIX_COUNT_CALLS=1
2022-08-03 18:26:01 +02:00
Eelco Dolstra
ccbd906c86
Fix NIX_COUNT_CALLS=1
...
Also, make the JSON writer support std::string_view.
Fixes #6857 .
2022-08-03 17:46:51 +02:00
Théophane Hufschmitt
7d1ccd9105
Merge pull request #6846 from fricklerhandwerk/values
...
manual: use subheadings for primitive types
2022-08-03 14:50:41 +02:00
Théophane Hufschmitt
c55bea4204
Fix the html id of the list headers
2022-08-03 14:16:00 +02:00
Félix Baylac-Jacqué
b47b6a418d
tests/check.sh: add nix3-build check test
2022-08-03 12:17:13 +02:00
Valentin Gagarin
ceed4d4142
encode primitive as list with anchors
...
to make it consistent with builtins and configuration options
2022-08-03 11:25:41 +02:00
Théophane Hufschmitt
d1cda07ce4
Don't use -load_all on darwin
...
That flag breaks `-lc++fs` (introducing a duplicate symbol for some
reason). Besides, it was apparently needed for bzip2, but we're not using bzip2
anymore.
2022-08-03 10:27:25 +02:00
Théophane Hufschmitt
1ba5b3e001
Make moveFile
more atomic
...
Rather than directly copying the source to its dest, copy it first to a
temporary location, and eventually move that temporary.
That way, the move is at least atomic from the point-of-view of the destination
2022-08-03 10:27:25 +02:00
Théophane Hufschmitt
90f9680733
Only use renameFile
where needed
...
In most places the fallback to copying isn’t needed and can actually be
bad, so we’d rather not transparently fallback
2022-08-03 10:27:25 +02:00
Théophane Hufschmitt
d71d9e9fbf
moveFile -> renameFile
...
`move` tends to have this `mv` connotation of “I will copy it for you if
needs be”
2022-08-03 10:27:25 +02:00
Théophane Hufschmitt
a4f0fd633c
Link against c++fs on darwin
...
Required by the old clang version
2022-08-03 10:27:25 +02:00
Théophane Hufschmitt
c5db1821a9
Re-implement the recursive directory copy
...
The recursive copy from the stl doesn’t exactly do what we need because
1. It doesn’t delete things as we go
2. It doesn’t keep the mtime, which change the nars
So re-implement it ourselves. A bit dull, but that way we have what we want
2022-08-03 10:27:25 +02:00
Théophane Hufschmitt
6f89fb6008
rename: Fallback to a copy if the filesystems mismatch
...
In `nix::rename`, if the call to `rename` fails with `EXDEV` (failure
because the source and the destination are in a different filesystems)
switch to copying and removing the source.
To avoid having to re-implement the copy manually, I switched the
function to use the c++17 `filesystem` library (which has a `copy`
function that should do what we want).
Fix #6262
2022-08-03 10:27:25 +02:00
Théophane Hufschmitt
c2de0a232c
Create a wrapper around stdlib’s rename
...
Directly takes some c++ strings, and gently throws an exception on error
(rather than having to inline this logic everywhere)
2022-08-03 10:27:25 +02:00
Théophane Hufschmitt
8119390abc
Move some fs-related functions to their own file
...
Unclutter `util.cc` a bit
2022-08-03 10:27:25 +02:00
Théophane Hufschmitt
780a479386
Merge pull request #6851 from K900/patch-1
...
doc/distributed-builds: don't use deprecated alias
2022-08-02 07:17:09 +02:00
Ilya K
f675ba5331
doc/distributed-builds: don't use deprecated alias
...
`nix ping-store` -> `nix store ping`.
2022-08-01 13:50:35 +03:00