Skip to content
This repository has been archived by the owner on Feb 27, 2024. It is now read-only.

Commit

Permalink
add section on writing Nix expressions
Browse files Browse the repository at this point in the history
that removes pressure to properly introduce the Nix language while
teaching the concept of declarative environments, and hopefully better
separates concerns.
  • Loading branch information
fricklerhandwerk committed May 25, 2022
1 parent 1f55eb6 commit 467cc49
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 4 deletions.
12 changes: 10 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ flowchart
subgraph book[The Nix Book]
direction TB
build --> imperative-pkgs & declarative-pkgs
declarative-pkgs --> declarative-config & dev & nixpkgs-learn
declarative-pkgs --> writing --> declarative-config & dev & nixpkgs-learn
subgraph build[run software]
direction LR
find-pkg[find packages]
Expand All @@ -70,7 +70,7 @@ flowchart
pin-deps[pin dependencies]
gc[garbage collection]
end
subgraph nixpkgs-learn[Nix package collection]
subgraph nixpkgs-learn[package collection]
direction LR
modify[modify existing package]
newpkg[create new package]
Expand All @@ -82,6 +82,14 @@ flowchart
os[operating system distribution]
services[service management]
end
subgraph writing[configuration language]
syntax
functions
attrsets[attribute sets]
debugging
library
tools[tool support]
end
subgraph dev[software development]
direction LR
lang-ecosystems[language ecosystems]
Expand Down
13 changes: 11 additions & 2 deletions contents/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,17 @@ This section shows how to have all of that by declaring a Nix expression in a fi
- compose packages
- adapt packages to your needs

This chapter should have at least a reference to or a full-blown copy of a good introduction to the Nix langauge as a prerequisite for working through examples.
Another option would be to develop an approach to the language by motivating language features through the examples themselves, but that would probably be a lot more work.
### configuration language

- syntax
- functions
- attribute sets
- debugging
- library
- tool support
- syntax highlighting
- linters
- formatters

### maintain package collection

Expand Down

0 comments on commit 467cc49

Please sign in to comment.