diff options
author | Franz Geffke <franz@pantherx.org> | 2024-03-31 14:15:32 +0100 |
---|---|---|
committer | Franz Geffke <franz@pantherx.org> | 2024-03-31 14:15:32 +0100 |
commit | 3dae6df6f54a2e6e8bf900b680da3521e890e860 (patch) | |
tree | 97dbbeb5ce1b71e63b7bd11e8f81637d96d13f11 /px/services/device.scm | |
parent | 212cc9d25ebe54eda8c946955ec77647b877b1cc (diff) |
px: px-device-identity-service: Add new configuration options
Diffstat (limited to 'px/services/device.scm')
-rw-r--r-- | px/services/device.scm | 48 |
1 files changed, 32 insertions, 16 deletions
diff --git a/px/services/device.scm b/px/services/device.scm index b9150fa..ac405e5 100644 --- a/px/services/device.scm +++ b/px/services/device.scm @@ -1,5 +1,14 @@ (define-module (px services device) - #:use-module (gnu) + #:use-module (guix gexp) + #:use-module (guix records) + #:use-module (srfi srfi-1) + #:use-module (ice-9 match) + #:use-module (ice-9 pretty-print) + + #:use-module (gnu system) + #:use-module (gnu system shadow) + #:use-module (gnu services) + #:use-module (gnu services configuration) #:use-module (gnu packages admin) #:use-module (gnu packages base) #:use-module (gnu packages linux) @@ -7,24 +16,15 @@ #:use-module (gnu packages video) #:use-module (gnu services mcron) #:use-module (gnu services shepherd) - #:use-module (gnu system) - #:use-module (gnu system shadow) #:use-module (px packages device) #:use-module (px packages security-token) #:use-module (px packages tpm) - #:use-module (guix gexp) - #:use-module (guix records) - #:use-module (ice-9 match) - #:use-module (ice-9 pretty-print) - - #:export (<px-device-identity-configuration> - px-device-identity-configuration + #:export (px-device-identity-configuration px-device-identity-configuration? px-device-identity-service-type - <px-device-identity-configuration> px-user-identity-configuration px-user-identity-configuration? px-user-identity-service-type @@ -39,7 +39,7 @@ btuart-service-type)) ;; -;; Device Identity API SERVICE +;; Device Identity Service ;; (define-record-type* <px-device-identity-configuration> @@ -48,11 +48,21 @@ px-device-identity-configuration? (package px-device-identity-configuration-package - (default px-device-identity-service))) + (default px-device-identity-service) + (docstring "The package to use for the device identity service")) + (port px-device-identity-configuration-port + (default 8000) + (docstring "The port to listen on")) + (config-dir px-device-identity-configuration-config-dir + (default "/etc/px-device-identity") + (docstring "The directory to store the configuration file")) + (key-dir px-device-identity-configuration-key-dir + (default "/root/.local/share/px-device-identity") + (docstring "The directory to store the key files"))) (define px-device-identity-shepherd-service (match-lambda - (($ <px-device-identity-configuration> package) + (($ <px-device-identity-configuration> package port config-dir key-dir) (list (shepherd-service (provision '(px-device-identity)) (documentation "Run px-device-identity-service as a daemon") @@ -64,7 +74,13 @@ "-S" "identity-api" (string-append #$package - "/bin/px-device-identity-service")))) + "/bin/px-device-identity-service") + "--port" + (number->string #$port) + "--config-dir" + #$config-dir + "--key-dir" + #$key-dir))) (stop #~(make-kill-destructor))))))) (define px-device-identity-service-type @@ -277,4 +293,4 @@ delete_on_success = ~a" shepherd-root-service-type btuart-shepherd-service))) (default-value (btuart-configuration)) - (description "Attach serial lines as Bluetooth HCI interfaces")))
\ No newline at end of file + (description "Attach serial lines as Bluetooth HCI interfaces"))) |