summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Rostovtsev <dan@rostovtsev.org>2026-03-15 15:46:15 -0400
committerDan Rostovtsev <dan@rostovtsev.org>2026-03-15 15:46:15 -0400
commit9a2d526cd356b216098964e4939198532b1a2bdf (patch)
treeabe9e26fd2761b3ceaea343f42c83f78a8f536b5
parentff3db6c51d6665577f6c299036940511f998b851 (diff)
Example config in documentation folder
-rw-r--r--doc/examples/cloud-guix.scm49
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)))