;;; SPDX-License-Identifier: GPL-3.0-or-later ;;; SPDX-FileCopyrightText: 2024-2025 Marek Paśnikowski (define-module (deployment systems akashi) #:use-module (guix gexp) #:use-module ((deployment keys) #:prefix deployment:keys:) #:use-module ((gnu packages linux) #:prefix gnu:packages:linux:) #:use-module ((gnu services) #:prefix gnu:services:) #:use-module ((gnu services base) #:prefix gnu:services:base:) #:use-module ((gnu services guix) #:prefix gnu:services:guix:) #:use-module ((gnu system) #:prefix gnu:system:) #:use-module ((gnu system file-systems) #:prefix gnu:system:file-systems:) #:use-module ((machines thinkpad-x200) #:prefix machines:thinkpad-x200:) #:use-module ((sovereign systems) #:prefix sovereign:systems:) #:use-module (users id1000)) (define root-partition ((@ (gnu system file-systems) file-system) (mount-point "/") (device ((@ (gnu system file-systems) file-system-label) "akashi-root")) (type "ext4"))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define host-name* "akashi") (define (file-systems) (cons* root-partition gnu:system:file-systems:%base-file-systems)) (define keyboard-layout* ((@ (gnu system keyboard) keyboard-layout) "pl")) (define offload-hub #~(build-machine (name "marekpasnikowski.pl") (systems (list "x86_64-linux" "i686-linux")) (user "marek") (host-key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM0Eh0q54myeSEironEP9DEKl+ownYuH7oSgAVuLIDNt root@aisaka") (port 23) (private-key "/home/marek/.ssh/id_ed25519"))) (define guix-offload-targets (gnu:services:base:guix-extension (authorized-keys (list deployment:keys:aisaka-guix)) (build-machines (list offload-hub)))) (define offload-extension (gnu:services:simple-service 'offload-extension gnu:services:base:guix-service-type guix-offload-targets)) (define (services) (let* ( (home-environments `((,uid1000-name ,uid1000-home-environment))) (guix-home (gnu:services:service gnu:services:guix:guix-home-service-type home-environments))) (append sovereign:systems:%sovereign-services (list guix-home offload-extension)))) (define users (list uid1000-account)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define-public operating-system* (gnu:system:operating-system (kernel gnu:packages:linux:linux-libre) (kernel-arguments (cons* "thinkpad_acpi.fan_control=1" "thinkpad_acpi.fan='level 7'" gnu:system:%default-kernel-arguments)) (bootloader (machines:thinkpad-x200:bootloader-configuration* keyboard-layout*)) (label (sovereign:systems:operating-system-label* host-name* (gnu:system:operating-system-default-label gnu:system:this-operating-system))) (keyboard-layout keyboard-layout*) (host-name host-name*) (file-systems (file-systems)) (swap-devices (machines:thinkpad-x200:swap-devices* host-name*)) (users users) (timezone "Europe/Warsaw") (locale sovereign:systems:pl-locale) (locale-definitions sovereign:systems:%sovereign-locale-definitions) (services (services)) (sudoers-file sovereign:systems:%sovereign-sudoers-specification)))