Guix System Distribution

GuixSD running Xfce, GNU IceCat and GNU Emacs

Developer| GNU Project[1][2]
OS family| Unix-like
Working state| beta
Source model| Free Software
|Final release|Latest release}}| 0.15.0[3] / 6 July 2018; 5 years ago (2018-07-06)
|Final preview|Latest preview}}| 0.15.0 (beta)[4] / 7 December 2017; 6 years ago (2017-12-07)
Marketing target| Desktop
Package manager| GNU Guix
Platforms| x86_64, i686, arm[5]
Kernel type| Monolithic: Linux-libre (operational) Microkernel: GNU Hurd (under development)
Userland| GNU
License| GPL
Official website| gnu.org/software/guix

Guix System Distribution (abbreviated GuixSD[6]) is a Linux distribution built around the GNU Guix package manager.[7][8] It uses the Linux-libre kernel, with support for the GNU Hurd under development.[9] On February 3, 2015, the distribution was added to the Free Software Foundation's list of free Linux distributions.[10]

## Contents

* 1 Features
* 1.1 GNU Guix
* 1.2 GNU Shepherd
* 2 Reception
* 3 See also
* 4 References
* 5 External links

## Features

### GNU Guix

GuixSD is based on GNU Guix, a purely functional package and system configuration manager derived from Nix, using the GNU Guile implementation of the Scheme programming language. All package recipes, as well as the whole system configuration, are written in declarative embedded domain-specific languages in Guile Scheme.[11]

### GNU Shepherd

GuixSD uses the GNU Daemon Shepherd as its init system, which is developed in tandem with Guix and is written in Guile as well. It was previously known as "dmd", which stood for "Daemon managing Daemons" or "Daemons-managing Daemon", but changed names to avoid collision with the Digital Mars D compiler.[12]

Shepherd supplies user space functionality asynchronously as services, which under Shepherd are generic functions and object data types that are exported for use by the Shepherd to extend the base operating system in some defined way. In contrast to Systemd, a userspace shepherd process runs as that user. Core to the Shepherd model of user space initialisation is the concept of the extension, a form of composability where services are designed to be layered onto other services, augmenting them with more elaborate or specialised behaviours as desired.[13] This expresses the instantiation-based dependency relationships found in many modern init systems,[14] making the system modular, but also allows services to interact variadically with other services in arbitrary ways.

Shepherd also provides so-called virtual services which allow dynamic dispatch over a class of related service objects, such as all those which instantiate a mail transfer agent (MTA) for the system.[15] A system governed via the Shepherd daemon can represent its user space as a directed acyclic graph, with the "system-service" − responsible for early phases of boot and init − as its root, and all subsequently initialised services as extensions to system-service's functionality, either directly or over other services.[13][16]

Being both written and configured in Guile Scheme, GNU Shepherd is intended to be highly programmable by the system administrator, but it can also be used to manage per-user profiles of unprivileged daemons and services.[17] Its services and configuration are stored uniformly as object-oriented Scheme code, and while a core set of services are provided with the basic Guix System Distribution,[18] arbitrary new services can be flexibly declared, and through Guile's object system, GOOPS, existing services can be redefined at the user's discretion by asking the Shepherd to dynamically rewrite services in specified ways on instantiation.[19][20]

GNU Shepherd was originally designed to work with GNU Hurd, and was later adopted by GuixSD.[21]

## Reception

Jesse Smith from DistroWatch Weekly reviewed GuixSD 0.15.0, and said that "GuixSD has a package manager that I like", but criticized the limited hardware support and its limited documentation.[22]

## See also

* Debian GNU/Hurd
* Comparison of Linux distributions

## References

1. ↑ GuixSD Contributors. "About — GuixSD". gnu.org. https://www.gnu.org/software/guix/about. Retrieved March 16, 2017.
2. ↑ "GNU/Linux FAQ - GNU Project - Free Software Foundation". Free Software Foundation. https://www.gnu.org/gnu/gnu-linux-faq.html. Retrieved 2017-05-14.
3. ↑ GNU Guix and GuixSD 0.15.0 released — 2018 — Blog — GuixSD
4. ↑ "GNU Guix and GuixSD 0.15.0 released". https://www.gnu.org/software/guix/blog/2018/gnu-guix-and-guixsd-0.15.0-released/.
5. ↑ Mathieu Othacehe. "Porting GuixSD to ARMv7". https://www.gnu.org/software/guix/blog/2017/porting-guixsd-to-armv7/. Retrieved February 17, 2018.
6. ↑ "What to call Guix?" (Mailing list). gnu-system-discuss. 2015-01-15.
7. ↑ "List of Free GNU/Linux Distributions". https://www.gnu.org/distros/free-distros.html. Retrieved February 3, 2015.
8. ↑ "Guix: A New Package Manager & GNU Distribution". Phoronix. https://www.phoronix.com/scan.php?page=news_item&px=MTIzNjY. Retrieved February 3, 2015.
9. ↑ "GNU Guix & GuixSD 0.12.0 released" (Mailing list). guix-devel. 2016-12-21.
10. ↑ "FSF adds Guix System Distribution to list of endorsed distributions". Free Software Foundation. 3 February 2015. http://www.fsf.org/news/fsf-adds-guix-system-distribution-to-list-of-endorsed-distributions. Retrieved February 3, 2015.
11. ↑ "Programming Interface". https://www.gnu.org/software/guix/manual/html_node/Programming-Interface.html#Programming-Interface.
12. ↑ "guix-devel mailing lists". https://lists.gnu.org/archive/html/guix-devel/2016-01/msg00274.html. Retrieved 2016-11-05.
13. ↑ 13.0 13.1 "GNU Guix Reference Manual: Service Composition". GNU Project. https://www.gnu.org/software/guix/manual/html_node/Service-Composition.html#Service-Composition. Retrieved 2016-11-05.
14. ↑ "systemd: Unit Dependencies and Order". Fedora Magazine. https://fedoramagazine.org/systemd-unit-dependencies-and-order/. Retrieved 2016-11-05.
15. ↑ "The GNU Shepherd Manual: Jump Start". GNU Project. https://www.gnu.org/software/shepherd/manual/html_node/Jump-Start.html#Jump-Start. Retrieved 2016-11-05.
16. ↑ "GNU Guix Reference Manual: Shepherd Services". GNU Project. https://www.gnu.org/software/guix/manual/html_node/Shepherd-Services.html#Shepherd-Services. Retrieved 2016-11-05.
17. ↑ "The GNU Shepherd Manual". GNU Project. https://www.gnu.org/software/shepherd/manual/html_node/Introduction.html#Introduction. Retrieved 2016-11-05.
18. ↑ "GNU Guix Reference Manual: Services". GNU Project. https://www.gnu.org/software/guix/manual/html_node/Services.html#Services. Retrieved 2016-11-05.
19. ↑ "GNU Guix Reference Manual: Service Types and Services". GNU Project. https://www.gnu.org/software/guix/manual/html_node/Service-Types-and-Services.html#Service-Types-and-Services. Retrieved 2016-11-05.
20. ↑ "GNU Guix Reference Manual: Using the Configuration System". GNU Project. https://www.gnu.org/software/guix/manual/html_node/Using-the-Configuration-System.html#Using-the-Configuration-System. Retrieved 2016-11-05.
21. ↑ "GNU Shepherd". GNU project. https://www.gnu.org/software/shepherd/. Retrieved 2016-02-12.
22. ↑ Smith, Jesse. Guix System Distribution 0.15.0 and ReactOS 0.4.9. https://distrowatch.com/weekly.php?issue=20180827#guixsd. Retrieved 2018-08-30.

## External links

* Guix System Distribution at DistroWatch
* List of GuixSD packages

* v
* t
* e

GNU Project

History|

* GNU Manifesto
* Free Software Foundation
* Europe
* India
* Latin America
* History of free software

Licenses|

* GNU General Public License
* linking exception
* font exception
* GNU Lesser General Public License
* GNU Affero General Public License
* GNU Free Documentation License

Software|

* GNU (variants)
* Hurd
* Linux-libre
* glibc
* Bash
* coreutils
* findutils
* Build System
* GCC
* binutils
* GDB
* GRUB
* GNOME
* GNUstep
* GIMP
* Jami
* GNU Emacs
* GNU TeXmacs
* GNU Octave
* GNU R
* GSL
* GMP
* GNU Electric
* GNU Archimedes
* GNUnet
* GNU Privacy Guard
* Gnuzilla (IceCat)
* GNU Health
* GNUmed
* GNU LilyPond
* GNU Go
* GNU Chess
* Gnash
* Guix
* Guix System Distribution
* more...

Public
speakers|

* Alexandre Oliva
* Benjamin Mako Hill
* Bradley M. Kuhn
* Federico Heinz
* Frédéric Couchet
* Georg C. F. Greve
* John Sullivan
* José E. Marchesi
* Joshua Gay
* Kefah T. Issa
* Loïc Dachary
* Nagarjuna G.
* Peter Heath
* Richard M. Stallman

Other topics|

* GNU/Linux naming controversy
* Revolution OS
* Free Software Foundation anti-Windows campaigns
* Defective by Design

* v
* t
* e

Linux distributions

Android|

* Android-IA
* Android-x86
* LineageOS
* /e/
* CyanogenMod
* Remix OS
* Replicant

Arch|

* ArchBang
* ArchLabs
* Artix
* Chakra
* Hyperbola GNU/Linux-libre
* Manjaro
* Parabola GNU/Linux-libre

Debian|

* antiX
* Astra Linux
* Bharat Operating System Solutions
* deepin
* Devuan
* Elive
* Endless OS
* gNewSense
* HandyLinux
* Kali Linux
* Knoppix
* MX Linux
* Parrot Security OS
* SparkyLinux
* SolydXK
* SteamOS
* Tails

| Ubuntu|

* Official: Kubuntu
* Lubuntu
* Ubuntu Budgie
* Ubuntu Kylin
* Ubuntu MATE
* Ubuntu Studio
* Xubuntu

* Other: Asturix
* Bodhi Linux
* elementary OS
* KDE neon
* Linux Mint
* Pinguy OS
* Trisquel
* Uruk
* LXLE Linux
* Linux Lite
* Zorin OS

|

Fedora|

* BLAG Linux and GNU
* Korora

| Red Hat|

* CentOS
* ClearOS
* Linpus Linux
* Oracle Linux
* Qubes OS
* Rocks Cluster Distribution
* Scientific Linux
* SME Server

|

Gentoo|

* Calculate Linux
* Chromium OS
* Chrome OS
* Sabayon Linux
* Nova OS

Slackware|

* Austrumi Linux
* DeLi Linux
* DNALinux
* Kongoni
* NimbleX
* Platypux
* Porteus
* Salix OS
* Slax
* TopologiLinux
* VectorLinux
* Zenwalk

Mandriva|

* ALT Linux
* Mageia
* OpenMandriva Lx
* PCLinuxOS
* ROSA Linux

Other|

* 4MLinux
* Alpine Linux
* CRUX
* Frugalware Linux
* GeckoLinux
* GoboLinux
* GuixSD
* KaOS
* Kwort Linux
* Lunar Linux
* NixOS
* openSUSE
* SUSE Linux Enterprise Server
* Puppy Linux
* Source Mage
* Solus
* Void Linux
* Uruk GNU/Linux

* Category
* Comparison
* List
* Commons

0.00

(0 votes)

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:Guix_System_Distribution&oldid=3058337"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template