From acc0861c5ed01b68f3b5ca3f04c03731f958fea3 Mon Sep 17 00:00:00 2001 From: Marek Paśnikowski Date: Fri, 18 Oct 2024 05:42:00 +0200 Subject: refactor(deployment): delocalize import of (users id1000) --- systems/akashi.scm | 11 ++- systems/ayase.scm | 9 ++- systems/izumi/izumi.scm | 10 +-- systems/mcdowell-old.scm | 168 ++++++++++++++++++++++++++++++++++++++++++++++ systems/mcdowell.scm | 169 ----------------------------------------------- 5 files changed, 182 insertions(+), 185 deletions(-) create mode 100644 systems/mcdowell-old.scm delete mode 100644 systems/mcdowell.scm diff --git a/systems/akashi.scm b/systems/akashi.scm index 0a4ebe3..0084d7f 100644 --- a/systems/akashi.scm +++ b/systems/akashi.scm @@ -1,4 +1,5 @@ -(define-module (systems akashi)) +(define-module (systems akashi) + #:use-module (users id1000)) (define root-partition ((@ (gnu system file-systems) file-system) @@ -33,8 +34,7 @@ 'adb-udev (@ (gnu packages android) android-udev-rules)))))) -(define (users) - (use-modules (users id1000)) +(define users (list uid1000-account)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -45,8 +45,7 @@ (machines thinkpad-x200) (nongnu packages linux) (suweren commons sudoers) - (suweren system) - (users id1000)) + (suweren system)) (let* ((patter-placeholder #f) (timezone* "Europe/Warsaw")) ((@ (gnu system) operating-system) @@ -56,7 +55,7 @@ (host-name host-name*) (file-systems (file-systems)) (swap-devices (swap-devices* host-name*)) - (users (users)) + (users users) (timezone timezone*) (locale polish-locale-string) (locale-definitions %suweren-locale-definitions) diff --git a/systems/ayase.scm b/systems/ayase.scm index 1c14e8d..f881268 100644 --- a/systems/ayase.scm +++ b/systems/ayase.scm @@ -1,4 +1,5 @@ -(define-module (systems ayase)) +(define-module (systems ayase) + #:use-module (users id1000)) (define efi-filesystem-uuid ((@ (gnu system uuid) uuid) @@ -43,8 +44,7 @@ ruby)))) (define (home-services) - (use-modules (gnu services guix) - (users id1000)) + (use-modules (gnu services guix)) (let ((uid1000-home-environment* (uid1000-home-environment host-name))) ((@ (gnu services) service) guix-home-service-type @@ -130,8 +130,7 @@ (swap-label "-2")) (define (users) - (use-modules (gnu system accounts) - (users id1000)) + (use-modules (gnu system accounts)) (append (@ (gnu system shadow) %base-user-accounts) (list uid1000-account))) diff --git a/systems/izumi/izumi.scm b/systems/izumi/izumi.scm index b7a10d8..809ccdc 100644 --- a/systems/izumi/izumi.scm +++ b/systems/izumi/izumi.scm @@ -1,4 +1,5 @@ -(define-module (systems izumi izumi)) +(define-module (systems izumi izumi) + #:use-module (users id1000)) (define radicale-keys "/secrets/radicale/keys") (define dovecot-keys "/secrets/dovecot") @@ -493,9 +494,9 @@ (define services-izumi (append (desktop-services-izumi) - (list (@ (users id1000) dkim-service) - (@ (users id1000) dovecot-service) - (@ (users id1000) smtp-service) + (list dkim-service + dovecot-service + smtp-service (certbot) (cgit-izumi) (etc-mailname) @@ -514,7 +515,6 @@ (define (users-izumi) (use-modules (gnu system shadow) - (users id1000) (users vmail)) (append %base-user-accounts (list uid1000-account diff --git a/systems/mcdowell-old.scm b/systems/mcdowell-old.scm new file mode 100644 index 0000000..f915087 --- /dev/null +++ b/systems/mcdowell-old.scm @@ -0,0 +1,168 @@ +(define-module (systems mcdowell-old) + #:use-module (users id1000)) + +(define host-name* + "mcdowell") + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(define install-grub-mcdowell + ((@ (guix gexp) gexp) + (lambda (bootloader device mount-point) + (let ((grub (string-append bootloader "/sbin/grub-install")) + (install-dir (string-append mount-point "/boot"))) + ;; Install GRUB on DEVICE which is mounted at MOUNT-POINT. If DEVICE + ;; is #f, then we populate the disk-image rooted at MOUNT-POINT. + (if device + (begin + ;; Tell 'grub-install' that there might be a LUKS-encrypted + ;; /boot or root partition. + (setenv "GRUB_ENABLE_CRYPTODISK" "y") + + ;; Hide potentially confusing messages from the user, such as + ;; "Installing for i386-pc platform." + (invoke/quiet grub + "--no-floppy" + "--target=x86_64-efi" + "--removable" + "--no-nvram" + "--boot-directory" + install-dir + "--efi-directory" + "/boot/efi") + + ;; (invoke/quiet grub + ;; "--no-floppy" + ;; "--target=i386-efi" + ;; "--removable" + ;; "--no-nvram" + ;; "--boot-directory" + ;; install-dir + ;; "--efi-directory" + ;; "/boot/efi") + + (invoke/quiet grub "--no-floppy" "--target=i386-pc" + "--boot-directory" install-dir + device)) + ;; When creating a disk-image, only install a font and GRUB modules. + (let* ((fonts (string-append install-dir "/grub/fonts"))) + (mkdir-p fonts) + (copy-file (string-append bootloader "/share/grub/unicode.pf2") + (string-append fonts "/unicode.pf2")) + (copy-recursively (string-append bootloader "/lib/") + install-dir))))))) + +(define home-environments-mcdowell + `((,uid1000-name ,(uid1000-home-environment host-name*)))) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(define bootloader-target-mcdowell + ((@ (machines amd64) bootloader-device-path) host-name*)) + +(define (desktop-services-mcdowell) + (use-modules (suweren system)) + %suweren-services) + +(define grub-custom-bootloader-mcdowell + (let + ((grub-mkrescue-bootloader (@ (gnu bootloader grub) grub-mkrescue-bootloader))) + ((@ (gnu bootloader) bootloader) + (inherit grub-mkrescue-bootloader) + (installer install-grub-mcdowell)))) + +(define keyboard-layout-mcdowell + ((@ (gnu system keyboard) keyboard-layout) + "pl")) + +(define (guix-home-service-mcdowell) + (use-modules (gnu services guix)) + ((@ (gnu services) service) + guix-home-service-type + home-environments-mcdowell)) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(define bootloader-mcdowell + ((@ (gnu bootloader) bootloader-configuration) + (bootloader grub-custom-bootloader-mcdowell) + (keyboard-layout keyboard-layout-mcdowell) + (targets (list bootloader-target-mcdowell)))) + +(define (label-mcdowell operating-system) + (let* + ((operating-system-default-label (@ (gnu system) operating-system-default-label)) + (default-label-string (operating-system-default-label operating-system))) + (string-append host-name* + ": " + default-label-string))) + +(define services-mcdowell + (append (desktop-services-mcdowell) + (list (guix-home-service-mcdowell)))) + +(define users-mcdowell + (list uid1000-account)) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(define-public operating-system* + (let + ((%base-groups (@ (gnu system shadow) %base-groups)) + (%base-packages (@ (gnu system) %base-packages)) + (%base-initrd-modules (@ (gnu system linux-initrd) %base-initrd-modules)) + (%default-issue (@@ (gnu system) %default-issue)) + (%default-kernel-arguments (@ (gnu system) %default-kernel-arguments)) + (%default-locale-libcs (@ (gnu system locale) %default-locale-libcs)) + (%default-nss (@ (gnu system nss) %default-nss)) + (%default-privileged-programs (@ (gnu system) %default-privileged-programs)) + (%setuid-programs (@ (gnu system) %setuid-programs)) + (%sudoers-specification* (@ (suweren commons sudoers) %sudoers-specification*)) + (%suweren-locale-definitions (@ (suweren system) %suweren-locale-definitions)) + (base-pam-services ((@ (gnu system pam) base-pam-services))) + (default-skeletons ((@ (gnu system shadow) default-skeletons))) + (file-systems* (@ (machines amd64) file-systems*)) + (firmware* (@ (machines amd64) firmware*)) + (initrd* (@ (machines amd64) initrd*)) + (kernel-amd64 (@ (machines amd64) kernel-amd64)) + (location-mcdowell (and=> ((@ (guix utils) current-source-location)) + (@ (guix utils) source-properties->location))) + (operating-system-default-essential-services (@ (gnu system) operating-system-default-essential-services)) + (polish-locale-string (@ (suweren system) polish-locale-string)) + (swap-devices* (@ (machines amd64) swap-devices*))) + ((@ (gnu system) operating-system) + (kernel kernel-amd64) + (kernel-loadable-modules (list)) + (kernel-arguments %default-kernel-arguments) + (hurd #f) + (bootloader bootloader-mcdowell) + (label (label-mcdowell (@ (gnu system) this-operating-system))) + (keyboard-layout keyboard-layout-mcdowell) + (initrd initrd*) + (initrd-modules %base-initrd-modules) + (firmware firmware*) + (host-name host-name*) + (mapped-devices (list)) + (file-systems (file-systems* host-name*)) + (swap-devices (swap-devices* host-name*)) + (users users-mcdowell) + (groups %base-groups) + (skeletons default-skeletons) + (issue %default-issue) + (packages %base-packages) + (timezone "Europe/Warsaw") + (locale polish-locale-string) + (locale-definitions %suweren-locale-definitions) + (locale-libcs %default-locale-libcs) + (name-service-switch %default-nss) + (essential-services (operating-system-default-essential-services (@ (gnu system) this-operating-system))) + (services services-mcdowell) + (pam-services base-pam-services) + (privileged-programs %default-privileged-programs) + (setuid-programs %setuid-programs) + (sudoers-file %sudoers-specification*) + (location location-mcdowell)))) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +operating-system* diff --git a/systems/mcdowell.scm b/systems/mcdowell.scm deleted file mode 100644 index 3fa8b21..0000000 --- a/systems/mcdowell.scm +++ /dev/null @@ -1,169 +0,0 @@ -(define-module (systems mcdowell)) - -(define host-name* - "mcdowell") - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(define install-grub-mcdowell - ((@ (guix gexp) gexp) - (lambda (bootloader device mount-point) - (let ((grub (string-append bootloader "/sbin/grub-install")) - (install-dir (string-append mount-point "/boot"))) - ;; Install GRUB on DEVICE which is mounted at MOUNT-POINT. If DEVICE - ;; is #f, then we populate the disk-image rooted at MOUNT-POINT. - (if device - (begin - ;; Tell 'grub-install' that there might be a LUKS-encrypted - ;; /boot or root partition. - (setenv "GRUB_ENABLE_CRYPTODISK" "y") - - ;; Hide potentially confusing messages from the user, such as - ;; "Installing for i386-pc platform." - (invoke/quiet grub - "--no-floppy" - "--target=x86_64-efi" - "--removable" - "--no-nvram" - "--boot-directory" - install-dir - "--efi-directory" - "/boot/efi") - - ;; (invoke/quiet grub - ;; "--no-floppy" - ;; "--target=i386-efi" - ;; "--removable" - ;; "--no-nvram" - ;; "--boot-directory" - ;; install-dir - ;; "--efi-directory" - ;; "/boot/efi") - - (invoke/quiet grub "--no-floppy" "--target=i386-pc" - "--boot-directory" install-dir - device)) - ;; When creating a disk-image, only install a font and GRUB modules. - (let* ((fonts (string-append install-dir "/grub/fonts"))) - (mkdir-p fonts) - (copy-file (string-append bootloader "/share/grub/unicode.pf2") - (string-append fonts "/unicode.pf2")) - (copy-recursively (string-append bootloader "/lib/") - install-dir))))))) - -(define (home-environments-mcdowell) - (use-modules (users id1000)) - `((,uid1000-name ,(uid1000-home-environment host-name*)))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(define bootloader-target-mcdowell - ((@ (machines amd64) bootloader-device-path) host-name*)) - -(define (desktop-services-mcdowell) - (use-modules (suweren system)) - %suweren-services) - -(define grub-custom-bootloader-mcdowell - (let - ((grub-mkrescue-bootloader (@ (gnu bootloader grub) grub-mkrescue-bootloader))) - ((@ (gnu bootloader) bootloader) - (inherit grub-mkrescue-bootloader) - (installer install-grub-mcdowell)))) - -(define keyboard-layout-mcdowell - ((@ (gnu system keyboard) keyboard-layout) - "pl")) - -(define (guix-home-service-mcdowell) - (use-modules (gnu services guix)) - ((@ (gnu services) service) - guix-home-service-type - (home-environments-mcdowell))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(define bootloader-mcdowell - ((@ (gnu bootloader) bootloader-configuration) - (bootloader grub-custom-bootloader-mcdowell) - (keyboard-layout keyboard-layout-mcdowell) - (targets (list bootloader-target-mcdowell)))) - -(define (label-mcdowell operating-system) - (let* - ((operating-system-default-label (@ (gnu system) operating-system-default-label)) - (default-label-string (operating-system-default-label operating-system))) - (string-append host-name* - ": " - default-label-string))) - -(define services-mcdowell - (append (desktop-services-mcdowell) - (list (guix-home-service-mcdowell)))) - -(define (users-mcdowell) - (use-modules (users id1000)) - (list uid1000-account)) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(define-public operating-system* - (let - ((%base-groups (@ (gnu system shadow) %base-groups)) - (%base-packages (@ (gnu system) %base-packages)) - (%base-initrd-modules (@ (gnu system linux-initrd) %base-initrd-modules)) - (%default-issue (@@ (gnu system) %default-issue)) - (%default-kernel-arguments (@ (gnu system) %default-kernel-arguments)) - (%default-locale-libcs (@ (gnu system locale) %default-locale-libcs)) - (%default-nss (@ (gnu system nss) %default-nss)) - (%default-privileged-programs (@ (gnu system) %default-privileged-programs)) - (%setuid-programs (@ (gnu system) %setuid-programs)) - (%sudoers-specification* (@ (suweren commons sudoers) %sudoers-specification*)) - (%suweren-locale-definitions (@ (suweren system) %suweren-locale-definitions)) - (base-pam-services ((@ (gnu system pam) base-pam-services))) - (default-skeletons ((@ (gnu system shadow) default-skeletons))) - (file-systems* (@ (machines amd64) file-systems*)) - (firmware* (@ (machines amd64) firmware*)) - (initrd* (@ (machines amd64) initrd*)) - (kernel-amd64 (@ (machines amd64) kernel-amd64)) - (location-mcdowell (and=> ((@ (guix utils) current-source-location)) - (@ (guix utils) source-properties->location))) - (operating-system-default-essential-services (@ (gnu system) operating-system-default-essential-services)) - (polish-locale-string (@ (suweren system) polish-locale-string)) - (swap-devices* (@ (machines amd64) swap-devices*))) - ((@ (gnu system) operating-system) - (kernel kernel-amd64) - (kernel-loadable-modules (list)) - (kernel-arguments %default-kernel-arguments) - (hurd #f) - (bootloader bootloader-mcdowell) - (label (label-mcdowell (@ (gnu system) this-operating-system))) - (keyboard-layout keyboard-layout-mcdowell) - (initrd initrd*) - (initrd-modules %base-initrd-modules) - (firmware firmware*) - (host-name host-name*) - (mapped-devices (list)) - (file-systems (file-systems* host-name*)) - (swap-devices (swap-devices* host-name*)) - (users (users-mcdowell)) - (groups %base-groups) - (skeletons default-skeletons) - (issue %default-issue) - (packages %base-packages) - (timezone "Europe/Warsaw") - (locale polish-locale-string) - (locale-definitions %suweren-locale-definitions) - (locale-libcs %default-locale-libcs) - (name-service-switch %default-nss) - (essential-services (operating-system-default-essential-services (@ (gnu system) this-operating-system))) - (services services-mcdowell) - (pam-services base-pam-services) - (privileged-programs %default-privileged-programs) - (setuid-programs %setuid-programs) - (sudoers-file %sudoers-specification*) - (location location-mcdowell)))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -operating-system* -- cgit v1.2.3