Difference between revisions of "Resources"

From NixOS Wiki
Jump to: navigation, search
m
 
(35 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 +
{{Note|Official Nix documentation and learning materials are maintained at [https://nix.dev/ nix.dev].}}
  
 
This article is an overview of resources available both within the NixOS community Wiki and elsewhere. For communication channels, support and information of contributing, see the community menu.
 
This article is an overview of resources available both within the NixOS community Wiki and elsewhere. For communication channels, support and information of contributing, see the community menu.
Line 4: Line 5:
 
=== Wiki ===
 
=== Wiki ===
  
The NixOS Wiki's core articles are divided into five article categories: discussions, for encyclopedic description, guides, for showing the user how to do stuff, tutorials intended to teach, cookbooks collecting a bag of tips and trips and reference material for the nitty gritty details. They are also divided by the six most prominent components of the [[Nix Ecosystem]]: NixOS, Nix, the Nix Language, Nixpkgs, NixOps and Hydra. The core articles of the Wiki correspond to one component and one category:
+
The NixOS Wiki's core articles are divided into [[:Category:Resource|five categories]]. Each category link will list all pages in that category:
 +
# [[:Category:Pedias|Pedias]], for encyclopedic description
 +
# [[:Category:Guide|Guides]], for broad hands-on understanding and connections to other learning resources
 +
# [[:Category:Tutorial|Tutorials]], intended to teach a particular process or project
 +
# [[:Category:Cookbook|Cookbooks]], collections of tips and tricks
 +
# [[:Category:Reference|Reference]], full manuals and technical coverage
 +
<br>
 +
 
 +
Pages are also organized by the six most prominent components of the [[Nix Ecosystem]] &mdash; NixOS, [[Nix Package Manager | Nix: the package manager]], [[Nix Expression Language | Nix: the language (Nix Expressions)]], Nixpkgs, NixOps and Hydra.
  
 
{|  class="table"
 
{|  class="table"
Line 10: Line 19:
 
|-
 
|-
 
! Category
 
! Category
! NixOS
+
! [[:Category:NixOS|NixOS]]
! Nix
+
! [[:Category:Nix|Nix]]
! Nix&nbsp;Language
+
! [[:Category:Nix Language|Nix Expressions]]
! Nixpkgs
+
! [[:Category:Nixpkgs|Nixpkgs]]
! NixOps
+
! [[:Category:NixOps|NixOps]]
 
! Hydra
 
! Hydra
 
|-
 
|-
! [[:Category:Discussion|Discussion]]
+
! [[:Category:Pedias|Pedia]]
 
| [[NixOS]]
 
| [[NixOS]]
 
| [[Nix Package Manager | Nix]]
 
| [[Nix Package Manager | Nix]]
| [[Nix Expression Language | Nix Language]]
+
| [[Nix Expression Language]]
 
| [[Nixpkgs]]
 
| [[Nixpkgs]]
 
| [[NixOps]]
 
| [[NixOps]]
 
| [[Hydra]]
 
| [[Hydra]]
 +
|-
 +
! [[:Category:Cookbook|Cookbook]]
 +
| [[Cheatsheet|NixOS Cheatsheet]]
 +
| [[Nix Cookbook]]
 +
| [[Nix Language: Tips & Tricks]]
 +
| <!-- [[Nixpkgs Cookbook]] -->
 +
| <!-- [[NixOps Cookbook]] -->
 +
| <!-- [[Hydra Cookbook]] -->
 
|-
 
|-
 
! [[:Category:Guide|Guide]]
 
! [[:Category:Guide|Guide]]
| [[NixOS Guide]]
+
| <!-- [[NixOS Guide]] -->
| [[Nix Guide]]
+
| <!-- [[Nix Package Manager Guide]] -->
| [[Nix Language Guide]]
+
| [[Nix Language: Learning resources]]
| [[Nixpkgs Guide]]
+
| <!-- [[Nixpkgs Guide]] -->
| [[NixOps Guide]]
+
| <!-- [[NixOps Guide]] -->
| [[Hydra Guide]]
+
| <!-- [[Hydra Guide]] -->
 +
|}
 +
 
 +
{|  class="table"
 +
|+ NixOS Official Resources
 
|-
 
|-
! [[:Category:Tutorial|Tutorial]]
+
! Category
| [[NixOS Tutorial]]
+
! NixOS
| [[Nix Tutorial]]
+
! Nix
| [[Nix Language Tutorial]]
+
! Nix Expressions
| [[Nixpkgs Tutorial]]
+
! Nixpkgs
| [[NixOps Tutorial]]
+
! NixOps
| [[Hydra Tutorial]]
+
! Hydra
|-
 
! [[:Category:Cookbook|Cookbook]]
 
| [[NixOS Cookbook]]
 
| [[Nix Cookbook]]
 
| [[Nix Language Cookbook]]
 
| [[Nixpkgs Cookbook]]
 
| [[NixOps Cookbook]]
 
| [[Hydra Cookbook]]
 
 
|-
 
|-
 
! [[:Category:Reference|Reference]]
 
! [[:Category:Reference|Reference]]
| [[NixOS Reference]]
+
| [https://nixos.org/nixos/manual/ NixOS Manual]
| [[Nix Reference]]
+
| [https://nixos.org/nix/manual/ Nix Manual]
| [[Nix Language Reference]]
+
| [https://nixos.org/nix/manual/#chap-writing-nix-expressions Nix Manual:<br>Writing Nix Expressions]
| [[Nixpkgs Reference]]
+
| [https://nixos.org/manual/nixpkgs/stable/ Nixpkgs Manual]
| [[NixOps Reference]]
+
| [https://nixops.readthedocs.io/en/latest/release-notes/index.html Nixops Manual]
| [[Hydra Reference]]
+
| [https://nixos.org/hydra/manual/ Hydra Manual]
 
|}
 
|}
  
The goal is to eventually have strong articles for every entry of this table, but initial efforts will target the first row and first column.
+
{{Note| [[Home Manager]] is also a major community project to make user environment management in NixOS easier. It is intended to replace much of what you would do with ''nix-env'', to reduce hard-to-track [https://en.wikipedia.org/wiki/Imperative_programming imperative] actions.<br>[https://nix-community.github.io/home-manager/ Official Home Manager manual]}}
 +
Also, see [[Applications]] for an overview of tools in the extended ecosystem.
  
=== Documentation ===
+
=== More documentation ===
  
* [https://nixos.org/nixos/nix-pills/index.html Nix Pills] - series of blog post about Nix/Nixpkgs internals
+
* [https://github.com/nix-community/awesome-nix awesome-nix] - community-curated list of Nix learning resources and tools
* [https://nixos.org/nix/manual/ Official nix Manual]
 
* [https://nixos.org/nixos/manual/ Official NixOS Manual]
 
* [https://nixos.org/nixpkgs/manual/ Official Nixpkgs Manual]
 
  
 
=== News ===
 
=== News ===
  
 
* [http://planet.nixos.org/ planet.nixos.org] - Aggregator for blogs related to nix/nixOS
 
* [http://planet.nixos.org/ planet.nixos.org] - Aggregator for blogs related to nix/nixOS
* [http://weekly.nixos.org/ NixOS Weekly]
+
* [https://discourse.nixos.org/ NixOS Discourse]
* <del>[https://mailman.science.uu.nl/pipermail/nix-dev/ nix-dev mailing list]</del> - superseded by nix-devel
 
* [https://groups.google.com/forum/#!forum/nix-devel nix-devel mailing list]
 
 
 
  
 
=== Interactive websites ===
 
=== Interactive websites ===
Line 81: Line 89:
 
* [https://search.nix.gsc.io/ NixOS Code Search] - full-text search through NixOS related packages
 
* [https://search.nix.gsc.io/ NixOS Code Search] - full-text search through NixOS related packages
 
* [https://nixcloud.io/tour/?id=1 A tour of nix] - interactive Nix tutorial
 
* [https://nixcloud.io/tour/?id=1 A tour of nix] - interactive Nix tutorial
* [https://howoldis.herokuapp.com/ How old is ...] - when have the nixos-channels last updated
+
* [https://status.nixos.org/ Nix Channel Status] - when nixpkgs/nixos channels were updated last
 
* [https://hydra.nixos.org/ Hydra]
 
* [https://hydra.nixos.org/ Hydra]
 +
* [https://malob.github.io/nix-review-tools-reports/ Nix Review Tools Reports] - reports showing problematic dependencies for major Hydra jobsets
  
 
=== Tutorials ===
 
=== Tutorials ===
  
* [https://rgoswami.me/posts/ccon-tut-nix/ Tutorial Introduction to Nix] - an introduction focused on the use of shell environments, for Python and with links to R versions as well
+
* [[Wil T Nix Guides]] - A video series in 8 parts, covering the Nix ecosystem from foundations, providing orientation with all available resources, and showing hands on how to get NixOS installed and running (including managing all your configuration through git and using Flakes).
* [https://nixcloud.io/tour Interactive Tour of Nix] - an interactive tutorial of the Nix Expression Language by Joachim Schiele and Paul Seitz
+
* [https://www.youtube.com/playlist?list=PLuVXx3vBwgelE9hbg5lH4w-JFU7llOqtI Nix Friday] - a series of 24 video streams of 1-2 hours on learning Nix and meeting community members
 +
* [https://ianthehenry.com/posts/how-to-learn-nix/ How to learn Nix] - A set of over 40 posts from 2021, looking at &mdash; as the author describes &mdash; not just what Nix does, but what it '''''does'''''. It is their notes from reading the manual, doing experiments, and trying to deeply understand Nix.
 +
* [https://rgoswami.me/posts/ccon-tut-nix/ Tutorial Introduction to Nix] - An introduction focused on the use of shell environments, for Python and with links to R versions as well
 +
* [https://nixcloud.io/tour Interactive Tour of Nix] - An interactive tutorial of the Nix Expression Language by Joachim Schiele and Paul Seitz
 
* [https://github.com/nixcloud/nix-shell-workshop Nix shell workshop]
 
* [https://github.com/nixcloud/nix-shell-workshop Nix shell workshop]
 +
* [https://scrive.github.io/nix-workshop/ Scrive workshop ] - Nix language and packaging workshop
 +
* [[ZFS NAS]]
  
=== Cookbooks ===
+
=== Examples ===
 
+
* [[Configuration Collection]]
* [https://nix-cookbook.readthedocs.io Domen's Nix Cookbook] - A community initiative, by Domen Kožar
+
* [[Comparison of NixOS setups]]
  
 
=== Talks ===
 
=== Talks ===
 
+
* [https://www.youtube.com/playlist?list=PLt4-_lkyRrOMWyp5G-m_d1wtTcbBaOxZk Summer of Nix 2022 Talks]
 +
* [https://www.youtube.com/watch?v=7sQa04olUA0&list=PLgknCdxP89RcXpf7xLU7tuWXTOsL1rSHU NixCon 2020 Talks]
 +
* [https://www.youtube.com/watch?v=pfg9ykBo9oM&list=PLgknCdxP89Re9oFsLnAb5iLO0XG_rMuAo NixCon 2019 Talks]
 
* [https://www.youtube.com/playlist?list=PLgknCdxP89ReJKWX3sthcsbBYsoihzSQX NixCon 2018 Talks]
 
* [https://www.youtube.com/playlist?list=PLgknCdxP89ReJKWX3sthcsbBYsoihzSQX NixCon 2018 Talks]
 
* [https://www.youtube.com/watch?v=fdj9tzRaLn4&list=PLgknCdxP89ReQzhfKwMYjLdwWsc7us8ns&index=1 NixCon 2017 Talks]
 
* [https://www.youtube.com/watch?v=fdj9tzRaLn4&list=PLgknCdxP89ReQzhfKwMYjLdwWsc7us8ns&index=1 NixCon 2017 Talks]
Line 103: Line 119:
  
  
[[Category:Reference]]
+
[[Category:Guide]]

Latest revision as of 06:15, 24 January 2024

Note: Official Nix documentation and learning materials are maintained at nix.dev.

This article is an overview of resources available both within the NixOS community Wiki and elsewhere. For communication channels, support and information of contributing, see the community menu.

Wiki

The NixOS Wiki's core articles are divided into five categories. Each category link will list all pages in that category:

  1. Pedias, for encyclopedic description
  2. Guides, for broad hands-on understanding and connections to other learning resources
  3. Tutorials, intended to teach a particular process or project
  4. Cookbooks, collections of tips and tricks
  5. Reference, full manuals and technical coverage


Pages are also organized by the six most prominent components of the Nix Ecosystem — NixOS, Nix: the package manager, Nix: the language (Nix Expressions), Nixpkgs, NixOps and Hydra.

NixOS Wiki Resources
Category NixOS Nix Nix Expressions Nixpkgs NixOps Hydra
Pedia NixOS Nix Nix Expression Language Nixpkgs NixOps Hydra
Cookbook NixOS Cheatsheet Nix Cookbook Nix Language: Tips & Tricks
Guide Nix Language: Learning resources
NixOS Official Resources
Category NixOS Nix Nix Expressions Nixpkgs NixOps Hydra
Reference NixOS Manual Nix Manual Nix Manual:
Writing Nix Expressions
Nixpkgs Manual Nixops Manual Hydra Manual
Note: Home Manager is also a major community project to make user environment management in NixOS easier. It is intended to replace much of what you would do with nix-env, to reduce hard-to-track imperative actions.
Official Home Manager manual

Also, see Applications for an overview of tools in the extended ecosystem.

More documentation

  • awesome-nix - community-curated list of Nix learning resources and tools

News

Interactive websites

Tutorials

  • Wil T Nix Guides - A video series in 8 parts, covering the Nix ecosystem from foundations, providing orientation with all available resources, and showing hands on how to get NixOS installed and running (including managing all your configuration through git and using Flakes).
  • Nix Friday - a series of 24 video streams of 1-2 hours on learning Nix and meeting community members
  • How to learn Nix - A set of over 40 posts from 2021, looking at — as the author describes — not just what Nix does, but what it does. It is their notes from reading the manual, doing experiments, and trying to deeply understand Nix.
  • Tutorial Introduction to Nix - An introduction focused on the use of shell environments, for Python and with links to R versions as well
  • Interactive Tour of Nix - An interactive tutorial of the Nix Expression Language by Joachim Schiele and Paul Seitz
  • Nix shell workshop
  • Scrive workshop - Nix language and packaging workshop
  • ZFS NAS

Examples

Talks