aboutsummaryrefslogtreecommitdiff
path: root/nix
ModeNameSize
-rw-r--r--.gitignore24logplainabout
-rw-r--r--AUTHORS118logplainabout
-rw-r--r--COPYING26436logplainabout
d---------boost156logplain
d---------libstore906logplain
d---------libutil410logplain
-rw-r--r--local.mk6899logplainabout
d---------nix-daemon120logplain
,@(if #$archive-url (list (string-append "LAMINAR_ARCHIVE_URL=" #$archive-url)) '()) ,@(if #$base-url (list (string-append "LAMINAR_BASE_URL=" #$base-url)) '())) #:user "laminar" #:group "laminar" #:supplementary-groups '#$supplementary-groups)) (stop #~(make-kill-destructor))))))) (define (laminar-account config) "Return the user accounts and user groups for CONFIG." (list (user-group (name "laminar") (system? #t)) (user-account (name "laminar") (group "laminar") (supplementary-groups (laminar-configuration-supplementary-groups config)) (system? #t) (comment "Laminar privilege separation user") (home-directory (laminar-configuration-home-directory config)) (shell #~(string-append #$shadow "/sbin/nologin"))))) (define (laminar-activation config) (let ((bind-http (laminar-configuration-bind-http config))) #~(begin ;; If listen is a unix socket, create its parent directory. (when (string-prefix? "unix:" #$bind-http) (let ((run-directory (dirname (substring #$bind-http (string-length "unix:")))) (user (getpw "laminar"))) (mkdir-p run-directory) (chown run-directory (passwd:uid user) (passwd:gid user))))))) (define laminar-service-type (service-type (name 'laminar) (extensions (list (service-extension shepherd-root-service-type laminar-shepherd-service) (service-extension account-service-type laminar-account) (service-extension activation-service-type laminar-activation))) (default-value (laminar-configuration)) (description "Run the Laminar continuous integration service.")))