Nix ecosystem: Difference between revisions

imported>Ixxie
No edit summary
imported>Ixxie
No edit summary
Line 1: Line 1:
{{Expansion|This article is a stub.}}
{{Expansion|This article is a stub.}}


The ''Nix Ecosystem'' is a collection of technologies built around the [[Nix Package Manager]], which uses a purely functional packaging language called the [[Nix Expression Language]] to specify reproducible build processes. Nix stores the results into hashed addresses, allowing multiple versions of the same package to live side by side. This allowed the creation of [[NixOS]], a Linux distribution with ''all'' components built by Nix, and thus supporting reproducible and declarative system-wide configuration management as well as atomic upgrades and rollbacks. A community maintained package repository called [[Nixpkgs]] is the largest Nix package repository, and also hosts NixOS packages (known as modules). In addition to these the community developed [[NixOps]], a Nix based deployment and provisioning tool, and [[Hydra]], a Nix based continuous build system.
The ''Nix Ecosystem'' is a collection of technologies built around the [[Nix Package Manager]], which uses a purely functional packaging language called the [[Nix Expression Language]] to specify reproducible build processes. Nix stores the results into hashed addresses, allowing multiple versions of the same package to live side by side. This allowed the creation of [[NixOS]], a Linux distribution with ''all'' components built by Nix, and thus supporting reproducible and declarative system-wide configuration management as well as atomic upgrades and rollbacks. A community maintained package repository called [[Nixpkgs]] is the largest Nix package repository, and also hosts NixOS packages (known as modules). In addition to these the community developed [[NixOps]], a Nix based deployment and provisioning tool, and [[Hydra]], a Nix based continuous build system. There are also many other [[applications]] developed by the Nix community, utilizing and supporting these core technologies.


== The Nix Package Manager & Expression Language ==
''Nix expressions'' are pure functions taking dependencies as arguments and producing ''derivation'' specifying a reproducible build environment for the package. The package is then built the ''Nix store'', receiving a unique address specified by a cryptographic hash of the build's dependency graph followed by the package name and version, for example <code>/nix/store/nawl092prjblbhvv16kxxbk6j9gkgcqm-git-2.14.1</code>. This allows Nix to simultaneously install different versions of the same package, and even different builds of the same version, for example variants built with different compilers.
== NixOS ==
== Nixpkgs ==
== NixOps ==
== Hydra ==
== Other applications ==


[[Category:Discussion]]
[[Category:Discussion]]
[[Category:Ecosystem]]
[[Category:Ecosystem]]
[[Category:Incomplete]]
[[Category:Incomplete]]