Print Email Facebook Twitter NixOS: A purely functional Linux distribution Title NixOS: A purely functional Linux distribution Author Dolstra, E. Löh, A. Pierron, N. Faculty Electrical Engineering, Mathematics and Computer Science Department Software Technology Date 2010-10-15 Abstract 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. To reference this document use: http://resolver.tudelft.nl/uuid:547a1af2-10e5-4a00-a87b-5f47dde83b1f DOI https://doi.org/10.1017/S0956796810000195 Publisher Cambridge University Press Embargo date 2011-10-31 ISSN 0956-7968 Source Journal of Functional Programming, 20 (5-6), 2010 Part of collection Institutional Repository Document type journal article Rights (c) 2010 Cambridge University Press Files PDF dolstra2010.pdf 759.44 KB Close viewer /islandora/object/uuid:547a1af2-10e5-4a00-a87b-5f47dde83b1f/datastream/OBJ/view