;; This is an operating system configuration for a VM image. ;; Modify it as you see fit and instantiate the changes by running: ;; ;; guix system reconfigure /etc/config.scm ;; (use-modules (gnu) (srfi srfi-1)) (use-service-modules xorg desktop) (use-package-modules bootloaders nvi wget xorg) (define vm-image-motd (plain-file "motd" " \x1b[1;37mThis is the GNU system. Welcome!\x1b[0m This instance of Guix is a template for virtualized environments. You can reconfigure the whole system by adjusting /etc/config.scm and running: guix system reconfigure /etc/config.scm \x1b[1;33mConsider setting a password for the 'root' and 'guest' \ accounts.\x1b[0m ")) (define this-file (local-file "./vm-live.tmpl" "config.scm")) (operating-system (host-name "gnu") (timezone "Etc/UTC") (locale "en_US.utf8") (keyboard-layout (keyboard-layout "us" "altgr-intl")) (bootloader (bootloader-configuration (bootloader grub-bootloader) (target "/dev/sda") (terminal-outputs '(console)))) (file-systems (cons (file-system (mount-point "/") (device "/dev/vda") (type "ext4")) %base-file-systems)) (users (cons (user-account (name "guest") (comment "GNU Guix Live") (password "") ;no password (group "users") (supplementary-groups '("wheel" "netdev" "audio" "video"))) %base-user-accounts)) (packages (cons* nvi wget %base-packages)) (services (cons* (service xfce-desktop-service-type) ;; Copy this file to /etc/config.scm in the OS. (simple-service 'config-file etc-service-type `(("config.scm" ,this-file))) ;; Choose SLiM, which is lighter than the default GDM. (service slim-service-type (slim-configuration (auto-login? #t) (default-user "guest") (xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout))))) (remove (lambda (service) (eq? gdm-service-type (service-kind service))) (modify-services %desktop-services (login-service-type config => (login-configuration (inherit config) (motd vm-image-motd))))))) ;; Allow resolution of '.local' host names with mDNS. (name-service-switch %mdns-host-lookup-nss))