1
0
Fork 0
mirror of https://github.com/NixOS/nix.dev.git synced 2024-10-18 14:32:43 -04:00
Commit graph

176 commits

Author SHA1 Message Date
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