NixOS: Difference between revisions

imported>Ixxie
m Bumped version to 17.09
imported>HLandau
No edit summary
Line 2: Line 2:




[https://nixos.org/ NixOS] is a Linux distribution based on the [[Nix Package Manager]]. It supports reproducible and declarative system-wide configuration management as well as atomic upgrades and rollbacks. Alongside this declarative operation mode, NixOS supports imperative package and user management. In NixOS, all components of the distribution - including the kernel, system packages and configuration files - are built by [[Nix Package Manager|Nix]] from purely functional [[Nix Expression Language|Nix Expressions]]. Since Nix supports binary caching, this provides a convenient compromise between source-based and binary approaches, allowing the use of a binaries for standard components and custom built packages and modules when needed. Stable NixOS releases are delivered biannually, with the latest stable version being 17.09. NixOS was created by Eelco Dolstra and Armijn Hemel, and initially released in 2003. It is community developed and maintained under the stewardship of the [https://nixos.org/nixos/foundation.html NixOS Foundation].
[https://nixos.org/ NixOS] is a Linux distribution based on the [[Nix Package Manager]]. It supports reproducible and declarative system-wide configuration management as well as atomic upgrades and rollbacks, although it can additionally support imperative package and user management. In NixOS, all components of the distribution — including the kernel, installed packages and system configuration files — are built by [[Nix Package Manager|Nix]] from purely functional (that is, [[Wikipedia:Pure function|side-effect free]]) [[Nix Expression Language|Nix expressions]].
 
Since Nix uses binary caching, this provides a unique compromise between the binary-oriented approach used by distributions such as Debian and the source-oriented approach used by distributions such as Gentoo. Binaries can be used for standard components, and custom-built packages and modules can be used automatically when a prebuilt binary is not available.
 
Stable NixOS releases are delivered biannually. NixOS was created by Eelco Dolstra and Armijn Hemel, and initially released in 2003. It is community developed and maintained under the stewardship of the [https://nixos.org/nixos/foundation.html NixOS Foundation].


== Usage ==
== Usage ==
Line 8: Line 12:
=== Installation ===
=== Installation ===


For a full installation guide using the ISOs - including steps for installing with USB stick and on UEFI systems - see the [https://nixos.org/nixos/manual/index.html#ch-installation installation chapter of the manual].
For a full installation guide, see the [https://nixos.org/nixos/manual/index.html#ch-installation Installation chapter of the NixOS manual].
 
Most users will install NixOS via [https://nixos.org/nixos/download.html one of the ISO images.] Both "graphical" and "minimal" ISO variants are available for each supported architecture; the "graphical" images are suitable for users intending to install a desktop environment, and the "minimal" images are suitable for users intending to install NixOS in a server role or desiring a smaller ISO image.
 
The ISO images are hybrid images which can be burnt to optical media or copied raw to a USB drive and booted as-is. See the installation guide for details.
 
In addition to the ISO images, the [https://nixos.org/nixos/download.html download page] provides a number of alternative methods for installing NixOS. These include:
 
* virtual appliances in OVA format (compatible with VirtualBox);
* Amazon EC2 AMIs;
* Microsoft Azure blobs.
 
Additionally, many existing Linux installations can be converted into NixOS installations using [https://github.com/elitak/nixos-infect nixos-infect] or [https://github.com/jeaye/nixos-in-place nixos-in-place]; this is particularly useful for installing NixOS on hosting providers which do not natively support NixOS.


In addition to graphical and minimal 64bit and 32bit ISOs, the [https://nixos.org/nixos/download.html NixOS download page] provides a variety of formats for installing NixOS. These include virtual appliances in OVA format (compatible with Virtual Box), Amazon EC2 AMIs and Microsoft Azure BLOBs. Additionally, one can convert a variety of existing Linux installations into NixOS using [https://github.com/elitak/nixos-infect nixos-infect] and [https://github.com/jeaye/nixos-in-place nixos-in-place]; this is particularly useful for installing NixOS on hosting providers such as Digital Ocean, which have no NixOS images available out-of-the-box. For instructions on installing NixOS on various ARM boards, see [[NixOS on ARM]].
For information on installing NixOS on various ARM devices, see [[NixOS on ARM]].


=== Declarative Configuration ===
=== Declarative Configuration ===