summaryrefslogtreecommitdiff
path: root/deployment/system.scm
blob: fd61f130f3f73e46b319177b2fb2956417d5eb9f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
(define-module (deployment system)
  #:use-module ((deployment services matrix)
                #:prefix deployment:services:matrix:)
  #:use-module ((deployment systems aisaka)
                #:prefix deployment:systems:aisaka:)
  #:use-module ((deployment systems akashi)
                #:prefix deployment:systems:akashi:)
  #:use-module ((deployment systems asakura)
                #:prefix deployment:systems:asakura:)
  #:use-module ((deployment systems cokolwiek)
                #:prefix deployment:systems:cokolwiek:)
  #:use-module ((deployment systems mcdowell)
                #:prefix deployment:systems:mcdowell:)
  #:use-module ((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 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-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* deployment:systems:aisaka:certbot
                                   deployment:systems:aisaka:cgit
                                   users:id1000:dkim-service
                                   users:id1000:dovecot-service
                                   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:iproute2-networking
                                   deployment:systems:aisaka:knot
                                   deployment:services:matrix:matrix-service
                                   deployment:systems:aisaka:nginx
                                   deployment:systems:aisaka:offload-rakan
                                   deployment:systems:aisaka:radicale
                                   users:id1000:smtp-service
                                   deployment:systems:aisaka:static-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)

(define-public asakura deployment:systems:asakura:system)

(define-public cokolwiek deployment:systems:cokolwiek:system)

(define-public mcdowell deployment:systems:mcdowell:system)

(define-public rakan deployment:systems:rakan:system)