Jump to content

Nix (language): Difference between revisions

From Official NixOS Wiki
imported>Makefu
Ardenet (talk | contribs)
Marked this version for translation
Tags: Mobile edit Mobile web edit
 
(101 intermediate revisions by 46 users not shown)
Line 1: Line 1:
<languages/>
{{Navbox Nix}}
{{Disambiguation|message=<translate><!--T:5--> This article is about the Nix language itself. Not to be confused with the [[<tvar name=1>Special:MyLanguage/Nix ecosystem</tvar>|Nix ecosystem]], the [[<tvar name=2>Special:MyLanguage/Nix (package manager)</tvar>|Nix package manager]] or the [[<tvar name=3>Special:MyLanguage/Nix (command)</tvar>|Nix command]].</translate>}}{{Expand|scope=article}}


{{Expansion|This article is incomplete.}}
<translate>
<!--T:6-->
The Nix language is designed for conveniently creating and composing <i>derivations</i> – precise descriptions of how contents of existing files are used to derive new files.  
</translate>


This [[:Category:Discussion|discussion]] article covers the syntax, semantics, typing, compilation, tooling and libraries of the Nix Expression Language.
{{Note|<translate><!--T:2--> Check the [<tvar name=1>https://nix.dev/manual/nix/stable/language/</tvar> Nix Reference Manual on the Nix Language] for up-to-date documentation and [<tvar name=2>https://nix.dev/tutorials/nix-language</tvar> Nix language basics] for a gentle introduction.</translate>}}


== Learning the Nix language ==
<translate>
<!--T:7-->
The .nix files are written in the Nix language. While being a NixOS user doesn't demand complete mastery of Nix, customizing code snippets is necessary.


The [https://nixos.org/nix/manual/#ch-expression-language manual] provides a reference of the Nix language.
== See also == <!--T:3-->


[https://medium.com/@MrJamesFisher/nix-by-example-a0063a1a4c55 Nix By Example] is a step-by-step tutorial.
<!--T:8-->
* [[<tvar name=1>Special:MyLanguage/Nix Language: Learning resources</tvar>|Learning resources]]
* [[<tvar name=2>Special:MyLanguage/Editor Modes for Nix Files</tvar>|Editor Modes for Nix Files]]
* [[<tvar name=3>Special:MyLanguage/Nix Language: Tips & Tricks</tvar>|Nix Language: Tips & Tricks]]
* [[<tvar name=4>Special:MyLanguage/Nix Language Quirks</tvar>|Nix Language Quirks]]
</translate>


== Syntax Highlighting/IDE Support ==
[[Category:Pedias]]
Nix language has decent syntax highlighting (SH) support among popular code editors, but refactoring/autocomplete is still rare.
 
see: [[Editor Modes for Nix Files]]
 
[[Category:Discussion]]
[[Category:Nix Language]]
[[Category:Nix Language]]
[[Category:Incomplete]]

Latest revision as of 03:51, 31 May 2026

Introduction to Nix

Tools and applications

⤧︎
Disambiguation: This article is about the Nix language itself. Not to be confused with the Nix ecosystem, the Nix package manager or the Nix command.
☶︎
This article needs to be expanded. Further information may be found in the related discussion page. Please consult the pedia article metapage for guidelines on contributing.

The Nix language is designed for conveniently creating and composing derivations – precise descriptions of how contents of existing files are used to derive new files.

Note: Check the Nix Reference Manual on the Nix Language for up-to-date documentation and Nix language basics for a gentle introduction.

The .nix files are written in the Nix language. While being a NixOS user doesn't demand complete mastery of Nix, customizing code snippets is necessary.

See also