Next: , Previous: , Up: Receptár GNU Guix   [Contents][Index]

7 Software Development

Guix is a handy tool for developers; guix shell, in particular, gives a standalone development environment for your package, no matter what language(s) it’s written in (see Invoking guix shell in GNU Guix Reference Manual). To benefit from it, you have to initially write a package definition and have it either in Guix proper, or in a channel, or directly in your project’s source tree as a guix.scm file. This last option is appealing: all developers have to do to get set up is clone the project’s repository and run guix shell, with no arguments.

Development needs go beyond development environments though. How can developers perform continuous integration of their code in Guix build environments? How can they deliver their code straight to adventurous users? This chapter describes a set of files developers can add to their repository to set up Guix-based development environments, continuous integration, and continuous delivery—all at once1.



This chapter is adapted from a blog post published in June 2023 on the Guix web site.