aboutsummaryrefslogtreecommitdiff
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