diff options
Diffstat (limited to 'doc/examples/cloud-guix.scm')
| -rw-r--r-- | doc/examples/cloud-guix.scm | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/doc/examples/cloud-guix.scm b/doc/examples/cloud-guix.scm new file mode 100644 index 00000000000..3d4bde024fd --- /dev/null +++ b/doc/examples/cloud-guix.scm @@ -0,0 +1,49 @@ +;; Most cloud service providers use qemu / cloud-init to run images inside +;; inside of a virtual machine. This example was written for the "linode" +;; tutorial originally, but it should apply to other cloud services as well. + +(use-modules (gnu) + (guix modules)) +(use-service-modules networking + ssh) +(use-package-modules admin + package-management + ssh + tls) + +;; if you want to add new packages, services and users later, you can +;; use "guix deploy" +(operating-system + (host-name "localhost") + (timezone "UTC") + (locale "en_US.UTF-8") + + (bootloader (bootloader-configuration (bootloader grub-bootloader))) + + ;; we configure our bootable guix system to be on device "/dev/sda" + ;; if you want to use a different device, change it here + (file-systems (cons (file-system + (device "/dev/sda") + (mount-point "/") + (type "ext4")) + %base-file-systems)) + + + ;; our swap is assumed to be /dev/sdb. + ;; if your vm will have a different swap device, change it here + (swap-devices (list "/dev/sdb")) + + (initrd-modules (cons "virtio_scsi" ; Needed to find the disk + %base-initrd-modules)) + + (packages (cons* %base-packages)) + + (services (cons* + (service dhcp-client-service-type) + (service openssh-service-type + (openssh-configuration + (password-authentication? #f) + (permit-root-login 'prohibit-password) + (authorized-keys + `(("root" ,(local-file "/path/to/key.pub")))))) + %base-services))) |
