From 4141671908e7a550ffa91db6eedb1d3f0800656c Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Sun, 31 Jul 2022 18:07:53 +0200 Subject: [PATCH] Add pam-mkhomedir service --- services/pam-mkhomedir.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 services/pam-mkhomedir.scm diff --git a/services/pam-mkhomedir.scm b/services/pam-mkhomedir.scm new file mode 100644 index 0000000..2b458d2 --- /dev/null +++ b/services/pam-mkhomedir.scm @@ -0,0 +1,33 @@ +(define-module (services pam-mkhomedir) + #:use-module (gnu) + #:use-module (gnu packages linux) + #:use-module (gnu services shepherd) + #:use-module (guix modules) + #:use-module (guix packages) + #:use-module (guix records) + #:use-module (srfi srfi-1)) + +(define-record-type* + pam-mkhomedir-configuration make-pam-mkhomedir-configuration + pam-mkhomedir-configuration? + (arguments pam-mkhomedir-configuration-arguments (default '()))) + +(define (pam-mkhomedir-pam-service config) + (let ((module #~(string-append #$linux-pam "/lib/security/pam_mkhomedir.so"))) + (list (lambda (pam) + (pam-service + (inherit pam) + (session + (cons* (pam-entry + (control "optional") + (module module) + (arguments (pam-mkhomedir-configuration-arguments config))) + (pam-service-session pam)))))))) + +(define-public pam-mkhomedir-service-type + (service-type + (name 'pam-mkhomedir) + (extensions + (list (service-extension pam-root-service-type pam-mkhomedir-pam-service))) + (default-value (pam-mkhomedir-configuration)) + (description "Activate PAM mkhomedir module.")))