mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-18 12:47:33 -05:00
4b236c88ea
* gnu/system/examples/vm-image.tmpl: New file. * Makefile.am (GUIXSD_VM_SYSTEMS, GUIXSD_VM_IMAGE_BASE, GUIXSD_VM_IMAGE_SIZE): New variables. (release): Add logic to build a VM image. (EXAMPLES): Add 'gnu/system/examples/vm-image.tmpl'. * doc/guix.texi (Running GuixSD in a VM, Installing GuixSD in a VM): Mention the pre-built VM image.
53 lines
1.9 KiB
Cheetah
53 lines
1.9 KiB
Cheetah
;;; 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))))))
|