;;; SPDX-License-Identifier: GPL-3.0-or-later ;;; SPDX-FileCopyrightText: 2026 Marek Paśnikowski ;;; COPYRIGHT NOTICE ;;; ;;; Copyright 2026, Marek Paśnikowski ;;; LICENSE NOTICE ;;; ;;; This library is free software: you can redistribute it and/or modify it under the terms of ;;; the GNU General Public License as published by the Free Software Foundation, ;;; either version 3 of the License, or (at your option) any later version. ;;; ;;; This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; ;;; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ;;; See the GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License along with this library. ;;; If not, see . (define-module (deployment system) #:export (aisaka akashi asakura ayase cokolwiek mcdowell rakan) #:use-module (deployment system file-systems) #:use-module (deployment services vpn) #:use-module (gnu services) #:use-module (gnu services base) #:use-module (gnu system file-systems) #:use-module (gnu system shadow) #:use-module (guix gexp) #:use-module (sovereign system file-systems) #:use-module (sovereign systems) #:use-module (users id1000) #:use-module ((deployment system aisaka) #:prefix deployment:system:aisaka:) #:use-module ((deployment system akashi) #:prefix deployment:system:akashi:) #:use-module ((deployment system asakura) #:prefix deployment:system:asakura:) #:use-module ((deployment system ayase) #:prefix deployment:system:ayase:) #:use-module ((deployment system cokolwiek) #:prefix deployment:system:cokolwiek:) #:use-module ((deployment system mcdowell) #:prefix deployment:system:mcdowell:) #:use-module ((deployment system rakan) #:prefix deployment:system:rakan:) #:use-module ((gnu packages linux) #:prefix gnu:packages:linux:) #: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 services) #:prefix sovereign:services:) #:use-module ((sovereign systems) #:prefix sovereign:systems:) #:use-module ((users id1000) #:prefix users:id1000:) #:use-module ((users vmail) #:prefix users:vmail:)) (define 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:system:aisaka:bootloader-aisaka) (label (sovereign:systems:operating-system-label* deployment:system:aisaka:host-name-aisaka gnu:system:this-operating-system)) (keyboard-layout deployment:system: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:system:aisaka:host-name-aisaka) (hosts-file #f) (mapped-devices (list)) (file-systems deployment:system:aisaka:file-systems) (swap-devices (list)) (users (cons* users:id1000:uid1000-account users:vmail:vmail-account gnu:system:shadow:%base-user-accounts)) (groups (cons* deployment:system: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: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 deployment:system:aisaka: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 akashi deployment:system:akashi:system) (define asakura deployment:system:asakura:system) (define ayase (gnu:system:operating-system (inherit sovereign:systems:%sovereign-operating-system) (kernel deployment:system:ayase:kernel) (kernel-arguments (list "no_console_suspend" "cryptomgr.notests" "loglevel=3" "clk_ignore_unused" "cma=256M" "swiotlb=65535" "console=tty1")) (bootloader deployment:system:ayase:bootloader) (label "ayase") (keyboard-layout sovereign:systems:keyboard-layout) (initrd-modules (list "rfkill" "dm_mod" "rk805_pwrkey" "hantro_vpu" "snd_soc_wm8960" ;; "rockchip_vdec2" "v4l2_vp9" "rockchip_saradc" "v4l2_h264" "v4l2_jpeg" "industrialio_triggered_buffer" "v4l2_mem2mem" "rockchip_thermal" "kfifo_buf" "snd_soc_rockchip_i2s_tdm" "videobuf2_dma_contig" "videobuf2_memops" "videobuf2_v4l2" "panthor" "videodev" "drm_gpuvm" "videobuf2_common" "drm_exec" "snd_soc_audio_graph_card" "mc" "drm_shmem_helper" "gpu_sched" "snd_soc_simple_card_utils" "pci_endpoint_test" "fuse" ;; "ip_tables" "x_tables" "ipv6" "onboard_usb_dev" "dwmac_rk" "stmmac_platform" "stmmac" ;; "crct10dif_ce" "phy_rockchip_naneng_combphy" "phy_rockchip_usbdp" "typec" "rtc_pcf8523" "phy_rockchip_samsung_hdptx" "pcs_xpcs" "nvme" "nvme_core" "rockchipdrm" "analogix_dp" "dw_hdmi_qp" "dw_mipi_dsi" ;; Some taken from in %base-initrd-modules a.k.a. default-initrd-modules ;; May not be strictly needed... but you never know. "ahci" "dm-crypt" "xts" )) (firmware (list ;; arm-trusted-firmware-rk3588 nongnu:packages:linux:linux-firmware gnu:packages:linux:wireless-regdb)) (host-name "ayase") (file-systems (cons* (file-system (device (file-system-label "ayase-root")) (mount-point "/") (type "ext4")) file-system-dokumenty file-system-szablony %base-file-systems)) ;; (swap-devices ) (users (cons* uid1000-account %base-user-accounts)) (skeletons (gnu:system:shadow:default-skeletons)) (timezone "Europe/Warsaw") (locale "pl_PL.utf8") (services (cons* wireguard-service-ayase (guix-home-service (list named-home-environment)) (simple-service 'offload-extension guix-service-type (guix-extension (authorized-keys (list (mixed-text-file "aisaka-guix-key.pub" "(public-key\n" " (ecc\n" " (curve Ed25519)\n" " (q #983CD313090D2699AD26AE5CB589A29F24A32E247A41EB4F4A22D196DFCD9D3C#)))"))) (build-machines (list #~(build-machine (name "www.marekpasnikowski.pl") (systems (list "x86_64-linux" "i686-linux" "aarch64-linux")) (user "marek") (host-key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM0Eh0q54myeSEironEP9DEKl+ownYuH7oSgAVuLIDNt root@aisaka") (port 23) (private-key "/home/marek/.ssh/id_ed25519")))))) %sovereign-services)) (sudoers-file sovereign:systems:%sovereign-sudoers-specification))) (define cokolwiek deployment:system:cokolwiek:system) (define mcdowell deployment:system:mcdowell:system) (define rakan deployment:system:rakan:system)