Nix (language): Difference between revisions

imported>Danbst
No edit summary
Ardenet (talk | contribs)
Marked this version for translation
Tags: Mobile edit Mobile web edit
 
(102 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.
=== Terminal editors ===
* [https://github.com/seitz/nanonix nano] - simple SH
* vim ?
* emacs ?
 
=== Code Editors ===
* [https://atom.io/packages/nix Atom Nix plugin] - SH
* [https://marketplace.visualstudio.com/items?itemName=bbenoist.Nix VSCode Nix plugin] - SH
* [https://packagecontrol.io/packages/Nix Sublime Text]
 
=== IDEs ===
* IntelliJ Idea ?
* [https://github.com/NixOS/nix-eclipse Eclipse Nix plugin] - development stopped in 2010
* emacs ?
* vim ?
 
[[Category:Discussion]]
[[Category:Nix Language]]
[[Category:Nix Language]]
[[Category:Incomplete]]