summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-09-17 23:28:59 +0200
committerLudovic Courtès <ludo@gnu.org>2015-10-10 22:46:15 +0200
commit23afe939a2282369900e0e7a33405cc613d7a405 (patch)
tree9a8de9ac10180ddac013651d15066a1819285c9a
parente1c153e0ab116a174ea0ed88b76f222927048c5f (diff)
downloadguix-23afe939a2282369900e0e7a33405cc613d7a405.tar.gz
system: pam: Use 'computed-file' instead of 'gexp->derivation'.
* gnu/system/linux.scm (pam-service->configuration): Use 'computed-file'
  instead of 'gexp->derivation'.
  (pam-services->directory): Likewise.
* gnu/system.scm (etc-directory): Adjust accordingly.
-rw-r--r--gnu/system.scm2
-rw-r--r--gnu/system/linux.scm15
2 files changed, 5 insertions, 12 deletions
diff --git a/gnu/system.scm b/gnu/system.scm
index 92a3ca3e6e..cb0ee90e09 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -447,7 +447,7 @@ on SHELLS.  /etc/shells is used by xterm, polkit, and other programs."
                         (sudoers-file (plain-file "sudoers" "")))
   "Return a derivation that builds the static part of the /etc directory."
   (mlet* %store-monad
-      ((pam.d      (pam-services->directory pam-services))
+      ((pam.d ->   (pam-services->directory pam-services))
        (login.defs (text-file "login.defs" "# Empty for now.\n"))
        (shells     (shells-file shells))
        (emacs      (emacs-site-directory))
diff --git a/gnu/system/linux.scm b/gnu/system/linux.scm
index ac5005ebd1..10e72e905a 100644
--- a/gnu/system/linux.scm
+++ b/gnu/system/linux.scm
@@ -17,10 +17,8 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu system linux)
-  #:use-module (guix store)
   #:use-module (guix records)
   #:use-module (guix derivations)
-  #:use-module (guix monads)
   #:use-module (guix gexp)
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1)
@@ -86,18 +84,13 @@ dumped in /etc/pam.d/NAME, where NAME is the name of SERVICE."
                           (map (cut entry->gexp "session" <>) session))
                #t))))
 
-     (gexp->derivation name builder))))
+     (computed-file name builder))))
 
 (define (pam-services->directory services)
   "Return the derivation to build the configuration directory to be used as
 /etc/pam.d for SERVICES."
-  (mlet %store-monad
-      ((names -> (map pam-service-name services))
-       (files (sequence %store-monad
-                        (map pam-service->configuration
-                             ;; XXX: Eventually, SERVICES may be a list of
-                             ;; monadic values instead of plain values.
-                             services))))
+  (let ((names (map pam-service-name services))
+        (files (map pam-service->configuration services)))
     (define builder
       #~(begin
           (use-modules (ice-9 match)
@@ -114,7 +107,7 @@ dumped in /etc/pam.d/NAME, where NAME is the name of SERVICE."
                     ;; instead.  See <http://bugs.gnu.org/20037>.
                     (delete-duplicates '#$(zip names files)))))
 
-    (gexp->derivation "pam.d" builder)))
+    (computed-file "pam.d" builder)))
 
 (define %pam-other-services
   ;; The "other" PAM configuration, which denies everything (see