aboutsummaryrefslogtreecommitdiff
path: root/src/org
diff options
context:
space:
mode:
Diffstat (limited to 'src/org')
-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