aboutsummaryrefslogtreecommitdiff
-*- mode: org; coding: utf-8; -*-

#+TITLE: Hacking GNU Guix and Its Incredible Distro

Copyright © 2012, 2013, 2014, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
Copyright © 2015, 2017 Mathieu Lirzin <mthl@gnu.org>
Copyright © 2017 Leo Famulari <leo@famulari.name>
Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>

  Copying and distribution of this file, with or without modification,
  are permitted in any medium without royalty provided the copyright
  notice and this notice are preserved.

* Contributing

See the manual for useful hacking information, either by running

  info -f doc/guix.info "Contributing"

or by checking the [[https://guix.gnu.org/manual/devel/en/html_node/Contributing.html][web copy of the manual]].
177591541db60e8f9f406a239b'>installer: Install xterm alongside ratpoison.Ludovic Courtès * gnu/installer/services.scm (%system-services) <"ratpoison">: Add xterm. 2019-06-07installer: Install companion packages alongside i3.Ludovic Courtès Fixes <http://bugs.gnu.org/36008>. Suggested by Giovanni Biscuolo <g@xelera.eu>. * gnu/installer/services.scm (%system-services) <"i3">: Add i3status, dmenu, and st. 2019-05-03installer: Ensure 'packages' field is a superset of '%base-packages'.Ludovic Courtès Fixes <https://bugs.gnu.org/35541>. Reported by Florian Pelz <pelzflorian@pelzflorian.de>. * gnu/installer/services.scm (system-services->configuration): Generate a snippet that appends PACKAGES to %BASE-PACKAGES. 2019-04-28installer: Add 'nss-certs' to the networking services.Ludovic Courtès Fixes <https://bugs.gnu.org/35469>. Reported by Florian Pelz <pelzflorian@pelzflorian.de>. * gnu/installer/services.scm (%system-services): Add service for 'nss-certs', with 'recommended?' set to #t. 2019-04-28installer: Recommended services are pre-selected.Ludovic Courtès * gnu/installer/services.scm (<system-service>)[recommended?]: New field. * gnu/installer/newt/services.scm (run-desktop-environments-cbt-page): Pass #:selection to 'run-checkbox-tree-page', computed from the 'recommended?' field of each service. (run-networking-cbt-page): Likewise. 2019-04-17installer: Desktop environment page now includes window managers.Ludovic Courtès * gnu/installer/services.scm (<system-service>)[snippet]: Change to be a list of sexps and add default value. [packages]: New field. (%system-services): Adjust 'snippet' fields to be lists of sexps. Add Openbox, awesome, i3, and ratpoison. (system-services->configuration): Adjust 'snippet' handling. Honor 'packages' field. 2019-04-14installer: Fix snippet for the DHCP client.Ludovic Courtès * gnu/installer/services.scm (%system-services): Fix typo in DHCP client snippet. 2019-04-14installer: Add wpa-supplicant along with NetworkManager and Connman.Ludovic Courtès * gnu/installer/services.scm (%system-services) <network-manager, connman>: Add a 'wpa-supplicant-service-type' instance. (system-services->configuration): Unsplice it. 2019-04-08installer: Use 'append' and 'list' instead of 'cons*'.Ludovic Courtès * gnu/installer/services.scm (system-services->configuration): Use 'append' and 'list' instead of 'cons*'. 2019-04-08installer: Generate 'set-xorg-configuration' snippet.Ludovic Courtès * gnu/installer/services.scm (system-services->configuration): Add 'set-xorg-configuration' service. * gnu/installer/steps.scm (format-configuration): Add 'xorg' service module. 2019-04-08installer: Xfce service uses the 'service' form.Ludovic Courtès * gnu/installer/services.scm (%system-services): Adjust Xfce snippet to use the 'service' form. 2019-04-07installer: Internationalize service "names".Ludovic Courtès * gnu/installer/services.scm (%system-services): Mark networking service names with 'G_'. * gnu/installer/newt/services.scm (run-networking-cbt-page): Pass 'system-service-name' through 'G_'. 2019-04-07installer: Offer NM, Connman, and DHCP to non-desktop installs.Ludovic Courtès * gnu/installer/services.scm (%system-services): Add NetworkManager, Connman, and the DHCP client. * gnu/installer/newt/services.scm (run-networking-cbt-page): Add 'network-management?' parameter and honor it. (run-services-page): Adjust call accordingly. 2019-04-07installer: Add dialog to select networking services.Ludovic Courtès * gnu/installer/newt/services.scm (run-networking-cbt-page): New procedure. (run-services-page): Call it. * gnu/installer/services.scm (%system-services): Add OpenSSH and Tor. (networking-system-service?): New procedure. * gnu/installer/steps.scm (format-configuration): Add 'networking' and 'ssh' to the service modules. 2019-04-07installer: Generalize desktop environments to system services.Ludovic Courtès * gnu/installer/services.scm (<desktop-environment>): Rename to... (<system-service>): ... this. Add a 'type' field. (%desktop-environments): Rename to... (%system-services): ... this. (desktop-system-service?): New procedure. (desktop-environments->configuration): Rename to... (system-services->configuration): ... this. Determine the base list of services based on whether SERVICES contains at least one "desktop" service. * gnu/installer/newt/services.scm (run-desktop-environments-cbt-page): Adjust accordingly. * gnu/installer.scm (installer-steps): Likewise. 2019-03-27services: Deprecate 'xfce-desktop-service'.Ludovic Courtès * gnu/services/desktop.scm (xfce-desktop-service-type)[default-value] [description]: New fields. (xfce-desktop-service): Deprecate. * gnu/system/examples/desktop.tmpl: Use the (service …) form. * gnu/installer/services.scm (%desktop-environments): Add TODO comment. * doc/guix.texi (Desktop Services): Adjust accordingly, and fix spelling of "Xfce" throughout. 2019-03-27services: Deprecate 'gnome-desktop-service'.Ludovic Courtès * gnu/services/desktop.scm (gnome-desktop-service-type)[default-value]: New field. (gnome-desktop-service): Deprecate. * gnu/installer/services.scm (%desktop-environments): Use the (service …) form for GNOME. * gnu/system/examples/desktop.tmpl: Likewise. * doc/guix.texi (Desktop Services): Adjust accordingly. 2019-03-27installer: Use the (service …) form for MATE.Ludovic Courtès * gnu/installer/services.scm (%desktop-environments): Use 'mate-desktop-service-type' for MATE. 2019-01-17installer: Add services page.Mathieu Othacehe Add a page to select services, for now only desktop environments choice is available. * gnu/installer.scm (steps): Add services step. * gnu/installer/newt.scm (newt-installer): Add services-page field. * gnu/installer/newt/services.scm: New file. * gnu/installer/record.scm (installer): Add services-page field. * gnu/installer/services.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add new files. * po/guix/POTFILES.in: Add new files.