mirror of
https://codeberg.org/hako/Rosenthal.git
synced 2025-11-16 17:34:37 +00:00
Compare commits
No commits in common. "9e2dc3254dfb26bcd554e2fce004f25712a58993" and "1903d825a447e6217e12fb744f0f3bcb9d6a6686" have entirely different histories.
9e2dc3254d
...
1903d825a4
@ -1,25 +1,16 @@
|
|||||||
;;; SPDX-FileCopyrightText: 2024, 2025 Hilton Chain <hako@ultrarare.space>
|
;;; SPDX-FileCopyrightText: 2024 Hilton Chain <hako@ultrarare.space>
|
||||||
;;;
|
;;;
|
||||||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
(define-module (rosenthal services mail)
|
(define-module (rosenthal services mail)
|
||||||
#:use-module (srfi srfi-26)
|
#:use-module (srfi srfi-26)
|
||||||
#:use-module (guix gexp)
|
|
||||||
#:use-module (guix records)
|
#:use-module (guix records)
|
||||||
#:use-module (rosenthal utils serializers yaml)
|
|
||||||
#:use-module (gnu services)
|
#:use-module (gnu services)
|
||||||
#:use-module (gnu services admin)
|
#:use-module (gnu services admin)
|
||||||
#:use-module (gnu services configuration)
|
#:use-module (gnu services configuration)
|
||||||
#:use-module (gnu services docker)
|
#:use-module (gnu services docker)
|
||||||
#:use-module (gnu services shepherd)
|
|
||||||
#:use-module (gnu home services)
|
|
||||||
#:use-module (gnu home services shepherd)
|
|
||||||
#:use-module (gnu packages mail)
|
|
||||||
#:export (docker-mailserver-configuration
|
#:export (docker-mailserver-configuration
|
||||||
docker-mailserver-service-type
|
docker-mailserver-service-type))
|
||||||
|
|
||||||
home-goimapnotify-service-type
|
|
||||||
home-goimapnotify-configuration))
|
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
;;; Docker Mailserver
|
;;; Docker Mailserver
|
||||||
@ -75,52 +66,3 @@
|
|||||||
(compose list docker-mailserver-configuration-log-file))))
|
(compose list docker-mailserver-configuration-log-file))))
|
||||||
(default-value (docker-mailserver-configuration))
|
(default-value (docker-mailserver-configuration))
|
||||||
(description "Run Docker Mailserver.")))
|
(description "Run Docker Mailserver.")))
|
||||||
|
|
||||||
|
|
||||||
;;;
|
|
||||||
;;; goimapnotify
|
|
||||||
;;;
|
|
||||||
|
|
||||||
(define-configuration/no-serialization home-goimapnotify-configuration
|
|
||||||
(goimapnotify
|
|
||||||
(file-like goimapnotify)
|
|
||||||
"")
|
|
||||||
(config
|
|
||||||
yaml-config
|
|
||||||
"")
|
|
||||||
(wait
|
|
||||||
(integer 1)
|
|
||||||
"")
|
|
||||||
(shepherd-provision
|
|
||||||
(list-of-symbols '(goimapnotify))
|
|
||||||
"")
|
|
||||||
(shepherd-requirement
|
|
||||||
(list-of-symbols '())
|
|
||||||
"")
|
|
||||||
(auto-start?
|
|
||||||
(boolean #t)
|
|
||||||
""))
|
|
||||||
|
|
||||||
(define home-goimapnotify-shepherd
|
|
||||||
(match-record-lambda <home-goimapnotify-configuration>
|
|
||||||
(goimapnotify config wait shepherd-provision shepherd-requirement auto-start?)
|
|
||||||
(let ((config-file
|
|
||||||
(mixed-text-file "goimapnotify.yaml" (yaml-serialize config))))
|
|
||||||
(list (shepherd-service
|
|
||||||
(provision shepherd-provision)
|
|
||||||
(requirement shepherd-requirement)
|
|
||||||
(start
|
|
||||||
#~(make-forkexec-constructor
|
|
||||||
(list #$(file-append goimapnotify "/bin/goimapnotify")
|
|
||||||
"-conf" #$config-file
|
|
||||||
"-wait" (number->string #$wait))))
|
|
||||||
(stop #~(make-kill-destructor))
|
|
||||||
(auto-start? auto-start?))))))
|
|
||||||
|
|
||||||
(define home-goimapnotify-service-type
|
|
||||||
(service-type
|
|
||||||
(name 'home-goimapnotify)
|
|
||||||
(extensions
|
|
||||||
(list (service-extension home-shepherd-service-type
|
|
||||||
home-goimapnotify-shepherd)))
|
|
||||||
(description "")))
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user