(define-module (systems ayase) #:use-module ((suweren services) #:prefix suweren-services:) #:use-module (users id1000)) (define efi-filesystem-uuid ((@ (gnu system uuid) uuid) "B4FB-CBD9" 'fat32)) (define host-name "ayase") (define (label number) ((@ (gnu system file-systems) file-system-label) (string-append host-name "-swap" number))) (define root-filesystem-uuid ((@ (gnu system file-systems) uuid) "615a98cd-a632-4ee5-a6f4-e5ebcaa6fb8c")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define efi-partition ((@ (gnu system file-systems) file-system) (mount-point "/boot/efi") (device efi-filesystem-uuid) (type "vfat"))) (define (gc-workaround-service) (use-modules (gnu packages) (gnu packages bootloaders) (gnu packages ibus) (gnu packages python-build) (gnu packages ruby) (gnu services)) (let ((ibus-doc (specification->package+output "ibus" "doc"))) (simple-service 'gc-workaround profile-service-type (list grub ibus ibus-doc python-pip ruby)))) (define (home-services) (use-modules (gnu services guix)) (let ((uid1000-home-environment* (uid1000-home-environment host-name))) ((@ (gnu services) service) guix-home-service-type `((,uid1000-name ,uid1000-home-environment*))))) (define keyboard-layout ((@ (gnu system keyboard) keyboard-layout) "pl")) (define (libvirt-service) (use-modules (gnu services virtualization)) ((@ (gnu services) service) libvirt-service-type)) (define (virtlog-service) (use-modules (gnu services virtualization)) ((@ (gnu services) service) virtlog-service-type)) (define (openssh-service) (use-modules (gnu services ssh)) ((@ (gnu services) service) openssh-service-type)) (define root-partition ((@ (gnu system file-systems) file-system) (mount-point "/") (device root-filesystem-uuid) (type "ext4"))) (define (swap-label number) (let ((target-label (label number))) ((@ (gnu system file-systems) swap-space) (target target-label)))) (define (system-packages-service) (use-modules (gnu packages gnome) (gnu packages gnupg) (gnu packages kde-pim) (gnu services)) (simple-service 'system-packages profile-service-type (list gnome-boxes kgpg pinentry-qt pinentry-tty))) (define (tor-service) (use-modules (gnu services) (gnu services networking)) ((@ (gnu services) service) tor-service-type)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define (bootloader) (use-modules (gnu bootloader grub)) ((@ (gnu bootloader) bootloader-configuration) (bootloader grub-efi-bootloader) (targets (list "/boot/efi")) (keyboard-layout keyboard-layout))) (define (file-systems) (use-modules (gnu system file-systems)) (append %base-file-systems (list root-partition efi-partition))) (define services (append suweren-services:%distribution-services (list (gc-workaround-service) (home-services) (libvirt-service) (openssh-service) (system-packages-service) (tor-service) (virtlog-service)))) (define swap-device-1 (swap-label "-1")) (define swap-device-2 (swap-label "-2")) (define (users) (use-modules (gnu system accounts)) (append (@ (gnu system shadow) %base-user-accounts) (list uid1000-account))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define (operating-system*) (use-modules (nongnu packages linux) (nongnu system linux-initrd) (gnu system keyboard) (suweren commons sudoers) (suweren system)) ((@ (gnu system) operating-system) (kernel linux) (bootloader (bootloader)) (keyboard-layout keyboard-layout) (initrd microcode-initrd) (firmware (list linux-firmware)) (host-name host-name) (file-systems (file-systems)) (swap-devices (list swap-device-1 swap-device-2)) (users (users)) (timezone "Europe/Warsaw") (locale polish-locale-string) (locale-definitions %suweren-locale-definitions) (services services) (sudoers-file %sudoers-specification*))) (define-public operating-system* (operating-system*)) operating-system*