summary refs log tree commit diff
path: root/gnu/system/examples
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/system/examples')
-rw-r--r--gnu/system/examples/lightweight-desktop.tmpl30
-rw-r--r--gnu/system/examples/vm-image.tmpl53
2 files changed, 72 insertions, 11 deletions
diff --git a/gnu/system/examples/lightweight-desktop.tmpl b/gnu/system/examples/lightweight-desktop.tmpl
index 389ec8574b..6fb6283d29 100644
--- a/gnu/system/examples/lightweight-desktop.tmpl
+++ b/gnu/system/examples/lightweight-desktop.tmpl
@@ -4,23 +4,31 @@
 
 (use-modules (gnu) (gnu system nss))
 (use-service-modules desktop)
-(use-package-modules wm ratpoison certs suckless)
+(use-package-modules bootloaders certs ratpoison suckless wm)
 
 (operating-system
   (host-name "antelope")
   (timezone "Europe/Paris")
   (locale "en_US.utf8")
 
-  ;; 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))
+  ;; Use the UEFI variant of GRUB with the EFI System
+  ;; Partition on /dev/sda1.
+  (bootloader (grub-configuration (grub grub-efi)
+                                  (device "/dev/sda1")))
+
+  ;; Assume the target root file system is labelled "my-root".
+  (file-systems (cons* (file-system
+                         (device "my-root")
+                         (title 'label)
+                         (mount-point "/")
+                         (type "ext4"))
+                       (file-system
+                         ;; Specify partition here since FAT
+                         ;; labels are currently unsupported.
+                         (device "/dev/sda1")
+                         (mount-point "/boot/efi")
+                         (type "vfat"))
+                       %base-file-systems))
 
   (users (cons (user-account
                 (name "alice")
diff --git a/gnu/system/examples/vm-image.tmpl b/gnu/system/examples/vm-image.tmpl
new file mode 100644
index 0000000000..57ac71c535
--- /dev/null
+++ b/gnu/system/examples/vm-image.tmpl
@@ -0,0 +1,53 @@
+;;; This is an operating system configuration template for a "bare-bones" setup,
+;;; suitable for booting in a virtualized environment, including virtual private
+;;; servers (VPS).
+
+(use-modules (gnu))
+(use-package-modules bootloaders disk nvi)
+
+(define vm-image-motd (plain-file "motd" "
+This is the GNU system.  Welcome!
+
+This instance of GuixSD is a bare-bones template for virtualized environments.
+
+You will probably want to do these things first if you booted in a virtual
+private server (VPS):
+
+* Set a password for 'root'.
+* Set up networking.
+* Expand the root partition to fill the space available by 0) deleting and
+recreating the partition with fdisk, 1) reloading the partition table with
+partprobe, and then 2) resizing the filesystem with resize2fs.\n"))
+
+(operating-system
+  (host-name "gnu")
+  (timezone "Etc/UTC")
+  (locale "en_US.utf8")
+
+  ;; 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/sda")
+                                  (terminal-outputs '(console))))
+  (file-systems (cons (file-system
+                        (device "my-root")
+                        (title 'label)
+                        (mount-point "/")
+                        (type "ext4"))
+                      %base-file-systems))
+
+  ;; This is where user accounts are specified.  The "root"
+  ;; account is implicit, and is initially created with the
+  ;; empty password.
+  (users %base-user-accounts)
+
+  ;; Globally-installed packages.
+  (packages (cons* nvi fdisk
+                   grub   ; mostly so xrefs to its manual work
+                   parted ; partprobe
+                   %base-packages))
+
+  (services (modify-services %base-services
+              (login-service-type config =>
+                                  (login-configuration
+                                    (inherit config)
+                                    (motd vm-image-motd))))))