summaryrefslogtreecommitdiff
path: root/deployment/systems/aisaka.scm
diff options
context:
space:
mode:
authorMarek Paśnikowski <marek@marekpasnikowski.pl>2025-12-25 13:43:04 +0100
committerMarek Paśnikowski <marek@marekpasnikowski.pl>2026-01-09 08:20:43 +0100
commita576f74ca0511710d1f154e729d63e8f0c16e941 (patch)
treedbb6c4514d6617a5f23a877f055a2484141784e9 /deployment/systems/aisaka.scm
parent52bff98ad637e45b98f2ddbeb04bf6ccda38e73a (diff)
aisaka: set up static networking for two WANs
Diffstat (limited to 'deployment/systems/aisaka.scm')
-rw-r--r--deployment/systems/aisaka.scm51
1 files changed, 47 insertions, 4 deletions
diff --git a/deployment/systems/aisaka.scm b/deployment/systems/aisaka.scm
index 2f91765..76c048c 100644
--- a/deployment/systems/aisaka.scm
+++ b/deployment/systems/aisaka.scm
@@ -10,6 +10,7 @@
#:use-module ((gnu services) #:prefix gnu:services:)
#:use-module ((gnu services base) #:prefix gnu:services:base:)
#:use-module ((gnu services dns) #:prefix gnu:services:dns:)
+ #:use-module ((gnu services networking) #:prefix gnu:services:networking:)
#:use-module ((gnu services version-control) #:prefix gnu:services:version-control:)
#:use-module ((gnu services web) #:prefix gnu:services:web:)
#:use-module ((gnu system) #:prefix gnu:system:)
@@ -33,7 +34,7 @@
ip-otvarta
" -all\""))
-(define ttl "60")
+(define ttl "3600")
(gnu:services:dns:define-zone-entries marekpasnikowski.pl-entries
("@" ttl "IN" "A" ip-multimedia)
@@ -41,6 +42,8 @@
("@" ttl "IN" "NS" "ns.marekpasnikowski.pl.")
("ns1" ttl "IN" "A" ip-multimedia)
("@" ttl "IN" "NS" "ns1.marekpasnikowski.pl.")
+ ("mx" ttl "IN" "A" ip-otvarta)
+ ("@" ttl "IN" "MX" "9 mx.marekpasnikowski.pl.")
("@" ttl "IN" "MX" "10 mx1.forwardemail.net.")
("@" ttl "IN" "MX" "10 mx2.forwardemail.net.")
("@" ttl "IN" "TXT" "\"forward-email-port=49152\"")
@@ -63,7 +66,7 @@
(origin "marekpasnikowski.pl")
(ns "ns.marekpasnikowski.pl.")
(mail "marek.marekpasnikowski.pl.")
- (serial 2025122101)))
+ (serial 2026010900)))
(define master-zone
(gnu:services:dns:knot-zone-configuration
@@ -405,12 +408,51 @@
(storage ((@ (gnu services mail) radicale-storage-configuration)
(filesystem-folder "/data/radicale/collections"))))))
+(define enp1s0-address-4
+ (gnu:services:base:network-address
+ (device "enp1s0")
+ (value "192.168.10.2/24")
+ (ipv6? #f)))
+
+(define enp2s0-address-4
+ (gnu:services:base:network-address
+ (device "enp2s0")
+ (value "192.168.1.2/24")
+ (ipv6? #f)))
+
+(define enp1s0-route-4-default
+ (gnu:services:base:network-route
+ (destination "default")
+ (device "enp1s0")
+ (ipv6? #f)
+ (gateway "192.168.10.1")))
+
+(define first-network
+ (gnu:services:base:static-networking
+ (addresses (list enp1s0-address-4
+ enp2s0-address-4))
+ (routes (list enp1s0-route-4-default))
+ (name-servers (list "192.168.10.1"
+ "192.168.1.1"))))
+
+(define static-networking-configuration
+ (list first-network))
+
+(define static-networking
+ (gnu:services:service
+ gnu:services:networking:static-networking-service-type
+ static-networking-configuration))
+
(define swap-device-izumi-1-label
((@ (gnu system file-systems) file-system-label)
"izumi-swap-f"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+(define %sovereign-services*
+ (gnu:services:modify-services sovereign:systems:%sovereign-services
+ (delete gnu:services:networking:network-manager-service-type)))
+
(define system-bootloader
(gnu:bootloader:bootloader-configuration
(bootloader gnu:bootloader:grub:grub-efi-bootloader)
@@ -443,7 +485,8 @@
(nginx-izumi)
offload-rakan
(openssh)
- (radicale)))
+ (radicale)
+ static-networking))
(define system-users
(list users:id1000:uid1000-account
@@ -474,7 +517,7 @@
(locale sovereign:systems:pl-locale)
(locale-definitions sovereign:systems:%sovereign-locale-definitions)
(services (append system-services
- sovereign:systems:%sovereign-services))
+ %sovereign-services*))
(sudoers-file sovereign:systems:%sovereign-sudoers-specification)))
(define-public operating-system*