Skip to content
On this page

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.

To get started, I recommend reading the following resources for a solid introduction to the Nix language:

  1. Nix Language Basics - nix.dev: This tutorial provides a comprehensive overview of the basics of the Nix language.
  2. Nix - A One Pager: A one page introduction to the Nix language.
    1. You can safely skip the section on callPackage/Overriding/Overlays for now. We will cover it in the next chapter.

By going through these materials, you will develop a solid foundation in the Nix language, allowing you to effectively utilize NixOS and Flakes.