diff options
author | Marek Paśnikowski <marek@marekpasnikowski.pl> | 2024-07-31 11:41:56 +0200 |
---|---|---|
committer | Marek Paśnikowski <marek@marekpasnikowski.pl> | 2024-07-31 11:41:56 +0200 |
commit | 5172ed1b3c6cd07364e103b524f4ea6983b71b96 (patch) | |
tree | 874cee3472a3b6679816bcd341ba0ea41398edc9 /machines | |
parent | 1771bd6269a01f8a6b5375f51bd1e227cde947e8 (diff) |
feat(deployment): install Guix to a next machine
Diffstat (limited to 'machines')
-rw-r--r-- | machines/inspiron.scm | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/machines/inspiron.scm b/machines/inspiron.scm new file mode 100644 index 0000000..ff7f8bc --- /dev/null +++ b/machines/inspiron.scm @@ -0,0 +1,66 @@ +(define-module (machines inspiron) + ;; bootloader-configuration + #:use-module (gnu bootloader) + + ;; grub-bootloader + #:use-module (gnu bootloader grub) + + ;; file-system + ;; swap-space + #:use-module (gnu system file-systems) + + ;; linux + ;; linux-firmware + #:use-module (nongnu packages linux) + + ;; microcode-initrd + #:use-module (nongnu system linux-initrd)) + +;; bootloader-configuration +(define-public (bootloader-configuration* keyboard-layout*) + (let ((bootloader* grub-bootloader) + (bootloader-targets (list "/dev/sda")) ; TODO: generalize the target + ) + (bootloader-configuration (bootloader bootloader*) + (targets bootloader-targets) + (keyboard-layout keyboard-layout*)))) + +;; string -> +;; (list record* file-system) +(define-public (file-systems* host-name*) + (let* ((root-device-string (string-append host-name* "-root")) + + (root-device (file-system-label root-device-string)) + + (file-system-root (file-system (type "ext4") + (mount-point "/") + (device root-device)))) + (list file-system-root))) + +;; (list record* package) +(define-public firmware* + (list linux-firmware)) + +;; (list string) +(define-public hardware-groups + (list "audio" + "netdev" + "video")) + +;; record* package +(define-public initrd* + microcode-initrd) + +;; record* package +(define-public kernel* + linux) + +;; string -> +;; (list record* swap-space) +(define-public (swap-devices* host-name*) + (let* ((label* (string-append host-name* "-swap")) + + (target* (file-system-label label*)) + + (swap-space* (swap-space (target target*)))) + (list swap-space*))) |