Skip to Main content Skip to Navigation
New interface
Conference papers

Functional Package Management with Guix

Ludovic Courtès 1, * 
* Corresponding author
Abstract : We describe the design and implementation of GNU Guix, a purely functional package manager designed to support a complete GNU/Linux distribution. Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. It builds upon the low-level build and deployment layer of the Nix package manager. Guix uses Scheme as its programming interface. In particular, we devise an embedded domain-specific language (EDSL) to describe and compose packages. We demonstrate how it allows us to benefit from the host general-purpose programming language while not compromising on expressiveness. Second, we show the use of Scheme to write build programs, leading to "two-tier'' programming system.
Document type :
Conference papers
Complete list of metadata

Cited literature [20 references]  Display  Hide  Download
Contributor : Ludovic Courtès Connect in order to contact the contributor
Submitted on : Monday, May 20, 2013 - 3:33:14 PM
Last modification on : Monday, April 9, 2018 - 12:20:03 PM
Long-term archiving on: : Tuesday, April 4, 2017 - 8:31:01 AM


Files produced by the author(s)


  • HAL Id : hal-00824004, version 1
  • ARXIV : 1305.4584


Ludovic Courtès. Functional Package Management with Guix. European Lisp Symposium, Jun 2013, Madrid, Spain. ⟨hal-00824004⟩



Record views


Files downloads