Functional Package Management with Guix
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-le...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | 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. |
---|---|
DOI: | 10.48550/arxiv.1305.4584 |