aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--Makefile.am3
-rw-r--r--doc.am3
-rw-r--r--doc/guix.texi12
-rw-r--r--gnu/system/examples/desktop.tmpl20
-rw-r--r--gnu/system/examples/lightweight-desktop.tmpl45
-rw-r--r--gnu/system/install.scm6
7 files changed, 75 insertions, 15 deletions
diff --git a/.gitignore b/.gitignore
index b5bbbaabdb..003412eeab 100644
--- a/.gitignore
+++ b/.gitignore
@@ -123,3 +123,4 @@ Makefile.in
config.cache
stamp-h[0-9]
tmp
+/doc/os-config-lightweight-desktop.texi
diff --git a/Makefile.am b/Makefile.am
index a9c281d4d1..06700def93 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -183,7 +183,8 @@ KCONFIGS = \
# Templates, examples.
EXAMPLES = \
gnu/system/examples/bare-bones.tmpl \
- gnu/system/examples/desktop.tmpl
+ gnu/system/examples/desktop.tmpl \
+ gnu/system/examples/lightweight-desktop.tmpl
GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go guix/tests.go
diff --git a/doc.am b/doc.am
index 8356ffa2dd..b9f07c3590 100644
--- a/doc.am
+++ b/doc.am
@@ -47,7 +47,8 @@ EXTRA_DIST += \
OS_CONFIG_EXAMPLES_TEXI = \
doc/os-config-bare-bones.texi \
- doc/os-config-desktop.texi
+ doc/os-config-desktop.texi \
+ doc/os-config-lightweight-desktop.texi
# Bundle this file so that makeinfo finds it in out-of-source-tree builds.
BUILT_SOURCES += $(OS_CONFIG_EXAMPLES_TEXI)
diff --git a/doc/guix.texi b/doc/guix.texi
index 913545f1a7..186b8502e2 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -6218,13 +6218,21 @@ to create a new configuration which has the same values as the old
configuration, but with a few modifications.
The configuration for a typical ``desktop'' usage, with the X11 display
-server, a desktop environment, network management, power management, and
-more, would look like this:
+server, GNOME and Xfce (users can choose which of these desktop
+environments to use at the log-in screen by pressing @kbd{F1}), network
+management, power management, and more, would look like this:
@lisp
@include os-config-desktop.texi
@end lisp
+A graphical environment with a choice of lightweight window managers
+instead of full-blown desktop environments would look like this:
+
+@lisp
+@include os-config-lightweight-desktop.texi
+@end lisp
+
@xref{Desktop Services}, for the exact list of services provided by
@var{%desktop-services}. @xref{X.509 Certificates}, for background
information about the @code{nss-certs} package that is used here.
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..d6434fd00d 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -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))))