summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Paśnikowski <marek@marekpasnikowski.pl>2026-03-26 18:53:50 +0100
committerMarek Paśnikowski <marek@marekpasnikowski.pl>2026-03-26 20:19:22 +0100
commit5f9d486cf4d6d7f6e4c9839822777914c7ee2dee (patch)
tree4942c383caa129d0b97b2d1cde3ee158dbdaeb05
parent7ea41a207b347a66277e432e478226c46d0b1872 (diff)
copy definition of aisaka system to (deployment system) module
-rw-r--r--deployment/system.scm96
-rw-r--r--deployment/systems/aisaka.scm36
2 files changed, 112 insertions, 20 deletions
diff --git a/deployment/system.scm b/deployment/system.scm
index 5ac011d..89181d0 100644
--- a/deployment/system.scm
+++ b/deployment/system.scm
@@ -10,9 +10,101 @@
#:use-module ((deployment systems mcdowell)
#:prefix deployment:systems:mcdowell:)
#:use-module ((deployment systems rakan)
- #:prefix deployment:systems:rakan:))
+ #:prefix deployment:systems:rakan:)
+ #:use-module ((gnu packages tls)
+ #:prefix gnu:packages:tls:)
+ #:use-module ((gnu packages matrix)
+ #:prefix gnu:packages:matrix:)
+ #:use-module ((gnu system)
+ #:prefix gnu:system:)
+ #:use-module ((gnu system file-systems)
+ #:prefix gnu:system:file-systems:)
+ #:use-module ((gnu system linux-initrd)
+ #:prefix gnu:system:linux-initrd:)
+ #:use-module ((gnu system locale)
+ #:prefix gnu:system:locale:)
+ #:use-module ((gnu system nss)
+ #:prefix gnu:system:nss:)
+ #:use-module ((gnu system pam)
+ #:prefix gnu:system:pam:)
+ #:use-module ((gnu system shadow)
+ #:prefix gnu:system:shadow:)
+ #:use-module ((guix diagnostics)
+ #:prefix guix:diagnostics:)
+ #:use-module ((nongnu packages linux)
+ #:prefix nongnu:packages:linux:)
+ #:use-module ((nongnu system linux-initrd)
+ #:prefix nongnu:system:linux-initrd:)
+ #:use-module ((sovereign packages jekyll)
+ #:prefix sovereign:packages:jekyll:)
+ #:use-module ((sovereign systems)
+ #:prefix sovereign:systems:)
+ #:use-module ((users id1000)
+ #:prefix users:id1000:)
+ #:use-module ((users vmail)
+ #:prefix users:vmail:))
-(define-public aisaka deployment:systems:aisaka:system)
+(define-public aisaka
+ (gnu:system:operating-system
+ (kernel nongnu:packages:linux:linux)
+ (kernel-loadable-modules (list))
+ (kernel-arguments gnu:system:%default-kernel-arguments)
+ (hurd #f)
+ (bootloader deployment:systems:aisaka:system-bootloader)
+ (label (sovereign:systems:operating-system-label* deployment:systems:aisaka:system-name
+ gnu:system:this-operating-system))
+ (keyboard-layout deployment:systems:aisaka:system-keyboard-layout)
+ (initrd nongnu:system:linux-initrd:microcode-initrd)
+ (initrd-modules gnu:system:linux-initrd:%base-initrd-modules)
+ (firmware (list nongnu:packages:linux:linux-firmware))
+ (host-name deployment:systems:aisaka:system-name)
+ (hosts-file #f)
+ (mapped-devices (list))
+ (file-systems (cons* deployment:systems:aisaka:file-system-root
+ deployment:systems:aisaka:file-system-efi
+ gnu:system:file-systems:%base-file-systems))
+ (swap-devices (list))
+ (users (cons* users:id1000:uid1000-account
+ users:vmail:vmail-account
+ gnu:system:shadow:%base-user-accounts))
+ (groups (cons* deployment:systems:aisaka:vmail-group
+ gnu:system:shadow:%base-groups))
+ (skeletons (gnu:system:shadow:default-skeletons))
+ (issue (@@ (gnu system)
+ %default-issue))
+ (packages (cons* sovereign:packages:jekyll:custom-jekyll
+ gnu:packages:tls:openssl
+ gnu:packages:matrix:synapse
+ gnu:system:%base-packages))
+ (timezone "Europe/Warsaw")
+ (locale sovereign:systems:pl-locale)
+ (locale-definitions sovereign:systems:%sovereign-locale-definitions)
+ (locale-libcs gnu:system:locale:%default-locale-libcs)
+ (name-service-switch gnu:system:nss:%default-nss)
+ (essential-services (gnu:system:operating-system-default-essential-services gnu:system:this-operating-system))
+ (services (cons* users:id1000:dkim-service
+ users:id1000:dovecot-service
+ users:id1000:smtp-service
+ deployment:systems:aisaka:knot
+ deployment:systems:aisaka:certbot
+ deployment:systems:aisaka:cgit
+ deployment:systems:aisaka:etc
+ deployment:systems:aisaka:fcgiwrap
+ deployment:systems:aisaka:gitolite
+ deployment:systems:aisaka:guix-home-service
+ deployment:systems:aisaka:guix-publish-service
+ deployment:systems:aisaka:nginx
+ deployment:systems:aisaka:offload-rakan
+ deployment:systems:aisaka:radicale
+ deployment:systems:aisaka:static-networking
+ deployment:systems:aisaka:iproute2-networking
+ deployment:systems:aisaka:%sovereign-services*))
+ (pam-services (gnu:system:pam:base-pam-services))
+ (privileged-programs gnu:system:%default-privileged-programs)
+ (setuid-programs gnu:system:%setuid-programs)
+ (sudoers-file sovereign:systems:%sovereign-sudoers-specification)
+ (location (and=> (current-source-location)
+ guix:diagnostics:source-properties->location))))
(define-public akashi deployment:systems:akashi:system)
diff --git a/deployment/systems/aisaka.scm b/deployment/systems/aisaka.scm
index fabc36c..bf8efa7 100644
--- a/deployment/systems/aisaka.scm
+++ b/deployment/systems/aisaka.scm
@@ -134,7 +134,7 @@
(listen-v4 "0.0.0.0")
(zones (list master-zone))))
-(define knot
+(define-public knot
(gnu:services:service
gnu:services:dns:knot-service-type
knot-configuration))
@@ -424,17 +424,17 @@
(email "marek@marekpasnikowski.pl")
(webroot "/srv/www/marek/marekpasnikowski.pl")))
-(define certbot
+(define-public certbot
(gnu:services:service
certbot-type
certbot-configuration))
-(define cgit
+(define-public cgit
(gnu:services:service
cgit-type
cgit-configuration))
-(define etc
+(define-public etc
(let*
((mailname-file- (plain-file "mailname"
"marekpasnikowski.pl\n"))
@@ -450,12 +450,12 @@
(user "git")
(group "git")))
-(define fcgiwrap
+(define-public fcgiwrap
(gnu:services:service
gnu:services:web:fcgiwrap-service-type
fcgiwrap-configuration))
-(define file-system-efi
+(define-public file-system-efi
(gnu:system:file-systems:file-system
(device (gnu:system:file-systems:file-system-label "AISAKA"))
(mount-point "/boot")
@@ -473,7 +473,7 @@
(shepherd-requirements (list))
(location (current-source-location))))
-(define file-system-root
+(define-public file-system-root
(gnu:system:file-systems:file-system
(device (gnu:system:file-systems:file-system-label "aisaka-root"))
(mount-point "/")
@@ -500,15 +500,15 @@
(rc-file gitolite-rc-file)
(admin-pubkey #f)))
-(define gitolite
+(define-public gitolite
(gnu:services:service
gnu:services:version-control:gitolite-service-type
gitolite-configuration))
-(define system-keyboard-layout
+(define-public system-keyboard-layout
(gnu:system:keyboard:keyboard-layout "pl"))
-(define nginx
+(define-public nginx
(gnu:services:service
nginx-service-type*
nginx-configuration*))
@@ -528,7 +528,7 @@
deployment:keys:rakan-guix))
(build-machines (list rakan-machine))))
-(define offload-rakan
+(define-public offload-rakan
(gnu:services:simple-service 'offload-rakan
gnu:services:base:guix-service-type
guix-offload-rakan))
@@ -548,7 +548,7 @@
(auth radicale-auth-configuration)
(storage radicale-storage-configuration)))
-(define radicale
+(define-public radicale
(gnu:services:service
gnu:services:mail:radicale-service-type
radicale-configuration))
@@ -587,7 +587,7 @@
(define static-networking-configuration
(list network-hardware))
-(define static-networking
+(define-public static-networking
(gnu:services:service
gnu:services:networking:static-networking-service-type
static-networking-configuration))
@@ -655,7 +655,7 @@
(documentation "Defines a graph root of one-shot services to invoke various ip commands.")
(modules gnu:services:shepherd:%default-modules)))
-(define iproute2-networking
+(define-public iproute2-networking
(let
((extensions- (list network-enp2s0-table
network-enp2s0-route-default
@@ -667,17 +667,17 @@
(define swap-device-izumi-1-label
(gnu:system:file-systems:file-system-label "izumi-swap-f"))
-(define %sovereign-services*
+(define-public %sovereign-services*
(gnu:services:modify-services sovereign:systems:%sovereign-services
(gnu:services:delete gnu:services:networking:network-manager-service-type)))
-(define system-bootloader
+(define-public system-bootloader
(gnu:bootloader:bootloader-configuration
(bootloader gnu:bootloader:grub:grub-efi-bootloader)
(targets (list "/boot"))
(keyboard-layout sovereign:devices:pl-keyboard-layout)))
-(define vmail-group
+(define-public vmail-group
(gnu:system:accounts:user-group
(name "vmail")
(system? #t)))
@@ -691,7 +691,7 @@
(port 8080)
(advertise? #t)))
-(define guix-home-service
+(define-public guix-home-service
(sovereign:systems:guix-home-service named-home-environments))
(define-public guix-publish-service