doc: Add "lightweight desktop" OS config example.

* gnu/system/examples/desktop.tmpl (packages): Remove XFCE and
RATPOISON.
(services): Add 'gnome-desktop-service' and 'xfce-desktop-service'.
* gnu/system/examples/lightweight-desktop.tmpl: New file.
* Makefile.am (EXAMPLES): Add it.
* doc.am (OS_CONFIG_EXAMPLES_TEXI): Add
doc/os-config-lightweight-desktop.texi.
* gnu/system/install.scm (/etc/configuration-files)[directory]: Add
lightweight-desktop.tmpl.
This commit is contained in:
Ludovic Courtès 2016-03-22 23:48:21 +01:00
parent d26e19671e
commit d038b674cf
7 changed files with 75 additions and 15 deletions

1
.gitignore vendored
View file

@ -123,3 +123,4 @@ Makefile.in
config.cache config.cache
stamp-h[0-9] stamp-h[0-9]
tmp tmp
/doc/os-config-lightweight-desktop.texi

View file

@ -183,7 +183,8 @@ KCONFIGS = \
# Templates, examples. # Templates, examples.
EXAMPLES = \ EXAMPLES = \
gnu/system/examples/bare-bones.tmpl \ 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 GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go guix/tests.go

3
doc.am
View file

@ -47,7 +47,8 @@ EXTRA_DIST += \
OS_CONFIG_EXAMPLES_TEXI = \ OS_CONFIG_EXAMPLES_TEXI = \
doc/os-config-bare-bones.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. # Bundle this file so that makeinfo finds it in out-of-source-tree builds.
BUILT_SOURCES += $(OS_CONFIG_EXAMPLES_TEXI) BUILT_SOURCES += $(OS_CONFIG_EXAMPLES_TEXI)

View file

@ -6218,13 +6218,21 @@ to create a new configuration which has the same values as the old
configuration, but with a few modifications. configuration, but with a few modifications.
The configuration for a typical ``desktop'' usage, with the X11 display The configuration for a typical ``desktop'' usage, with the X11 display
server, a desktop environment, network management, power management, and server, GNOME and Xfce (users can choose which of these desktop
more, would look like this: environments to use at the log-in screen by pressing @kbd{F1}), network
management, power management, and more, would look like this:
@lisp @lisp
@include os-config-desktop.texi @include os-config-desktop.texi
@end lisp @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 @xref{Desktop Services}, for the exact list of services provided by
@var{%desktop-services}. @xref{X.509 Certificates}, for background @var{%desktop-services}. @xref{X.509 Certificates}, for background
information about the @code{nss-certs} package that is used here. information about the @code{nss-certs} package that is used here.

View file

@ -1,9 +1,9 @@
;; This is an operating system configuration template ;; 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-modules (gnu) (gnu system nss))
(use-service-modules desktop) (use-service-modules desktop)
(use-package-modules xfce ratpoison certs) (use-package-modules certs)
(operating-system (operating-system
(host-name "antelope") (host-name "antelope")
@ -29,15 +29,17 @@
(home-directory "/home/bob")) (home-directory "/home/bob"))
%base-user-accounts)) %base-user-accounts))
;; Add Xfce and Ratpoison; that allows us to choose ;; This is where we specify system-wide packages.
;; sessions using either of these at the log-in screen. (packages (cons* nss-certs ;for HTTPS access
(packages (cons* xfce ratpoison ;desktop environments
nss-certs ;for HTTPS access
%base-packages)) %base-packages))
;; Use the "desktop" services, which include the X11 ;; Add GNOME and/or Xfce---we can choose at the log-in
;; log-in service, networking with Wicd, and more. ;; screen with F1. Use the "desktop" services, which
(services %desktop-services) ;; 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. ;; Allow resolution of '.local' host names with mDNS.
(name-service-switch %mdns-host-lookup-nss)) (name-service-switch %mdns-host-lookup-nss))

View file

@ -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))

View file

@ -215,9 +215,11 @@ (define directory
(string-append #$output "/" (string-append #$output "/"
target))) target)))
'(#$(file "bare-bones.tmpl") '(#$(file "bare-bones.tmpl")
#$(file "desktop.tmpl")) #$(file "desktop.tmpl")
#$(file "lightweight-desktop.tmpl"))
'("bare-bones.scm" '("bare-bones.scm"
"desktop.scm")) "desktop.scm"
"lightweight-desktop.scm"))
#t) #t)
#:modules '((guix build utils)))) #:modules '((guix build utils))))