summary refs log tree commit diff
path: root/gnu/system
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/system')
-rw-r--r--gnu/system/examples/bare-bones.tmpl10
-rw-r--r--gnu/system/examples/beaglebone-black.tmpl24
-rw-r--r--gnu/system/examples/desktop.tmpl32
-rw-r--r--gnu/system/examples/docker-image.tmpl2
-rw-r--r--gnu/system/examples/lightweight-desktop.tmpl16
-rw-r--r--gnu/system/examples/vm-image.tmpl12
-rw-r--r--gnu/system/install.scm30
-rw-r--r--gnu/system/vm.scm1
8 files changed, 79 insertions, 48 deletions
diff --git a/gnu/system/examples/bare-bones.tmpl b/gnu/system/examples/bare-bones.tmpl
index 902dacbe57..a88bab034f 100644
--- a/gnu/system/examples/bare-bones.tmpl
+++ b/gnu/system/examples/bare-bones.tmpl
@@ -44,8 +44,8 @@
 
   ;; Add services to the baseline: a DHCP client and
   ;; an SSH server.
-  (services (cons* (service dhcp-client-service-type)
-                   (service openssh-service-type
-                            (openssh-configuration
-                              (port-number 2222)))
-                   %base-services)))
+  (services (append (list (service dhcp-client-service-type)
+                          (service openssh-service-type
+                                   (openssh-configuration
+                                    (port-number 2222))))
+                    %base-services)))
diff --git a/gnu/system/examples/beaglebone-black.tmpl b/gnu/system/examples/beaglebone-black.tmpl
index efef682e3a..11678063b2 100644
--- a/gnu/system/examples/beaglebone-black.tmpl
+++ b/gnu/system/examples/beaglebone-black.tmpl
@@ -43,15 +43,15 @@
                %base-user-accounts))
 
   ;; Globally-installed packages.
-  (packages (cons* screen openssh %base-packages))
-
-  (services (cons* (service dhcp-client-service-type)
-                   ;; mingetty does not work on serial lines.
-                   ;; Use agetty with board-specific serial parameters.
-                   (agetty-service
-                    (agetty-configuration
-                     (extra-options '("-L"))
-                     (baud-rate "115200")
-                     (term "vt100")
-                     (tty "ttyO0")))
-                   %base-services)))
+  (packages (append (list screen openssh) %base-packages))
+
+  (services (append (list (service dhcp-client-service-type)
+                          ;; mingetty does not work on serial lines.
+                          ;; Use agetty with board-specific serial parameters.
+                          (agetty-service
+                           (agetty-configuration
+                            (extra-options '("-L"))
+                            (baud-rate "115200")
+                            (term "vt100")
+                            (tty "ttyO0"))))
+                  %base-services)))
diff --git a/gnu/system/examples/desktop.tmpl b/gnu/system/examples/desktop.tmpl
index 1b8d46afaf..c59bf92681 100644
--- a/gnu/system/examples/desktop.tmpl
+++ b/gnu/system/examples/desktop.tmpl
@@ -25,12 +25,17 @@
           (target "my-root")
           (type luks-device-mapping))))
 
-  (file-systems (cons (file-system
-                        (device (file-system-label "my-root"))
-                        (mount-point "/")
-                        (type "ext4")
-                        (dependencies mapped-devices))
-                      %base-file-systems))
+  (file-systems (append
+                 (list (file-system
+                         (device (file-system-label "my-root"))
+                         (mount-point "/")
+                         (type "ext4")
+                         (dependencies mapped-devices))
+                       (file-system
+                         (device (uuid "1234-ABCD" 'fat))
+                         (mount-point "/boot/efi")
+                         (type "vfat")))
+                 %base-file-systems))
 
   (users (cons (user-account
                 (name "bob")
@@ -42,17 +47,20 @@
                %base-user-accounts))
 
   ;; This is where we specify system-wide packages.
-  (packages (cons* nss-certs         ;for HTTPS access
-                   gvfs              ;for user mounts
-                   %base-packages))
+  (packages (append (list
+                     ;; for HTTPS access
+                     nss-certs
+                     ;; for user mounts
+                     gvfs)
+                    %base-packages))
 
   ;; Add GNOME and/or Xfce---we can choose at the log-in
   ;; screen with F1.  Use the "desktop" services, which
   ;; include the X11 log-in service, networking with
   ;; NetworkManager, and more.
-  (services (cons* (gnome-desktop-service)
-                   (xfce-desktop-service)
-                   %desktop-services))
+  (services (append (list (gnome-desktop-service)
+                          (xfce-desktop-service))
+                    %desktop-services))
 
   ;; Allow resolution of '.local' host names with mDNS.
   (name-service-switch %mdns-host-lookup-nss))
diff --git a/gnu/system/examples/docker-image.tmpl b/gnu/system/examples/docker-image.tmpl
index d73187398f..9690d651c1 100644
--- a/gnu/system/examples/docker-image.tmpl
+++ b/gnu/system/examples/docker-image.tmpl
@@ -44,4 +44,4 @@
                         (type "does-not-matter"))))
 
   ;; Guix is all you need!
-  (services (list (guix-service))))
+  (services (list (service guix-service-type))))
diff --git a/gnu/system/examples/lightweight-desktop.tmpl b/gnu/system/examples/lightweight-desktop.tmpl
index 360ee62ffe..a234badd2b 100644
--- a/gnu/system/examples/lightweight-desktop.tmpl
+++ b/gnu/system/examples/lightweight-desktop.tmpl
@@ -19,15 +19,16 @@
 
   ;; Assume the target root file system is labelled "my-root",
   ;; and the EFI System Partition has UUID 1234-ABCD.
-  (file-systems (cons* (file-system
+  (file-systems (append
+                 (list (file-system
                          (device (file-system-label "my-root"))
                          (mount-point "/")
                          (type "ext4"))
                        (file-system
                          (device (uuid "1234-ABCD" 'fat))
                          (mount-point "/boot/efi")
-                         (type "vfat"))
-                       %base-file-systems))
+                         (type "vfat")))
+                 %base-file-systems))
 
   (users (cons (user-account
                 (name "alice")
@@ -40,9 +41,12 @@
 
   ;; Add a bunch of window managers; we can choose one at
   ;; the log-in screen with F1.
-  (packages (cons* ratpoison i3-wm i3status dmenu ;window managers
-                   nss-certs                      ;for HTTPS access
-                   %base-packages))
+  (packages (append (list
+                     ;; window managers
+                     ratpoison i3-wm i3status dmenu
+                     ;; for HTTPS access
+                     nss-certs)
+                    %base-packages))
 
   ;; Use the "desktop" services, which include the X11
   ;; log-in service, networking with NetworkManager, and more.
diff --git a/gnu/system/examples/vm-image.tmpl b/gnu/system/examples/vm-image.tmpl
index 36e272722d..4d292c1bc6 100644
--- a/gnu/system/examples/vm-image.tmpl
+++ b/gnu/system/examples/vm-image.tmpl
@@ -24,6 +24,8 @@ partprobe, and then 2) resizing the filesystem with resize2fs.\n"))
   (timezone "Etc/UTC")
   (locale "en_US.utf8")
 
+  (firmware '())
+
   ;; Assuming /dev/sdX is the target hard disk, and "my-root" is
   ;; the label of the target root file system.
   (bootloader (bootloader-configuration
@@ -42,10 +44,12 @@ partprobe, and then 2) resizing the filesystem with resize2fs.\n"))
   (users %base-user-accounts)
 
   ;; Globally-installed packages.
-  (packages (cons* nvi fdisk
-                   grub   ; mostly so xrefs to its manual work
-                   parted ; partprobe
-                   %base-packages))
+  (packages (append (list nvi fdisk
+                          ;; mostly so xrefs to its manual work
+                          grub
+                          ;; partprobe
+                          parted)
+                    %base-packages))
 
   (services (modify-services %base-services
               (login-service-type config =>
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index c345ba0626..880a8be32d 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
@@ -22,16 +22,22 @@
 
 (define-module (gnu system install)
   #:use-module (gnu)
+  #:use-module (gnu system)
   #:use-module (gnu bootloader u-boot)
   #:use-module (guix gexp)
   #:use-module (guix store)
   #:use-module (guix monads)
   #:use-module ((guix store) #:select (%store-prefix))
+  #:use-module (gnu installer)
+  #:use-module (gnu services dbus)
+  #:use-module (gnu services networking)
   #:use-module (gnu services shepherd)
   #:use-module (gnu services ssh)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages bootloaders)
+  #:use-module (gnu packages fonts)
+  #:use-module (gnu packages fontutils)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages ssh)
@@ -223,9 +229,10 @@ You have been warned.  Thanks for being so brave.\x1b[0m
 
     (list (service virtual-terminal-service-type)
 
-          (mingetty-service (mingetty-configuration
-                             (tty "tty1")
-                             (auto-login "root")))
+          (service kmscon-service-type
+                   (kmscon-configuration
+                    (virtual-terminal "tty1")
+                    (login-program (installer-program))))
 
           (login-service (login-configuration
                           (motd motd)))
@@ -250,10 +257,11 @@ You have been warned.  Thanks for being so brave.\x1b[0m
           ;; The usual services.
           (syslog-service)
 
-          ;; The build daemon.  Register the official server keys as trusted.
+          ;; The build daemon.  Register the hydra.gnu.org key as trusted.
           ;; This allows the installation process to use substitutes by
           ;; default.
-          (guix-service (guix-configuration (authorize-key? #t)))
+          (service guix-service-type
+                   (guix-configuration (authorize-key? #t)))
 
           ;; Start udev so that useful device nodes are available.
           ;; Use device-mapper rules for cryptsetup & co; enable the CRDA for
@@ -273,7 +281,7 @@ You have been warned.  Thanks for being so brave.\x1b[0m
                         '("tty1" "tty2" "tty3" "tty4" "tty5" "tty6")))
 
           ;; To facilitate copy/paste.
-          (gpm-service)
+          (service gpm-service-type)
 
           ;; Add an SSH server to facilitate remote installs.
           (service openssh-service-type
@@ -306,6 +314,12 @@ You have been warned.  Thanks for being so brave.\x1b[0m
                                             (requirement '())
                                             (provision '(loopback)))))
 
+          (service wpa-supplicant-service-type)
+          (dbus-service)
+          (service connman-service-type
+                   (connman-configuration
+                    (disable-vpn? #t)))
+
           ;; Keep a reference to BARE-BONES-OS to make sure it can be
           ;; installed without downloading/building anything.  Also keep the
           ;; things needed by 'profile-derivation' to minimize the amount of
@@ -380,6 +394,8 @@ You have been warned.  Thanks for being so brave.\x1b[0m
 
     (packages (cons* (canonical-package glibc) ;for 'tzselect' & co.
                      parted gptfdisk ddrescue
+                     fontconfig
+                     font-dejavu font-gnu-unifont
                      grub                  ;mostly so xrefs to its manual work
                      cryptsetup
                      mdadm
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 9400e6310d..088b582bcd 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -30,7 +30,6 @@
   #:use-module (guix monads)
   #:use-module (guix records)
   #:use-module (guix modules)
-  #:use-module (guix scripts pack)
   #:use-module (guix utils)
   #:use-module (gcrypt hash)
   #:use-module (guix base32)