aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimo Wilken2024-08-25 14:07:41 +0200
committerTimo Wilken2024-08-25 14:07:41 +0200
commit2ed6efb6517ec2265af4e3622f25dddfa503dded (patch)
treede8dffbdf22218bc92d83605442fdbd1f8e006ff
parentfaa53380b7f38cf96d0127d4f54fa35352de20e1 (diff)
Move from extra-special-file to etc-service-type for system config files
`etc-service-type' is the recommended way to manage these files.
-rw-r--r--tw/system.scm70
1 files changed, 36 insertions, 34 deletions
diff --git a/tw/system.scm b/tw/system.scm
index 2c1cdac0..d9e33f0e 100644
--- a/tw/system.scm
+++ b/tw/system.scm
@@ -308,8 +308,9 @@ ACTION!=\"remove\", SUBSYSTEM==\"leds\", GROUP=\"video\", MODE=\"0664\"
(list #$(file-append ipp-usb "/bin/ipp-usb") "standalone")))
(stop #~(make-kill-destructor)))))
- (extra-special-file "/etc/NetworkManager/dispatcher.d/09-set-timezone"
- (program-file "set-timezone" set-timezone-script))
+ (simple-service 'set-timezone-script etc-service-type
+ `(("/etc/NetworkManager/dispatcher.d/09-set-timezone"
+ ,(program-file "set-timezone" set-timezone-script))))
(service tw-wireguard-service-type
(tw-wireguard-configuration
@@ -320,38 +321,39 @@ ACTION!=\"remove\", SUBSYSTEM==\"leds\", GROUP=\"video\", MODE=\"0664\"
;; Since Guix 953c65ffdd4, build-machines can be directly specified in
;; `guix-configuration'. However, this doesn't allow the dynamic
;; selection of build machines as is done here.
- (extra-special-file "/etc/guix/machines.scm"
- (scheme-file "machines.scm"
- (if work-system?
- #~'() ; work machine doesn't have the required SSH keys for lud or vin
- #~(let ((lud (build-machine
- (name "lud.twilken.net")
- (systems '("x86_64-linux"))
- (port '#$(assoc-ref %ssh-ports "lud.twilken.net"))
- (host-key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGqXbxv3a2bZyGjnEirVCMtRBeLKW/ha8ULSR9Xye4Z1")
- (user "timo")
- (private-key "/home/timo/.local/share/ssh-keys/id_ed25519")
- (speed '#$(/ 4 cores)))) ; 4 cores, 16 GB RAM
- (vin (build-machine
- (name "vin.twilken.net")
- (systems '("x86_64-linux"))
- (port '#$(assoc-ref %ssh-ports "vin.twilken.net"))
- (host-key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEEpdfKxzoCwg53TKPF5YxgUwhGF+bELAyBGdxagQroJ")
- (user "timo")
- (private-key "/home/timo/.local/share/ssh-keys/id_ed25519")
- (speed '#$(/ 8 cores))))) ; 8 cores, 16 GB RAM
- (use-modules (ice-9 popen)
- (ice-9 textual-ports)
- (ice-9 regex))
- (let* ((regexp (make-regexp "^GENERAL\\.CONNECTION:[[:space:]]+TLAN$" regexp/newline))
- (pipe (open-pipe* OPEN_READ #$(file-append network-manager "/bin/nmcli")
- "device" "show" #$wireless-interface))
- (at-home? (regexp-exec regexp (get-string-all pipe))))
- (close-pipe pipe)
- ;; Only offload to vin when at home, as the network connection is too bad otherwise.
- (if at-home?
- (list vin)
- (list lud)))))))
+ (simple-service 'guix-build-machines etc-service-type
+ `(("/etc/guix/machines.scm"
+ ,(scheme-file "machines.scm"
+ (if work-system?
+ #~'() ; work machine doesn't have the required SSH keys for lud or vin
+ #~(let ((lud (build-machine
+ (name "lud.twilken.net")
+ (systems '("x86_64-linux"))
+ (port '#$(assoc-ref %ssh-ports "lud.twilken.net"))
+ (host-key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGqXbxv3a2bZyGjnEirVCMtRBeLKW/ha8ULSR9Xye4Z1")
+ (user "timo")
+ (private-key "/home/timo/.local/share/ssh-keys/id_ed25519")
+ (speed '#$(/ 4 cores)))) ; 4 cores, 16 GB RAM
+ (vin (build-machine
+ (name "vin.twilken.net")
+ (systems '("x86_64-linux"))
+ (port '#$(assoc-ref %ssh-ports "vin.twilken.net"))
+ (host-key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEEpdfKxzoCwg53TKPF5YxgUwhGF+bELAyBGdxagQroJ")
+ (user "timo")
+ (private-key "/home/timo/.local/share/ssh-keys/id_ed25519")
+ (speed '#$(/ 8 cores))))) ; 8 cores, 16 GB RAM
+ (use-modules (ice-9 popen)
+ (ice-9 textual-ports)
+ (ice-9 regex))
+ (let* ((regexp (make-regexp "^GENERAL\\.CONNECTION:[[:space:]]+TLAN$" regexp/newline))
+ (pipe (open-pipe* OPEN_READ #$(file-append network-manager "/bin/nmcli")
+ "device" "show" #$wireless-interface))
+ (at-home? (regexp-exec regexp (get-string-all pipe))))
+ (close-pipe pipe)
+ ;; Only offload to vin when at home, as the network connection is too bad otherwise.
+ (if at-home?
+ (list vin)
+ (list lud)))))))))
(simple-service 'disk-maintenance mcron-service-type
;; I don't think jobs run on boot if they would have run when the