~ruther/guix-local

e1fbc32a0a1d027ec641ac0e249ad9aa1d5a8ffa — Ludovic Courtès 11 years ago 36ffaca
install: Have several OS config templates under /etc/configuration.

* gnu/system/install.scm (configuration-template-service): Remove
  'local-template' and 'template'.  Add 'search' and 'templates'.
  [activate]: Copy all of TEMPLATES to /etc/configuration.
* doc/guix.texi (System Installation): Adjust file name accordingly.
2 files changed, 23 insertions(+), 8 deletions(-)

M doc/guix.texi
M gnu/system/install.scm
M doc/guix.texi => doc/guix.texi +1 -1
@@ 3927,7 3927,7 @@ It is better to store that file on the target root file system, say, as

A minimal operating system configuration, with just the bare minimum and
only a root account would look like this (on the installation system,
this example is available as @file{/etc/configuration-template.scm}):
this example is available as @file{/etc/configuration/bare-bones.scm}):

@example
@include os-config.texi

M gnu/system/install.scm => gnu/system/install.scm +22 -7
@@ 32,6 32,8 @@
  #:use-module (gnu packages grub)
  #:use-module (gnu packages texinfo)
  #:use-module (gnu packages compression)
  #:use-module (ice-9 match)
  #:use-module (srfi srfi-26)
  #:export (self-contained-tarball
            installation-os))



@@ 172,12 174,17 @@ the given target.")
  "Return a dummy service whose purpose is to install an operating system
configuration template file in the installation system."

  (define local-template
    "/etc/configuration-template.scm")
  (define template
    (search-path %load-path "gnu/system/examples/bare-bones.tmpl"))
  (define search
    (cut search-path %load-path <>))
  (define templates
    (map (match-lambda
           ((file '-> target)
            (list (local-file (search file))
                  (string-append "/etc/configuration/" target))))
         '(("gnu/system/examples/bare-bones.tmpl" -> "bare-bones.scm")
           ("gnu/system/examples/desktop.tmpl" -> "desktop.scm"))))

  (mlet %store-monad ((template (interned-file template)))
  (with-monad %store-monad
    (return (service
             (requirement '(root-file-system))
             (provision '(os-config-template))


@@ 186,8 193,16 @@ configuration template file in the installation system."
             (start #~(const #t))
             (stop  #~(const #f))
             (activate
              #~(unless (file-exists? #$local-template)
                  (copy-file #$template #$local-template)))))))
              #~(begin
                  (use-modules (ice-9 match)
                               (guix build utils))

                  (mkdir-p "/etc/configuration")
                  (for-each (match-lambda
                              ((file target)
                               (unless (file-exists? target)
                                 (copy-file file target))))
                            '#$templates)))))))

(define %nscd-minimal-caches
  ;; Minimal in-memory caching policy for nscd.