diff --git a/glicid/services/authentication.scm b/glicid/services/authentication.scm index 64025a1..6311dcd 100644 --- a/glicid/services/authentication.scm +++ b/glicid/services/authentication.scm @@ -1,91 +1,62 @@ (define-module (glicid services authentication) - #:use-module (gnu services) - #:use-module (gnu services shepherd) - #:use-module (guix) - #:use-module (guix records) - #:use-module (ice-9 match) - #:use-module (gnu packages sssd) - #:use-module (glicid system file-systems) - #:export ( - sssd-configuration - sssd-configuration? - sssd-service - sssd-service-type - ) -) + #:use-module (gnu services) + #:use-module (gnu services shepherd) + #:use-module (guix) + #:use-module (guix records) + #:use-module (ice-9 match) + #:use-module (gnu packages sssd) + #:use-module (glicid system file-systems) + #:use-module (glicid utils) + #:export ( + sssd-configuration + sssd-configuration? + sssd-service + sssd-service-type + )) -(define-record-type* +(define-record-type* + sssd-configuration make-sssd-configuration sssd-configuration? - (sssd-pkg sssd-pkg - (default sssd) - ) - (sssd-conf sssd-conf - (default (file-append sssd-pkg "/lib/sssd/conf/sssd.conf")) - ) - (sssd-logger sssd-logger - (default "stderr") - ) - (sssd-debug-level sssd-debug-level - (default #f) - ) - (log-file log-file - (default "/var/log/sssd/sssd.log") - ) -) + (sssd-pkg sssd-pkg (default sssd)) + (sssd-conf sssd-conf (default "/etc/sssd/sssd.conf")) + (sssd-logger sssd-logger (default "stderr")) + (sssd-debug-level sssd-debug-level (default "3")) + (log-file log-file (default "/var/log/sssd/sssd.log"))) (define sssd-service (match-lambda (($ sssd-pkg sssd-conf sssd-logger sssd-debug-level log-file) - (list - (shepherd-service - (provision '(sssd) ) - (documentation "Run sssd.") - (requirement '( - user-processes - )) - (respawn? #t) - (start #~(make-forkexec-constructor - (list - #$(file-append sssd-pkg "/sbin/sssd") -; "--interactive" - (string-append "--config=" sssd-conf) - (string-append "--logger=" sssd-logger) - #$@(if sssd-debug-level - list (string-append "--debug-level=" sssd-debug-level) - '() - ) - ) - #:log-file #$log-file - )) - (stop #~(make-kill-destructor)) - ) - ) - ) - ) -) + (list + (shepherd-service + (provision '(sssd)) + (documentation "Run sssd.") + (requirement '( user-processes )) + (respawn? #t) + (start #~(make-forkexec-constructor + (list + #$(file-append sssd-pkg "/sbin/sssd") + "-i" + "-c" sssd-conf + "--logger" sssd-logger + "-d" sssd-debug-level + ) + #:log-file #$log-file + )) + (stop #~(make-kill-destructor))))))) (define %sssd-activation (with-imported-modules '((guix build utils)) - #~(begin - (use-modules (guix build utils)) - (define (touch file-name) - (call-with-output-file file-name (const #t)) - ) - (mkdir-p "/var/log/sssd") - (mkdir-p "/var/lib/sssd") - #t - ) - ) -) + #~(begin + (touch "/var/log/toto.log") + (mkdir-p "/etc/sssd") + (mkdir-p "/var/log/sssd") + (mkdir-p "/var/lib/sss/db") + #t ))) (define sssd-service-type - (service-type (name 'sssd) - (extensions - (list - (service-extension shepherd-root-service-type sssd-service) - (service-extension activation-service-type (const %sssd-activation)) - ) - ) - (description "Run sssd") - ) -) + (service-type + (name 'sssd) + (extensions (list + (service-extension shepherd-root-service-type sssd-service) + (service-extension activation-service-type (const %sssd-activation)))) + (description "Run sssd"))) diff --git a/glicid/utils.scm b/glicid/utils.scm index 2781449..a3f1d9b 100644 --- a/glicid/utils.scm +++ b/glicid/utils.scm @@ -1,43 +1,33 @@ (define-module (glicid utils) - #:use-module (guix packages) - #:use-module (guix transformations) - #:use-module (guix utils) - #:use-module (gnu packages gcc) - #:use-module (glicid packages gcc) - #:use-module (gnu packages commencement) - #:use-module (gnu packages) - #:export (latest-version) - #:export (gcc11-instead-of-gcc) - #:export (transform-package) - #:export (instead-of) -) -;(define (latest-version v1 v2) (if (string> (package-version v1) (package-version v2)) v1 v2)) - + #:use-module (guix packages) + #:use-module (guix transformations) + #:use-module (guix utils) + #:use-module (gnu packages gcc) + #:use-module (glicid packages gcc) + #:use-module (gnu packages commencement) + #:use-module (gnu packages) + #:export (latest-version) + #:export (gcc11-instead-of-gcc) + #:export (transform-package) + #:export (instead-of) + ) (define (latest-version v1 v2) - - (case (version-compare (package-version v1) (package-version v2)) - ((>) v1) - ((=) v1) - ((<) v2) - ) -) + (case (version-compare (package-version v1) (package-version v2)) + ((>) v1) + ((=) v1) + ((<) v2))) (define gcc11-instead-of-gcc - (package-input-rewriting `( - (,gcc-toolchain . ,gcc-toolchain-11) - (,gfortran-toolchain . ,gfortran-toolchain-11) - )) -) + (package-input-rewriting + `((,gcc-toolchain . ,gcc-toolchain-11) + (,gfortran-toolchain . ,gfortran-toolchain-11) + ))) (define (transform-package original-package suffix) (package (inherit original-package) - (name (string-append (package-name original-package) "-" suffix )) - ) -) + (name (string-append (package-name original-package) "-" suffix )))) (define (instead-of package-a-spec package-b) (package-input-rewriting/spec `( - (,package-a-spec . ,(const package-b)) - )) -) + (,package-a-spec . ,(const package-b)))))