aboutsummaryrefslogtreecommitdiff
path: root/gnu/system/vm.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-09-26 23:28:17 +0200
committerLudovic Courtès <ludo@gnu.org>2013-09-27 00:46:17 +0200
commitd0c66871b12c491eca6a80c09b836f893c1d4234 (patch)
treec623176fe1bbfe6bdecd5f606858385d12424c75 /gnu/system/vm.scm
parent3abf9b440b97c35d078c60490723684ca757f480 (diff)
downloadguix-d0c66871b12c491eca6a80c09b836f893c1d4234.tar
guix-d0c66871b12c491eca6a80c09b836f893c1d4234.tar.gz
gnu: vm: Add build users.
* gnu/system/shadow.scm (guix-build-accounts): New procedure. * gnu/system/vm.scm (system-qemu-image): Use it. Add the "guixbuild" group. * gnu/system/dmd.scm (guix-service): Add 'builder-group' parameter. Pass 'guix-daemon' the '--build-users-group' option.
Diffstat (limited to 'gnu/system/vm.scm')
-rw-r--r--gnu/system/vm.scm39
1 files changed, 24 insertions, 15 deletions
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 52beb18108..daa023458e 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -462,6 +462,9 @@ Happy birthday, GNU! http://www.gnu.org/gnu30
(static-networking-service store "eth0" "10.0.2.10"
#:gateway "10.0.2.2")))
+ (define build-accounts
+ (guix-build-accounts store 10))
+
(define resolv.conf
;; Name resolution for default QEMU settings.
(add-text-to-store store "resolv.conf"
@@ -482,20 +485,21 @@ Happy birthday, GNU! http://www.gnu.org/gnu30
(dmd-file (string-append (derivation->output-path dmd-drv)
"/bin/dmd"))
(dmd-conf (dmd-configuration-file store %dmd-services))
- (accounts (list (user-account
- (name "root")
- (password "")
- (uid 0) (gid 0)
- (comment "System administrator")
- (home-directory "/")
- (shell bash-file))
- (user-account
- (name "guest")
- (password "")
- (uid 1000) (gid 100)
- (comment "Guest of GNU")
- (home-directory "/home/guest")
- (shell bash-file))))
+ (accounts (cons* (user-account
+ (name "root")
+ (password "")
+ (uid 0) (gid 0)
+ (comment "System administrator")
+ (home-directory "/")
+ (shell bash-file))
+ (user-account
+ (name "guest")
+ (password "")
+ (uid 1000) (gid 100)
+ (comment "Guest of GNU")
+ (home-directory "/home/guest")
+ (shell bash-file))
+ build-accounts))
(passwd (passwd-file store accounts))
(shadow (passwd-file store accounts #:shadow? #t))
(group (group-file store
@@ -505,7 +509,12 @@ Happy birthday, GNU! http://www.gnu.org/gnu30
(user-group
(name "users")
(id 100)
- (members '("guest"))))))
+ (members '("guest")))
+ (user-group
+ (name "guixbuild")
+ (id 30000)
+ (members (map user-account-name
+ build-accounts))))))
(pam.d-drv (pam-services->directory store %pam-services))
(pam.d (derivation->output-path pam.d-drv))