mirror of
https://github.com/ryan4yin/nixos-and-flakes-book.git
synced 2025-01-14 18:08:12 +01:00
30 lines
1.7 KiB
Markdown
30 lines
1.7 KiB
Markdown
# Basics of the Nix Language
|
|
|
|
The Nix language is essential for declaring configurations to be built by Nix. To fully
|
|
enjoy the benefits of NixOS and Flakes, it is necessary to grasp the fundamentals of this
|
|
language.
|
|
|
|
The Nix language is a straightforward functional language. If you have some programming
|
|
experience, it should take you less than 2 hours to grasp its basics.
|
|
|
|
The community already has a lot of good Nix language tutorials, so I won't reinvent the
|
|
wheel. To get started, I recommend reading the following resources for a quick
|
|
introduction to the Nix language:
|
|
|
|
1. [**Nix Language Basics - nix.dev**](https://nix.dev/tutorials/first-steps/nix-language):
|
|
This tutorial provides a comprehensive overview of the basics of the Nix language,
|
|
recommended for beginners.
|
|
1. [**A tour of Nix**](https://nixcloud.io/tour/?id=introduction/nix): An online
|
|
interactive tutorial focuses on programming language constructs and how Nix can be
|
|
algorithmically used to solve problems.
|
|
1. [**Nix Language - Nix Reference Manual**](https://nixos.org/manual/nix/stable/language/):
|
|
The official documentation of the Nix language.
|
|
1. nix.dev and other user-friendly tutorials are suitable for starter reading only, and
|
|
**neither of them fully introduces the full syntax of Nix**. If you encounter a new
|
|
syntax that you have not come across before, please refer to this official document.
|
|
1. <https://noogle.dev/> is a Nix function library search engine that can help you quickly
|
|
find the functions you need and their usage, which is very practical.
|
|
|
|
It's okay to have a rough impression of the syntax for now. You can come back to review
|
|
the syntax when you find something you don't understand later.
|