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/desktop.tmpl20
-rw-r--r--gnu/system/examples/lightweight-desktop.tmpl45
-rw-r--r--gnu/system/install.scm39
3 files changed, 84 insertions, 20 deletions
diff --git a/gnu/system/examples/desktop.tmpl b/gnu/system/examples/desktop.tmpl
index 07183a533b..2fcf90f8b1 100644
--- a/gnu/system/examples/desktop.tmpl
+++ b/gnu/system/examples/desktop.tmpl
@@ -1,9 +1,9 @@
 ;; This is an operating system configuration template
-;; for a "desktop" setup with X11.
+;; for a "desktop" setup with GNOME and Xfce.
 
 (use-modules (gnu) (gnu system nss))
 (use-service-modules desktop)
-(use-package-modules xfce ratpoison certs)
+(use-package-modules certs)
 
 (operating-system
   (host-name "antelope")
@@ -29,15 +29,17 @@
                 (home-directory "/home/bob"))
                %base-user-accounts))
 
-  ;; Add Xfce and Ratpoison; that allows us to choose
-  ;; sessions using either of these at the log-in screen.
-  (packages (cons* xfce ratpoison    ;desktop environments
-                   nss-certs         ;for HTTPS access
+  ;; This is where we specify system-wide packages.
+  (packages (cons* nss-certs         ;for HTTPS access
                    %base-packages))
 
-  ;; Use the "desktop" services, which include the X11
-  ;; log-in service, networking with Wicd, and more.
-  (services %desktop-services)
+  ;; 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 Wicd,
+  ;; and more.
+  (services (cons* (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/lightweight-desktop.tmpl b/gnu/system/examples/lightweight-desktop.tmpl
new file mode 100644
index 0000000000..7cb461f2b9
--- /dev/null
+++ b/gnu/system/examples/lightweight-desktop.tmpl
@@ -0,0 +1,45 @@
+;; This is an operating system configuration template
+;; for a "desktop" setup without full-blown desktop
+;; environments.
+
+(use-modules (gnu) (gnu system nss))
+(use-service-modules desktop)
+(use-package-modules wm ratpoison certs)
+
+(operating-system
+  (host-name "antelope")
+  (timezone "Europe/Paris")
+  (locale "en_US.UTF-8")
+
+  ;; Assuming /dev/sdX is the target hard disk, and "my-root"
+  ;; is the label of the target root file system.
+  (bootloader (grub-configuration (device "/dev/sdX")))
+
+  (file-systems (cons (file-system
+                        (device "my-root")
+                        (title 'label)
+                        (mount-point "/")
+                        (type "ext4"))
+                      %base-file-systems))
+
+  (users (cons (user-account
+                (name "alice")
+                (comment "Bob's brother")
+                (group "users")
+                (supplementary-groups '("wheel" "netdev"
+                                        "audio" "video"))
+                (home-directory "/home/alice"))
+               %base-user-accounts))
+
+  ;; Add a bunch of window managers; we can choose one at
+  ;; the log-in screen with F1.
+  (packages (cons* ratpoison i3-wm xmonad  ;window managers
+                   nss-certs               ;for HTTPS access
+                   %base-packages))
+
+  ;; Use the "desktop" services, which include the X11
+  ;; log-in service, networking with Wicd, and more.
+  (services %desktop-services)
+
+  ;; Allow resolution of '.local' host names with mDNS.
+  (name-service-switch %mdns-host-lookup-nss))
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index b380716b69..a94e3ab2d5 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -111,7 +111,7 @@ manual."
                     ;; 'gunzip' is needed to decompress the doc.
                     (setenv "PATH" (string-append #$gzip "/bin"))
 
-                    (execl (string-append #$texinfo-4 "/bin/info") "info"
+                    (execl (string-append #$info-reader "/bin/info") "info"
                            "-d" "/run/current-system/profile/share/info"
                            "-f" (string-append #$guix "/share/info/guix.info")
                            "-n" "System Installation"))))
@@ -215,9 +215,11 @@ the user's target storage device rather than on the RAM disk."
                                               (string-append #$output "/"
                                                              target)))
                                  '(#$(file "bare-bones.tmpl")
-                                   #$(file "desktop.tmpl"))
+                                   #$(file "desktop.tmpl")
+                                   #$(file "lightweight-desktop.tmpl"))
                                  '("bare-bones.scm"
-                                   "desktop.scm"))
+                                   "desktop.scm"
+                                   "lightweight-desktop.scm"))
                        #t)
                    #:modules '((guix build utils))))
 
@@ -338,17 +340,33 @@ Use Alt-F2 for documentation.
     (file-systems
      ;; Note: the disk image build code overrides this root file system with
      ;; the appropriate one.
-     (cons (file-system
-             (mount-point "/")
-             (device "gnu-disk-image")
-             (title 'label)
-             (type "ext4"))
-           %base-file-systems))
+     (cons* (file-system
+              (mount-point "/")
+              (device "gnu-disk-image")
+              (title 'label)
+              (type "ext4"))
+
+            ;; Make /tmp a tmpfs instead of keeping the unionfs.  This is
+            ;; because FUSE creates '.fuse_hiddenXYZ' files for each open file,
+            ;; and this confuses Guix's test suite, for instance.  See
+            ;; <http://bugs.gnu.org/23056>.
+            (file-system
+              (mount-point "/tmp")
+              (device "none")
+              (title 'device)
+              (type "tmpfs")
+              (check? #f))
+
+            ;; XXX: This should be %BASE-FILE-SYSTEMS but we don't need
+            ;; elogind's cgroup file systems.
+            (list %pseudo-terminal-file-system
+                  %shared-memory-file-system
+                  %immutable-store)))
 
     (users (list (user-account
                   (name "guest")
                   (group "users")
-                  (supplementary-groups '("wheel"))  ; allow use of sudo
+                  (supplementary-groups '("wheel")) ; allow use of sudo
                   (password "")
                   (comment "Guest of GNU")
                   (home-directory "/home/guest"))))
@@ -366,7 +384,6 @@ Use Alt-F2 for documentation.
      (base-pam-services #:allow-empty-passwords? #t))
 
     (packages (cons* (canonical-package glibc) ;for 'tzselect' & co.
-                     texinfo-4                 ;for the standalone Info reader
                      parted ddrescue
                      grub                  ;mostly so xrefs to its manual work
                      cryptsetup