;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu installer user) #:use-module (guix records) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) #:use-module (srfi srfi-9 gnu) #:export ( secret? make-secret secret-content user make-user user-name user-real-name user-group user-home-directory user-password users->configuration)) (define-record-type (make-secret content) secret? (content secret-content)) (set-record-type-printer! (lambda (secret port) (format port ""))) (define-record-type* user make-user user? (name user-name) (real-name user-real-name (default "")) (group user-group (default "users")) (password user-password) (home-directory user-home-directory)) (define (users->configuration users) "Return the configuration field for USERS." (define (user->sexp user) `(user-account (name ,(user-name user)) (comment ,(user-real-name user)) (group ,(user-group user)) (home-directory ,(user-home-directory user)) (supplementary-groups '("wheel" "netdev" "audio" "video")))) `((users (cons* ,@(filter-map (lambda (user) ;; Do not emit a 'user-account' form for "root". (and (not (string=? (user-name user) "root")) (user->sexp user))) users) %base-user-accounts)))) howmsg=1'>Expand)Author 2024-11-26.guix-authorizations: Authorize Ekaitz Zarraga's key....* .guix-authorizations (ekaitz): Register PGP key fingerprint. Voucher: Efraim Flashner <efraim@flashner.co.il> Voucher: Ludovic Courtès <ludo@gnu.org> Voucher: Andreas Enge <andreas@enge.fr> Voucher: Janneke Nieuwenhuizen <janneke@gnu.org> Change-Id: I00d4ecea17aa59f5a7eeb4743b4df5b5416b44be Efraim Flashner 2024-09-08.guix-authorizations: Authorise Artyom V. Poptsov's key....* .guix-authorizations (avp): Register PGP key fingerprint. Voucher: Andrew Tropin <andrew@trop.in> Voucher: Ludovic Courtès <ludo@gnu.org> Voucher: Sharlatan Hellseher <sharlatanus@gmail.com> Change-Id: Id6f1d4042daad3708000b9b63064fbf7ad31f2d8 Tobias Geerinckx-Rice 2024-04-20Authorize the PGP key of Zheng Junjie (z572)....Welcome aboard! Voucher: Ludovic Courtès <ludo@gnu.org> Voucher: Christopher Baines <mail@cbaines.net> Voucher: 宋文武 <iyzsong@member.fsf.org> Change-Id: Id24cca4940f31468fda7c5d33cc3bef6854a66cd Maxim Cournoyer 2024-04-09.guix-authorizations: Remove Björn Höfling due to inactivity....* .guix-authorizations: Remove hoebjo. Change-Id: I270cef605de30e1924749ad143f166cca0b54e8d Leo Famulari 2024-04-09.guix-authorizations: Remove Raghav Gururajan due to inactivity....* .guix-authorizations: Remove raghavgururajan. Change-Id: Iec45c971c4ec4cd1721d9b6299dc44bc7bb1a94e Leo Famulari