Masaq Index
arXiv 2013-05-20 0 views

Functional Package Management with Guix

Courtès, Ludovic

Original · EN

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.

English translation

This paper has no Arabic translation yet. Be the first: it takes a few seconds, and the result is stored for every future reader.

Security check

Type the characters above

Up to 10 translations per person per day.