Hans Christian v. Stockhausen
e583297654
Fix minor error with import-builtin example ( #421 )
2022-12-16 18:45:35 +01:00
Henrik
fa6aebeea6
Correction in calling functions section ( #402 )
...
* correction in calling functions section
List elements separated by white space
examples were not generating correctly.
2022-11-26 01:24:13 +01:00
Jörg Thalheim
858bf0eae3
nix-language: attempt to simplify concept overview ( #397 )
...
In the current text its not even for me clear what it is referring to. This rewrite tries to give more examples for each concept of the language.
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-11-24 10:05:32 +01:00
Valentin Gagarin
6ae488e715
Merge pull request #388 from fricklerhandwerk/nix-language-introduction
...
rework parentheses example
2022-11-18 17:16:39 +01:00
Valentin Gagarin
ec14804aee
Merge pull request #387 from fricklerhandwerk/nix-language-examples
...
refine worked examples
2022-11-18 17:15:50 +01:00
Valentin Gagarin
dd8e3f6aa3
Merge pull request #386 from fricklerhandwerk/nix-language-tutorial
...
Nix language tutorial: add explanation on how `pkgs.lib` is obtained
2022-11-18 17:15:15 +01:00
Valentin Gagarin
8efe974f67
Merge pull request #392 from fricklerhandwerk/nix-language-derivation
2022-11-12 12:09:49 +01:00
Valentin Gagarin
a2f10f337f
fix wording on derivations
...
most importantly, derivations are not a special data type, but only
a certain kind of attribute set with two magic attributes.
we don't go into the details of the magic here, because it's really hard
to explain concisely. it would only distract from the surface feature
we care about here: composition through store paths.
2022-11-11 10:40:33 +01:00
Valentin Gagarin
ad19f50231
fix typos, grammar, indentation
2022-11-09 11:14:04 +01:00
Valentin Gagarin
ecf756298f
Update source/tutorials/nix-language.md
2022-11-08 20:40:39 +01:00
Yuki Langley
ac06c07360
Make code blocks consistent
...
Illustration of shell sessions or terminals should use shell-session.
Entire expressions should be encapsulated in code blocks, not inline code.
2022-11-08 17:37:41 +01:00
Valentin Gagarin
ade558c532
rework parentheses example
...
it was reported that the list example was confusing and lacked
explanation.
moved the example to function application, and reduced the syntax notes
to "notes on whitespace". moved the emphasis on the goals of this
tutorial to its proper place in the introduction.
it's good to leave the whitespace notes in the introductory part,
because they are unspecific and clearly belong to the "don't worry, it
may look weird, but that doesn't matter" part.
2022-11-08 14:28:01 +01:00
Valentin Gagarin
9b63c68d5c
refine worked examples
...
it was reported that the NixOS configuration is confusing, because
information is lacking to understand what it does.
added another note reminding of this tutorial's objective.
added section headings to give hints where to look next.
2022-11-08 13:35:51 +01:00
Valentin Gagarin
3b775207a5
clarify how library functions are implemented
2022-11-08 13:16:53 +01:00
Valentin Gagarin
4a18a5ffdc
add explanation on how pkgs.lib
is obtained
2022-11-08 12:38:20 +01:00
Johan Herland
7017fdbb00
Warn about combining paths and antiquotation too early in the tutorial
...
This is the point in the tutorial where I started playing around with
paths and antiquotation in a `nix repl` session and got seriously
confused for a few minutes...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-10-19 12:01:09 +02:00
Johan Herland
17b1bd8c2e
Add a sentence on what happens to antiquoted dirs (vs. files)
2022-10-19 12:00:42 +02:00
Johan Herland
eb0615c397
Clarify explanation under the NixOS config example
...
Split one long point into two to make things clearer.
Also explain what happens to the `./hardware-configuration.nix` when evaluated.
2022-10-19 12:00:42 +02:00
Johan Herland
07098339b2
Minor clarifying reword
...
Without this, it almost sounds like you can bind a function to any other value.
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-10-19 12:00:42 +02:00
Johan Herland
4b9563eb5d
Fix typo
2022-10-17 13:33:14 +02:00
Yann Hamdaoui
7bd6c145bc
Fix typo in Nix language tutorial
...
Fix the evaluation result of an example which missed enclosing brackets.
2022-10-04 17:04:51 +02:00
Valentin Gagarin
a68cf03133
rework section on purity, move antiquotation up
2022-10-04 08:34:34 +02:00
Valentin Gagarin
0bfd4b1bb2
add introductory notes on syntax
2022-10-04 08:34:34 +02:00
Valentin Gagarin
abb1808c31
guide -> tutorial
2022-10-04 08:34:34 +02:00
Valentin Gagarin
df7024c253
a Linux distribution
2022-10-04 08:34:34 +02:00
Valentin Gagarin
39cfb88480
show inherit inside let
2022-10-04 08:34:34 +02:00
Valentin Gagarin
e711230b39
attribute sets are actually ordered
2022-10-04 08:34:34 +02:00
Valentin Gagarin
b8e80af94a
a derivation
2022-10-04 08:34:33 +02:00
Valentin Gagarin
014e0e507b
remove too detailed details
2022-10-04 08:34:33 +02:00
Valentin Gagarin
a2fe15959e
rework import
and side effects
...
based on detailed review by @infinisil
2022-10-04 08:34:33 +02:00
Valentin Gagarin
cf9c8c1919
improve wording on attribute set arguments
2022-10-04 08:34:33 +02:00
Valentin Gagarin
46f1c25277
more clarifications on curried functions
2022-10-04 08:34:33 +02:00
Valentin Gagarin
961bb2766a
be more precise what we cover here
...
most importantly, the "elements of programming" approach is understood
in a broader sence. we don't really deal with operators and just subsume
them under functions.
2022-10-04 08:34:33 +02:00
Valentin Gagarin
e64b2059e0
flarify role of NixOS
2022-10-04 08:34:33 +02:00
Valentin Gagarin
23c8c80481
note the overview is an overview
2022-10-04 08:34:33 +02:00
Valentin Gagarin
e5b77c58fc
make Derivations a topic on its own
...
this pays tribute to its central role in Nix and elegantly removes it
from the part on side effects, whicht it doesn't belong to.
2022-10-04 08:34:33 +02:00
Valentin Gagarin
b3407ec6b6
move indented strings to the end
...
they are the least significant combination of frequency of occurrence
and peculiarity, even if they're really handy.
but remember, the goal is to help people *understand* Nix language code,
not write it effectively.
2022-10-04 08:34:33 +02:00
Valentin Gagarin
90cbe92389
clarify purpose of inherit
2022-10-04 08:34:33 +02:00
Valentin Gagarin
8047c8f16e
restructure functions section
2022-10-04 08:34:33 +02:00
Valentin Gagarin
3e89ed3038
search paths are not reproducible at all
2022-10-04 08:34:33 +02:00
Valentin Gagarin
f478379550
add missing semicolons
2022-10-04 08:34:33 +02:00
Valentin Gagarin
1d86654878
elaborate on current directory
2022-10-04 08:34:33 +02:00
Valentin Gagarin
69b0858367
add emphasis
2022-10-04 08:34:33 +02:00
Valentin Gagarin
1dd5699888
less strict wording
2022-10-04 08:34:33 +02:00
Valentin Gagarin
d2cad3d48e
clarify nested functions with parentheses
2022-10-04 08:34:33 +02:00
Valentin Gagarin
de6128a8f8
chaining arguments -> multiple arguments
...
"chaining arguments" is not well-defined, as [noted] by @matta
[notes]: https://github.com/NixOS/nix.dev/pull/267/files#r968597277
2022-10-04 08:34:33 +02:00
Valentin Gagarin
f66543da01
Nix language -> the Nix language
...
as [pointed out] by @matta
[pointed out]: https://github.com/NixOS/nix.dev/pull/267/files#r968574463
2022-10-04 08:34:33 +02:00
Valentin Gagarin
ff2c457f32
reword; there are also invalid expressions
2022-10-04 08:34:33 +02:00
Valentin Gagarin
e9af30a6ff
shorten time estimate
...
move the section further up, as recommended by @infinisil
2022-10-04 08:34:33 +02:00
Valentin Gagarin
d910383580
capitalize list items
...
according to English style guides such as [1]
[1]: https://www.instructionalsolutions.com/blog/bulleted-list-punctuation
2022-10-04 08:34:33 +02:00