aboutsummaryrefslogtreecommitdiff
path: root/src/org/euandre
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2024-08-20 20:42:24 -0300
committerEuAndreh <eu@euandre.org>2024-08-20 20:42:55 -0300
commitf9f432bacedcfc57dd5e613685812984eeb35b25 (patch)
tree995f0903556b61e18dcfd646fd53a75f04deeeff /src/org/euandre
parentpackages.scm: Update syskeep package (diff)
downloadpackages-f9f432bacedcfc57dd5e613685812984eeb35b25.tar.gz
packages-f9f432bacedcfc57dd5e613685812984eeb35b25.tar.xz
packages.scm: Add syskeep-activation to syskeep-service-type
Diffstat (limited to 'src/org/euandre')
-rw-r--r--src/org/euandre/packages.scm55
1 files changed, 31 insertions, 24 deletions
diff --git a/src/org/euandre/packages.scm b/src/org/euandre/packages.scm
index 1bb0bc1..17bee92 100644
--- a/src/org/euandre/packages.scm
+++ b/src/org/euandre/packages.scm
@@ -444,6 +444,30 @@
(rc-file
(file-append q:rottlog-mailutils-sendmail "/etc/rc"))))))
+(define-public (activation-gexp name user log-file data-directory run-directory)
+ #~(begin
+ (use-modules (guix build utils))
+ (when #$log-file
+ (format (current-error-port)
+ "Creating ~a log directory for '~a'.~%" #$name #$log-file)
+ (mkdir-p (dirname #$log-file))
+ (when (not (file-exists? #$log-file))
+ (call-with-output-file #$log-file (const #t)))
+ (chmod #$log-file #o644))
+ (let ((user (getpwnam #$user)))
+ (when #$data-directory
+ (format (current-error-port)
+ "Creating ~a data directory '~a'.~%" #$name #$data-directory)
+ (mkdir-p #$data-directory)
+ (chown #$data-directory (passwd:uid user) (passwd:gid user))
+ (chmod #$data-directory #o750))
+ (when #$run-directory
+ (format (current-error-port)
+ "Creating ~a run directory '~a'.~%" #$name #$run-directory)
+ (mkdir-p #$run-directory)
+ (chown #$run-directory (passwd:uid user) (passwd:gid user))
+ (chmod #$run-directory #o755)))))
+
(define-record-type* <syskeep-configuration>
@@ -510,6 +534,11 @@
"init.scm"
"gitconfig"))))
+(define (syskeep-activation config)
+ (match-record config <syskeep-configuration>
+ (log-file)
+ (activation-gexp "syskeep" "root" log-file #f #f)))
+
(define-public syskeep-service-type
(service-type
(name 'syskeep)
@@ -521,6 +550,8 @@
syskeep-cronjobs)
(service-extension etc-service-type
syskeep-etc-files)
+ (service-extension activation-service-type
+ syskeep-activation)
(service-extension profile-service-type
syskeep-profile)))
(default-value (syskeep-configuration))
@@ -723,30 +754,6 @@
(files (list log-file))
(options '("rotate 5200"))))))))
-(define-public (activation-gexp name user log-file data-directory run-directory)
- #~(begin
- (use-modules (guix build utils))
- (when #$log-file
- (format (current-error-port)
- "Creating ~a log directory for '~a'.~%" #$name #$log-file)
- (mkdir-p (dirname #$log-file))
- (when (not (file-exists? #$log-file))
- (call-with-output-file #$log-file (const #t)))
- (chmod #$log-file #o644))
- (let ((user (getpwnam #$user)))
- (when #$data-directory
- (format (current-error-port)
- "Creating ~a data directory '~a'.~%" #$name #$data-directory)
- (mkdir-p #$data-directory)
- (chown #$data-directory (passwd:uid user) (passwd:gid user))
- (chmod #$data-directory #o750))
- (when #$run-directory
- (format (current-error-port)
- "Creating ~a run directory '~a'.~%" #$name #$run-directory)
- (mkdir-p #$run-directory)
- (chown #$run-directory (passwd:uid user) (passwd:gid user))
- (chmod #$run-directory #o755)))))
-
(define-public (activation-for config-type)
(lambda (config)
(m:match config