diff --git a/gnu/system.scm b/gnu/system.scm index c2be74b6d5..41ea59b69b 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -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))) 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."