system: Augment the default set of groups.

* gnu/system/shadow.scm (%base-groups): New variable.
* gnu/system.scm (<operating-system>)[groups]: Use it as the default.
This commit is contained in:
Ludovic Courtès 2014-06-22 22:16:14 +02:00
parent 72507e23b5
commit 773e956d5d
2 changed files with 23 additions and 4 deletions

View file

@ -92,9 +92,7 @@ (define-record-type* <operating-system> operating-system
(users operating-system-users ; list of user accounts
(default '()))
(groups operating-system-groups ; list of user groups
(default (list (user-group
(name "root")
(id 0)))))
(default %base-groups))
(skeletons operating-system-skeletons ; list of name/monadic value
(default (default-skeletons)))

View file

@ -42,7 +42,8 @@ (define-module (gnu system shadow)
user-group-id
default-skeletons
skeleton-directory))
skeleton-directory
%base-groups))
;;; Commentary:
;;;
@ -71,6 +72,26 @@ (define-record-type* <user-group>
(password user-group-password (default #f))
(id user-group-id (default #f)))
(define %base-groups
;; Default set of groups.
(list (user-group (name "root") (id 0))
(user-group (name "wheel")) ; root-like users
(user-group (name "users")) ; normal users
(user-group (name "nogroup")) ; for daemons etc.
;; The following groups are conventionally used by things like udev to
;; control access to hardware devices.
(user-group (name "tty"))
(user-group (name "dialout"))
(user-group (name "kmem"))
(user-group (name "video"))
(user-group (name "audio"))
(user-group (name "lp"))
(user-group (name "disk"))
(user-group (name "floppy"))
(user-group (name "cdrom"))
(user-group (name "tape"))))
(define (default-skeletons)
"Return the default skeleton files for /etc/skel. These files are copied by
'useradd' in the home directory of newly created user accounts."