diff options
-rw-r--r-- | src/org/euandre/packages.scm | 45 |
1 files changed, 23 insertions, 22 deletions
diff --git a/src/org/euandre/packages.scm b/src/org/euandre/packages.scm index a14904e..50db25c 100644 --- a/src/org/euandre/packages.scm +++ b/src/org/euandre/packages.scm @@ -702,26 +702,27 @@ (listen-socket papod-configuration-listen-socket (default "/var/run/papod/papod.socket")) (upstream-socket papod-configuration-upstream-socket (default #f))) -(define-public (profile-for type) +(define-public (profile-for config-type) (lambda (config) (m:match config - (($ type _name package) + (($ config-type _name package) (list package))))) -(define-public (rotations-for type) +(define-public (rotations-for config-type) (lambda (config) (m:match config - (($ type _name _package _user _group log-file) + (($ config-type _name _package _user _group log-file) (list (log-rotation (frequency 'weekly) (files (list log-file)) (options '("rotate 5200")))))))) -(define-public (activation-for type) +(define-public (activation-for config-type) (lambda (config) (m:match config - (($ type name _package user _group log-file data-directory run-directory) + (($ config-type name _package user _group log-file data-directory + run-directory) #~(begin (use-modules (guix build utils)) (when #$log-file @@ -745,10 +746,10 @@ (chown #$run-directory (passwd:uid user) (passwd:gid user)) (chmod #$run-directory #o755)))))))) -(define-public (accounts-for type) +(define-public (accounts-for config-type) (lambda (config) (m:match config - (($ type name _package user group) + (($ config-type name _package user group) (list (user-group (name group) @@ -763,10 +764,10 @@ (shell (file-append shadow "/sbin/nologin")))))))) -(define-public (cmd-for type config) +(define-public (cmd-for config-type config) (m:match config - (($ type name package user group _log-file data-directory _run-directory - run-in-container? container-name extra-mappings) + (($ config-type name package user group _log-file data-directory + _run-directory run-in-container? container-name extra-mappings) (let ((bin (file-append package (string-append "/bin/" name)))) (if (not run-in-container?) bin @@ -788,19 +789,19 @@ (writable? #t)))) extra-mappings))))))) -(define-public (shepherd-services-for type) +(define-public (shepherd-services-for config-type) (lambda (config) (m:match config - (($ type name _package user group log-file data-directory _run-directory - _run-in-container? _container-name _extra-mappings options - listen-socket upstream-socket) + (($ config-type name _package user group log-file data-directory + _run-directory _run-in-container? _container-name _extra-mappings + options listen-socket upstream-socket) (list (shepherd-service (provision (list (string->symbol name))) (requirement '(networking)) (start #~(make-forkexec-constructor - (list #$(cmd-for type config) + (list #$(cmd-for config-type config) #$@options #$@(mklist listen-socket) #$@(mklist upstream-socket)) @@ -812,22 +813,22 @@ (documentation (fmt "The Shepherd service that runs the server via \"~a\"." name)))))))) -(define-public (service-type-for name type config extensions) +(define-public (service-type-for name config-type config extensions) (service-type (name name) (extensions (append (list (service-extension shepherd-root-service-type - (shepherd-services-for type)) + (shepherd-services-for config-type)) (service-extension profile-service-type - (profile-for type)) + (profile-for config-type)) (service-extension activation-service-type - (activation-for type)) + (activation-for config-type)) (service-extension account-service-type - (accounts-for type)) + (accounts-for config-type)) (service-extension rottlog-service-type - (rotations-for type))) + (rotations-for config-type))) extensions)) (default-value config) (description |