~ruther/guix-local

773e956d5d5743c246f8e7199d9b43e4d32b403c — Ludovic Courtès 11 years ago 72507e2
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.
2 files changed, 23 insertions(+), 4 deletions(-)

M gnu/system.scm
M gnu/system/shadow.scm
M gnu/system.scm => gnu/system.scm +1 -3
@@ 92,9 92,7 @@
  (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)))

M gnu/system/shadow.scm => gnu/system/shadow.scm +22 -1
@@ 42,7 42,8 @@
            user-group-id

            default-skeletons
            skeleton-directory))
            skeleton-directory
            %base-groups))

;;; Commentary:
;;;


@@ 71,6 72,26 @@
  (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."