summary refs log tree commit diff
path: root/gnu/system
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-06-22 22:16:14 +0200
committerLudovic Courtès <ludo@gnu.org>2014-06-22 22:16:14 +0200
commit773e956d5d5743c246f8e7199d9b43e4d32b403c (patch)
tree657e41daa490445dad552527704d0614a9bd8f59 /gnu/system
parent72507e23b5aeb6b0308d8c4db8d2286095b845ad (diff)
downloadguix-773e956d5d5743c246f8e7199d9b43e4d32b403c.tar.gz
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.
Diffstat (limited to 'gnu/system')
-rw-r--r--gnu/system/shadow.scm23
1 files changed, 22 insertions, 1 deletions
diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm
index 471390da61..fc19068ab6 100644
--- a/gnu/system/shadow.scm
+++ b/gnu/system/shadow.scm
@@ -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."