diff options
author | Ludovic Courtès <ludo@gnu.org> | 2013-09-26 23:28:17 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2013-09-27 00:46:17 +0200 |
commit | d0c66871b12c491eca6a80c09b836f893c1d4234 (patch) | |
tree | c623176fe1bbfe6bdecd5f606858385d12424c75 /gnu/system/vm.scm | |
parent | 3abf9b440b97c35d078c60490723684ca757f480 (diff) | |
download | guix-patches-d0c66871b12c491eca6a80c09b836f893c1d4234.tar guix-patches-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.scm | 39 |
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)) |