Hostname: page-component-6766d58669-rxg44 Total loading time: 0 Render date: 2026-05-15T11:46:34.823Z Has data issue: false hasContentIssue false

NixOS: A purely functional Linux distribution

Published online by Cambridge University Press:  15 October 2010

EELCO DOLSTRA
Affiliation:
Department of Software Technology, Delft University of Technology, Postbus 5031, 2600 GA Delft, The Netherlands (e-mail: e.dolstra@tudelft.nl)
ANDRES LÖH
Affiliation:
Department of Information and Computing Sciences, Utrecht University, Postbus 80. 089, 3508 TB Utrecht, The Netherlands (e-mail: andres@cs.uu.nl)
NICOLAS PIERRON
Affiliation:
EPITA Research and Development Laboratory, 14-16 rue Voltaire, 94276 Le Kremlin-Bicêtre cedex, France (e-mail: nicolas.b.pierron@gmail.com)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

Existing package and system configuration management tools suffer from an imperative model, where system administration actions such as package upgrades or changes to system configuration files are stateful: they destructively update the state of the system. This leads to many problems, such as the inability to roll back changes easily, to deploy multiple versions of a package side-by-side, to reproduce a configuration deterministically on another machine, or to reliably upgrade a system. In this paper we show that we can overcome these problems by moving to a purely functional system configuration model. This means that all static parts of a system (such as software packages, configuration files and system startup scripts) are built by pure functions and are immutable, stored in a way analogous to a heap in a purely functional language. We have implemented this model in NixOS, a non-trivial Linux distribution that uses the Nix package manager to build the entire system configuration from a modular, purely functional specification.

Information

Type
Articles
Copyright
Copyright © Cambridge University Press 2010
Submit a response

Discussions

No Discussions have been published for this article.