diff options
Diffstat (limited to 'machines')
-rw-r--r-- | machines/thinkpad-x200.scm | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/machines/thinkpad-x200.scm b/machines/thinkpad-x200.scm new file mode 100644 index 0000000..4e86398 --- /dev/null +++ b/machines/thinkpad-x200.scm @@ -0,0 +1,66 @@ +(define-module (machines thinkpad-x200) + ;; 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*))) |