Add pam-mkhomedir service
This commit is contained in:
parent
f83d4d2b0e
commit
4141671908
1 changed files with 33 additions and 0 deletions
33
services/pam-mkhomedir.scm
Normal file
33
services/pam-mkhomedir.scm
Normal file
|
@ -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>
|
||||
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.")))
|
Loading…
Add table
Add a link
Reference in a new issue