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

488 commits

Author SHA1 Message Date
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 ee6f1e1c33 generate anchors down to heading level 3 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
Valentin Gagarin a2c88a1d20 expand on accessing values 2022-10-04 08:34:30 +02:00
Valentin Gagarin 6621db635c use console highlighting where appropriate 2022-10-04 08:34:30 +02:00
Valentin Gagarin b5db48cd6f uniform example format 2022-10-04 08:34:30 +02:00
Valentin Gagarin 13ad04881c simpler let ... in alias 2022-10-04 08:34:30 +02:00
Valentin Gagarin 8dee6f4894 attrsets are unordered 2022-10-04 08:34:30 +02:00
Valentin Gagarin e48e524ff6 fixes and TODOs 2022-10-04 08:34:30 +02:00
Valentin Gagarin fc12f3606c reorder sections 2022-10-04 08:34:30 +02:00
Valentin Gagarin 6b807a91c5 add evaluation result to example 2022-10-04 08:34:30 +02:00
Valentin Gagarin 87df93e7f8 sharpen title to narrow scope 2022-10-04 08:34:30 +02:00
Valentin Gagarin 558ec3b67e clarify what expressions and values are 2022-10-04 08:34:30 +02:00
Valentin Gagarin 8e332a4a4e clarify scope 2022-10-04 08:34:30 +02:00
Valentin Gagarin 637cef7e10 add learning goals and prerequisites 2022-10-04 08:34:30 +02:00
Valentin Gagarin 397ed9f7d9 add instructions to run examples 2022-10-04 08:34:30 +02:00
Valentin Gagarin 95f364d714 reorder language properties, add dynamic typing 2022-10-04 08:34:30 +02:00
Valentin Gagarin 670c8e2d80 add alternative to @ syntax 2022-10-04 08:34:30 +02:00
Valentin Gagarin 50a21f1fbc do not claim rec is not suitable for static analysis 2022-10-04 08:34:30 +02:00
Valentin Gagarin 00f1366b7b fix typo 2022-10-04 08:34:30 +02:00
Valentin Gagarin 884b7858be draft: nix language tutorial
based on @tazjin's tazjin/nix-1p [1] and @zimbatm's NixCon 2019 talk "Reading The Nix Language" [2]

[1]: https://github.com/tazjin/nix-1p
[2]: https://youtu.be/hbJkMl631FE?t=1572
2022-10-04 08:34:30 +02:00
Valentin Gagarin f12180065f
Wil T -> Wil Taylor 2022-10-03 14:23:24 +02:00
Guillaume Desforges 2fd46b430f
Update source/recommended-reading.md
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-09-30 11:20:37 +02:00
Valentin Gagarin cd0759d2af
Merge pull request #320 from sbruder/highlight-shell-io
add highlighting for shell input/output
2022-09-30 01:50:22 +02:00
Domen Kožar 22ae50fb76
Merge pull request #326 from worktheclock/patch-9
Building and running Docker images RITZA edit
2022-09-26 13:38:51 +02:00
Domen Kožar 9dac52e1f1
Merge pull request #327 from worktheclock/patch-10
Cross compilation RITZA edit
2022-09-26 13:38:25 +02:00
worktheclock 0bdb1b2b50
Install Nix RITZA edit 2022-09-26 13:19:18 +02:00
worktheclock fe84721779
Cross compilation RITZA edit 2022-09-26 13:13:01 +02:00
worktheclock 4c4ca4ceb5
Building and running Docker images RITZA edit 2022-09-26 11:06:56 +02:00
Guillaume Desforges 3415f9a236
Add section "Videos" to recommended-reading.md
This list was provided to me by @fricklerhandwerk and sounds like a reasonable collection.
2022-09-12 16:22:48 +02:00
Simon Bruder dfcbbc0858
add highlighting for shell input/output 2022-09-08 11:09:27 +02:00
Robin Stumm 945e20d0c7 fix git version in example
broken in 5e0ba5f66b
2022-09-02 10:51:59 +02:00
Domen Kožar 5ccb0554ba
Merge pull request #315 from fricklerhandwerk/install-nix
update installation instructions
2022-09-01 20:22:50 +01:00
Valentin Gagarin c32dd69a0a
Merge pull request #301 from fricklerhandwerk/recommended-videos
update list of recommended Nix language tutorials
2022-09-01 19:25:46 +02:00
Valentin Gagarin a91c3e3c8c update installation instructions
Darwin no longer needs special incantations
2022-09-01 19:09:22 +02:00
Valentin Gagarin e475697073 fix typo 2022-08-28 14:28:10 +02:00
Domen Kožar 103a5f2246
Merge pull request #306 from idrisr/patch-1
Update glossary.md
2022-08-20 14:04:56 +02:00
Valentin Gagarin c856a39017 fix rendering issue with nested markdown 2022-08-18 19:16:22 +02:00
Idris Raja 02f4440c83
Update glossary.md
add definition for attribute name
2022-08-16 13:55:11 -05:00
Valentin Gagarin ecaded08f9 update site description
- it's multiple guides
- simpler sentence structure
- now missing "developers", but no obvious way to include it in
a grammatically correct way
2022-08-11 04:57:21 +02:00
Valentin Gagarin e9eb67bf63 update list of recommended Nix language tutorials
removed:
- Learn X in Y minutes is barely readable and not a tutorial but an
overview
- Nix by example is from 2014, has chaotic structure, and is oriented towards functional programmers
2022-08-10 01:59:47 +02:00
Domen Kožar 6920ac8dde
Merge pull request #293 from fricklerhandwerk/search-path
rework notes on search paths
2022-08-05 16:18:19 +02:00
Domen Kožar 30c5de2437
Merge pull request #294 from fricklerhandwerk/master
update sponsor sidebar
2022-08-05 16:16:38 +02:00
Andrei Boar 9131c1b530 add bob.build to Software Nix has influenced 2022-08-04 16:30:50 +03:00
Valentin Gagarin 5480aa9fd7 update sponsor sidebar 2022-08-02 12:56:48 +02:00
Valentin Gagarin 42e5ab74a5 rework notes on search paths
remove duplication so we can link to the respective section from the
language tutorial
2022-08-01 11:54:55 +02:00
worktheclock 99abfff9df
Build a bootable ISO image RITZA language edit
Language edit done by RITZA.
2022-07-21 12:00:26 +02:00
Domen Kožar b7fa967792
Merge pull request #258 from worktheclock/patch-7
Ad hoc developer environments RITZA language edit
2022-07-12 11:52:54 -05:00
Domen Kožar 2bad219af5 fix a link 2022-06-27 10:39:57 -05:00
Domen Kožar e59cbb3638 fix build 2022-06-27 10:35:35 -05:00
worktheclock fef2f37846
Ad hoc developer environments RITZA language edit 2022-06-20 13:07:31 +02:00
Max Kalashnikoff 808de6c0fb
Fixing ./result/bin/myapp.py -> ./result/bin/myapp
After the `nix-build` command the result app bin is `myapp` and not `myapp.py`.
2022-05-02 14:18:21 +05:30
worktheclock 5a62ec9c1b
NixOS on Raspberry Pi RITZA language edit 2022-04-11 14:52:24 +02:00
Nejc Zupan 02ced7bbff Proof-of-Concept for testing code samples
There are a number of code samples throughout nix.dev. How do we know
they still work? We don't!

This commit introduces a way for us to extract these code samples into files
and then run tests against them in CI. This will hopefully help us catch
regressions in future updates to nix, NixOS and/or this guide.

Additionally, I included a darwin specific nix-shell configuration that I
use personally on my M1 Mac to work on this repo. Might be useful for someone.
2022-04-07 10:16:17 +01:00
Domen Kožar 68416183e3
Merge pull request #241 from Michael-J-Ward/patch-2
Add note on multi-line shebang
2022-03-30 10:10:18 +01:00
Michael-J-Ward da980645ab
Update source/tutorials/ad-hoc-developer-environments.md
per @domenkozar's suggestion

Co-authored-by: Domen Kožar <domen@enlambda.com>
2022-03-29 09:49:55 -04:00
Domen Kožar 69070ee4a8
Merge branch 'master' into patch-4 2022-03-29 10:28:38 +01:00
Domen Kožar 5e0ba5f66b bump pins in ad-hoc tutorial 2022-03-29 10:22:29 +01:00
Britton Robitzsch 5221472a57
Update formatting issues for niv show and niv modify
Two commands were formatted as quotes instead of code. This caused an issue where --branch was formatted with '–' instead of '--'. This caused an error when copying and pasting the command into a terminal:
```
[nix-shell:~/niv]$ niv modify nixpkgs –branch nixos-21.05
Invalid argument `–branch'

Usage: niv [-s|--sources-file FILE] [--no-colors] COMMAND
```
2022-03-21 16:39:57 -06:00
Michael-J-Ward b0b9be629c
Add note on multi-line shebang
The multi
2022-03-16 00:42:05 -04:00
worktheclock 67e9357985
Pinning Nixpkgs RITZA proofread 2022-03-14 13:26:25 +02:00
Jan Tojnar b141d8b9a6
faq: Update deprecated Nix settings on NixOS 2022-02-07 16:43:35 +01:00
worktheclock e659bece62
Set up dev env RITZA language edit 2022-01-27 08:43:01 +02:00
Valentin Gagarin dbd0b8cfc4 more detail on specifying host platform
- explain mechanism of combining build and host platform in `nixpkgs` configuration
- add examples how to specify host platform in different ways
2021-12-15 12:03:44 +01:00
Valentin Gagarin 671e1d464d clarify platform attr vs. config string 2021-12-15 12:03:44 +01:00
Valentin Gagarin 12004ac36f add note on historicity platform encoding
there have been discussions around migrating the platform description to a more structured representation like an attribute set (cannot find relevant issue for reference right now), and it is worth noting that this string encoding is fairly arbitrary.
2021-12-15 12:03:44 +01:00
Valentin Gagarin c3fe9d754c reword distinction of target and host
use shorter sentences, emphasize keywords
2021-12-15 12:03:44 +01:00