diff options
| author | Dan Rostovtsev <dan@rostovtsev.org> | 2026-03-15 19:10:43 -0400 |
|---|---|---|
| committer | Dan Rostovtsev <dan@rostovtsev.org> | 2026-03-15 19:10:43 -0400 |
| commit | 9f434b57b7fc477894e52c47a6cf565da3b43b2d (patch) | |
| tree | 9ce55a5fdd5f1d2c4069d8ca56da0985d6448c3c /doc/examples/guix-on-linode.scm | |
| parent | 9a2d526cd356b216098964e4939198532b1a2bdf (diff) | |
Added instructions for deploying machine configurations.linode-image-docs
Diffstat (limited to 'doc/examples/guix-on-linode.scm')
| -rw-r--r-- | doc/examples/guix-on-linode.scm | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/doc/examples/guix-on-linode.scm b/doc/examples/guix-on-linode.scm new file mode 100644 index 00000000000..56acf53b640 --- /dev/null +++ b/doc/examples/guix-on-linode.scm @@ -0,0 +1,50 @@ +;; 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 similarly 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))) |
