Valentin Gagarin
e5260f3d6d
libraries are not just functions
...
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2022-10-04 08:34:33 +02:00
Valentin Gagarin
55eb91bd9e
stdenv -> stdenv.mkDerivation
...
@infinisil: `stdenv` itself is not a builder
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2022-10-04 08:34:33 +02:00
Valentin Gagarin
5938ad044b
remove "and" from example list
...
@infinisil: The "and" would indicate the end of the list
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2022-10-04 08:34:33 +02:00
Valentin Gagarin
506b35311e
libraries have more things than functions
...
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2022-10-04 08:34:33 +02:00
Valentin Gagarin
30d76c858b
use less ambiguous grammar for what NixOS is
...
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2022-10-04 08:34:33 +02:00
Valentin Gagarin
abf0f5e6d3
use consistent grammatical structure in requirements
...
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2022-10-04 08:34:33 +02:00
Valentin Gagarin
95ce02b793
update Nix manual URLs
2022-10-04 08:34:33 +02:00
Valentin Gagarin
8ac15f8a08
Update source/tutorials/nix-language.md
...
Co-authored-by: Dan Baker <daniel.n.baker@gmail.com>
2022-10-04 08:34:33 +02:00
Valentin Gagarin
78a43fb28f
use consistent terminology
...
sort out derivation, Derivation, `derivation` and store derivation
2022-10-04 08:34:33 +02:00
Valentin Gagarin
adaba6637e
fix wording
2022-10-04 08:34:33 +02:00
Valentin Gagarin
e0ee7d5597
link to installation instructions
2022-10-04 08:34:33 +02:00
Valentin Gagarin
17bf23546a
rework section on side effects
2022-10-04 08:34:33 +02:00
Valentin Gagarin
397a39f9de
mention operators
...
at some point we have to introduce them, even if they are not really
important here.
2022-10-04 08:34:33 +02:00
Valentin Gagarin
8f1dd17106
add proper examples to file system paths
2022-10-04 08:34:33 +02:00
Valentin Gagarin
c36c6ed732
rewordings and links
2022-10-04 08:34:33 +02:00
Valentin Gagarin
8a4d87474b
add detailed explanations to some examples
2022-10-04 08:34:33 +02:00
Valentin Gagarin
cd7e00ba8d
reword time estimate
2022-10-04 08:34:33 +02:00
Valentin Gagarin
bb9e7d7ab3
Nix package manager -> Nix
...
based on https://github.com/NixOS/nix.dev/issues/275#issuecomment-1227572104
2022-10-04 08:34:33 +02:00
Valentin Gagarin
7e18f44302
add introduction and cross-linking
...
this should both help with initial overview and navigation
2022-10-04 08:34:33 +02:00
Valentin Gagarin
5851659340
add detailed explanation to let expression
2022-10-04 08:34:33 +02:00
Valentin Gagarin
4253a0bc7a
nixpkgs/lib
-> pkgs.lib
...
this is probably how most people would encounter it, but since there are
so many equivalent representations, maybe it does not matter outside
a dedicated guide to Nixpkgs
2022-10-04 08:34:33 +02:00
Valentin Gagarin
922e018fd6
nixpkgs
-> Nixpkgs
...
based on https://github.com/NixOS/nix.dev/issues/275#issuecomment-1227572104
2022-10-04 08:34:33 +02:00
Valentin Gagarin
b084005748
fix copypaste error
2022-10-04 08:34:33 +02:00
Valentin Gagarin
aa0bf42491
fix typo in link
2022-10-04 08:34:33 +02:00
Valentin Gagarin
55c4d4feca
attempt at detailed explanation
2022-10-04 08:34:33 +02:00
Valentin Gagarin
dfc6d1c31f
standard -> function
2022-10-04 08:34:33 +02:00
Valentin Gagarin
ab8784c2ad
add links to next steps
2022-10-04 08:34:33 +02:00
Valentin Gagarin
aebc9e91b1
clarifications
2022-10-04 08:34:33 +02:00
Valentin Gagarin
d770b13aef
add links, fixups
2022-10-04 08:34:33 +02:00
Valentin Gagarin
8ee55cbac1
expand on side effects, add next steps
2022-10-04 08:34:33 +02:00
Valentin Gagarin
c9f5ac3f1f
show store paths and fetchers
2022-10-04 08:34:33 +02:00
Valentin Gagarin
3a86358dbf
add TODO for operators
2022-10-04 08:34:33 +02:00
Valentin Gagarin
92f96cab30
more explicit explanation of partial evaluation
2022-10-04 08:34:33 +02:00
Valentin Gagarin
95f98f6a60
more explicit syntax notes
2022-10-04 08:34:33 +02:00
Valentin Gagarin
f791bd4875
nixpkgs is a token
2022-10-04 08:34:33 +02:00
Valentin Gagarin
cf0292e470
restructure introduction, show elements of programming
...
this does not take away information, but presents it in a different
order. put emphasis on that the language does not do all that many
things.
2022-10-04 08:34:33 +02:00
Valentin Gagarin
d33eedadd3
add imports to side effects
2022-10-04 08:34:33 +02:00
Valentin Gagarin
20789513e8
notes on argument structure
2022-10-04 08:34:33 +02:00
Valentin Gagarin
e7807baa57
clarify explanation of nested functions
2022-10-04 08:34:33 +02:00
Valentin Gagarin
9a994092c2
function calls aka function application
2022-10-04 08:34:33 +02:00
Valentin Gagarin
6390aae686
remove superfluous empty line
2022-10-04 08:34:32 +02:00
Valentin Gagarin
bd4118ebb2
move search paths to values section
2022-10-04 08:34:32 +02:00
Valentin Gagarin
9b158e60d1
clarify inheriting from attribute
2022-10-04 08:34:32 +02:00
Valentin Gagarin
6c903a6ccf
clarify requirements of being able to read code
2022-10-04 08:34:32 +02:00
Valentin Gagarin
b0023d2ade
add subsections to modes of running examples
...
reorder to have the REPL first (it's fewer steps)
2022-10-04 08:34:32 +02:00
Valentin Gagarin
155ad688bc
explain how to read examples
2022-10-04 08:34:32 +02:00
Valentin Gagarin
6a4e69eef1
remove paths and strings from top-level outline
2022-10-04 08:34:32 +02:00
Valentin Gagarin
2406c22293
emphasize what this guide is about
2022-10-04 08:34:32 +02:00
Valentin Gagarin
61524d0d34
expressions can be nested
2022-10-04 08:34:32 +02:00
Valentin Gagarin
40ca6fc799
note on difference between antiquotation and shell vars
2022-10-04 08:34:32 +02:00
Valentin Gagarin
b3a42cffdc
expand on strings and antiquotation
...
move section into "names and values": it should be short enough not to
exhaust readers before we get to functions, and would not make much
sense as an afterthought to functions.
2022-10-04 08:34:32 +02:00
Valentin Gagarin
ca37fe15b0
regularize function examples
2022-10-04 08:34:32 +02:00
Valentin Gagarin
43f2895b2c
add counter-example to attribute set argument
2022-10-04 08:34:32 +02:00
Valentin Gagarin
23b52d351e
add subsection heading
2022-10-04 08:34:32 +02:00
Valentin Gagarin
560268d865
add missing colon
2022-10-04 08:34:32 +02:00
Valentin Gagarin
9015962289
make example explicit
2022-10-04 08:34:32 +02:00
Valentin Gagarin
c6a1c90bbf
tighter inherit notation
2022-10-04 08:34:32 +02:00
Valentin Gagarin
db56937ab3
add developer tools to skills outline
2022-10-04 08:34:31 +02:00
Valentin Gagarin
075df5b67b
give language properties more structure
2022-10-04 08:34:31 +02:00
Valentin Gagarin
41250bb231
reorder first sentences
2022-10-04 08:34:31 +02:00
Valentin Gagarin
92e6e2341e
add dynamic typing
2022-10-04 08:34:31 +02:00
Valentin Gagarin
80b0dcb8ae
expand on single function argument
2022-10-04 08:34:31 +02:00
Valentin Gagarin
fa674e3e11
restructure introduction
2022-10-04 08:34:31 +02:00
Valentin Gagarin
e5d41c8425
remove word repetition
2022-10-04 08:34:31 +02:00
Valentin Gagarin
3f3a2a432f
add recommendaton to search paths
2022-10-04 08:34:31 +02:00
Valentin Gagarin
cda602d3fb
restructure examples
2022-10-04 08:34:31 +02:00
Valentin Gagarin
4d65ecf82c
WIP: side effects
2022-10-04 08:34:31 +02:00
Valentin Gagarin
388e658437
break up long sentence
2022-10-04 08:34:31 +02:00
Valentin Gagarin
339320ffa1
restructure headings
...
this will have a nicer display in the table of contents
2022-10-04 08:34:31 +02:00
Valentin Gagarin
0c7c1eb594
everyone calls them side effects
2022-10-04 08:34:31 +02:00
Valentin Gagarin
76561aa33a
add structure to config example
2022-10-04 08:34:31 +02:00
Valentin Gagarin
f5439cdbc4
expand shell example
2022-10-04 08:34:31 +02:00
Valentin Gagarin
67b5187a30
clarify outline
2022-10-04 08:34:31 +02:00
Valentin Gagarin
ca66ac9a6a
guide -> direct
2022-10-04 08:34:31 +02:00
Valentin Gagarin
573586b684
prerequisites: programming languages -> software development
2022-10-04 08:34:31 +02:00
Valentin Gagarin
7f6404c1ae
restructure intro to functions
2022-10-04 08:34:31 +02:00
Valentin Gagarin
ceff1d7713
json example: set -> object
2022-10-04 08:34:31 +02:00
Valentin Gagarin
678d3ce737
restrucutre note on . and .. paths
2022-10-04 08:34:31 +02:00
Valentin Gagarin
c510aeb295
show example passing an attrset
2022-10-04 08:34:31 +02:00
Valentin Gagarin
f3e192e3b8
add note on ./. syntax
2022-10-04 08:34:31 +02:00
Valentin Gagarin
5a638c5ed8
fix grammar and typo
2022-10-04 08:34:31 +02:00
Valentin Gagarin
f1c90cdda5
function call: argument -> operand
2022-10-04 08:34:31 +02:00
Valentin Gagarin
f6ad05bf24
comment out missing links
2022-10-04 08:34:31 +02:00
Valentin Gagarin
4273dc987f
tutorial -> guide
2022-10-04 08:34:31 +02:00
Valentin Gagarin
c0ca352c83
remove trivial builders from libraries
...
they really belong to generic build mechanisms, and we will not cover
them here.
2022-10-04 08:34:31 +02:00
Valentin Gagarin
d16b6fcf72
add section on libraries
2022-10-04 08:34:31 +02:00
Valentin Gagarin
c7729502bc
remove description of language properties
...
this should be in the Nix manual
2022-10-04 08:34:31 +02:00
Valentin Gagarin
c0b0c2ba32
add link to Nix Pills
2022-10-04 08:34:31 +02:00
Valentin Gagarin
354f8cba72
add aka @ pattern
2022-10-04 08:34:31 +02:00
Valentin Gagarin
cb14464be1
reword intro to inherit
2022-10-04 08:34:31 +02:00
Valentin Gagarin
ef5f3823cc
uniform format for code samples
2022-10-04 08:34:31 +02:00
Valentin Gagarin
e4bfdf0707
add overview on what using Nix language entails
...
inspired by https://news.ycombinator.com/item?id=32364899
2022-10-04 08:34:30 +02:00
Valentin Gagarin
5bc7fa3ebb
expand NixOS config example
2022-10-04 08:34:30 +02:00
Valentin Gagarin
0e529426f7
add todo to clarify string interpolation and bash variables
2022-10-04 08:34:30 +02:00
Valentin Gagarin
efaf7a82b7
add aka antiquotation
2022-10-04 08:34:30 +02:00
Valentin Gagarin
792ffe8f16
add draft on side effects
2022-10-04 08:34:30 +02:00
Valentin Gagarin
807665e3ae
fix rendering errors
2022-10-04 08:34:30 +02:00
Valentin Gagarin
a26c1825ea
clarify language properties
2022-10-04 08:34:30 +02:00
Valentin Gagarin
1862f364e6
add summary of learnings
2022-10-04 08:34:30 +02:00
Valentin Gagarin
8f93a41e0a
add notation for assigning nested attributes
2022-10-04 08:34:30 +02:00