HackerPapers

arXiv:1305.4584cs.PL

Functional Package Management with Guix

Ludovic Courtès

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.

arXiv comments
European Lisp Symposium (2013)
Journal reference
DOI
Subjects
cs.PLProgramming Languages

On Hacker News

Linked by 2 identifiable commenters in 2 comments across 2 threads, from Nov 2015 to Nov 2015.

Comments linking this paper, per year.

Discussed in comments2 threads

    • I have read about half of Eelco Dolstra's Ph.D. thesis [1]. I wish all distros worked like this. I had never heard of Guix before and was about to ask how it relates to / differs from Nix, so if anyone else is wondering: Guix: Specializes in providing exclusively free software.…

      random778View on HNParent context

    • Guix indeed has a strong commitment to user freedom, which makes it a different project. Technically, I don't see it as "duplicating" Nix: Guix uses low-level parts of Nix that are awesome, and replaces higher-level layers with a more integrated and unified system. See…

      civodulView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.