guix build
guix edit
guix download
guix hash
guix import
guix refresh
guix lint
guix size
guix graph
guix environment
guix publish
guix challenge
guix container
operating-system
Referenceguix system
Next: Introduction, Up: (dir) [Contents][Index]
This document describes GNU Guix version 0.9.0, a functional package management tool written for the GNU system.
• Introduction: | What is Guix about? | |
• Installation: | Installing Guix. | |
• Package Management: | Package installation, upgrade, etc. | |
• Emacs Interface: | Using Guix from Emacs. | |
• Programming Interface: | Using Guix in Scheme. | |
• Utilities: | Package management commands. | |
• GNU Distribution: | Software for your friendly GNU system. | |
• Contributing: | Your help needed! | |
• Acknowledgments: | Thanks! | |
• GNU Free Documentation License: | The license of this manual. | |
• Concept Index: | Concepts. | |
• Programming Index: | Data types, functions, and variables. | |
— The Detailed Node Listing — Installation | ||
• Binary Installation: | Getting Guix running in no time! | |
• Requirements: | Software needed to build and run Guix. | |
• Running the Test Suite: | Testing Guix. | |
• Setting Up the Daemon: | Preparing the build daemon’s environment. | |
• Invoking guix-daemon: | Running the build daemon. | |
• Application Setup: | Application-specific setup. | |
Setting Up the Daemon | ||
• Build Environment Setup: | Preparing the isolated build environment. | |
• Daemon Offload Setup: | Offloading builds to remote machines. | |
Package Management | ||
• Features: | How Guix will make your life brighter. | |
• Invoking guix package: | Package installation, removal, etc. | |
• Substitutes: | Downloading pre-built binaries. | |
• Packages with Multiple Outputs: | Single source package, multiple outputs. | |
• Invoking guix gc: | Running the garbage collector. | |
• Invoking guix pull: | Fetching the latest Guix and distribution. | |
• Invoking guix archive: | Exporting and importing store files. | |
Emacs Interface | ||
• Initial Setup: | Preparing ~/.emacs. | |
• Package Management: | Managing packages and generations. | |
• Popup Interface: | Magit-like interface for guix commands. | |
• Prettify Mode: | Abbreviating /gnu/store/… file names. | |
• Build Log Mode: | Highlighting Guix build logs. | |
• Completions: | Completing guix shell command.
| |
• Development: | Tools for Guix developers. | |
Programming Interface | ||
• Defining Packages: | Defining new packages. | |
• Build Systems: | Specifying how packages are built. | |
• The Store: | Manipulating the package store. | |
• Derivations: | Low-level interface to package derivations. | |
• The Store Monad: | Purely functional interface to the store. | |
• G-Expressions: | Manipulating build expressions. | |
Defining Packages | ||
• package Reference: | The package data type. | |
• origin Reference: | The origin data type. | |
Utilities | ||
• Invoking guix build: | Building packages from the command line. | |
• Invoking guix edit: | Editing package definitions. | |
• Invoking guix download: | Downloading a file and printing its hash. | |
• Invoking guix hash: | Computing the cryptographic hash of a file. | |
• Invoking guix import: | Importing package definitions. | |
• Invoking guix refresh: | Updating package definitions. | |
• Invoking guix lint: | Finding errors in package definitions. | |
• Invoking guix size: | Profiling disk usage. | |
• Invoking guix graph: | Visualizing the graph of packages. | |
• Invoking guix environment: | Setting up development environments. | |
• Invoking guix publish: | Sharing substitutes. | |
• Invoking guix challenge: | Challenging substitute servers. | |
• Invoking guix container: | Process isolation. | |
GNU Distribution | ||
• System Installation: | Installing the whole operating system. | |
• System Configuration: | Configuring the operating system. | |
• Installing Debugging Files: | Feeding the debugger. | |
• Security Updates: | Deploying security fixes quickly. | |
• Package Modules: | Packages from the programmer’s viewpoint. | |
• Packaging Guidelines: | Growing the distribution. | |
• Bootstrapping: | GNU/Linux built from scratch. | |
• Porting: | Targeting another platform or kernel. | |
System Configuration | ||
• Using the Configuration System: | Customizing your GNU system. | |
• operating-system Reference: | Detail of operating-system declarations. | |
• File Systems: | Configuring file system mounts. | |
• Mapped Devices: | Block device extra processing. | |
• User Accounts: | Specifying user accounts. | |
• Locales: | Language and cultural convention settings. | |
• Services: | Specifying system services. | |
• Setuid Programs: | Programs running with root privileges. | |
• X.509 Certificates: | Authenticating HTTPS servers. | |
• Name Service Switch: | Configuring libc’s name service switch. | |
• Initial RAM Disk: | Linux-Libre bootstrapping. | |
• GRUB Configuration: | Configuring the boot loader. | |
• Invoking guix system: | Instantiating a system configuration. | |
• Defining Services: | Adding new service definitions. | |
Services | ||
• Base Services: | Essential system services. | |
• Networking Services: | Network setup, SSH daemon, etc. | |
• X Window: | Graphical display. | |
• Desktop Services: | D-Bus and desktop services. | |
• Database Services: | SQL databases. | |
• Web Services: | Web servers. | |
• Various Services: | Other services. | |
Defining Services | ||
• Service Composition: | The model for composing services. | |
• Service Types and Services: | Types and services. | |
• Service Reference: | API reference. | |
• dmd Services: | A particular type of service. | |
Packaging Guidelines | ||
• Software Freedom: | What may go into the distribution. | |
• Package Naming: | What’s in a name? | |
• Version Numbers: | When the name is not enough. | |
• Synopses and Descriptions: | Helping users find the right package. | |
• Python Modules: | Taming the snake. | |
• Perl Modules: | Little pearls. | |
• Fonts: | Fond of fonts. | |
Contributing | ||
• Building from Git: | The latest and greatest. | |
• Running Guix Before It Is Installed: | Hacker tricks. | |
• The Perfect Setup: | The right tools. | |
• Coding Style: | Hygiene of the contributor. | |
• Submitting Patches: | Share your work. | |
Coding Style | ||
• Programming Paradigm: | How to compose your elements. | |
• Modules: | Where to store your code? | |
• Data Types and Pattern Matching: | Implementing data structures. | |
• Formatting Code: | Writing conventions. | |
Next: Introduction, Up: (dir) [Contents][Index]