;;; 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 (gnu installer utils) #:use-module (guix records) #:use-module (guix read-print) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) #:use-module (srfi srfi-9 gnu) #:export ( user make-user user-name user-real-name user-group user-home-directory user-password users->configuration)) (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")))) (define-syntax-rule (G_ str) str) `(,(vertical-space 1) ,(comment (G_ ";; The list of user accounts ('root' is implicit).\n")) (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)))) th>Commit message (Expand)Author 2021-02-22packages: 'package-field-location' handles 'search-path' returning #f....Fixes <https://bugs.gnu.org/46390>. Reported by zimoun <zimon.toutoune@gmail.com>. This is similar to the fix in d10474c38d58bdc676e64336769dc2e00cdfa8ed. * guix/packages.scm (package-field-location): Handle FILE not in %LOAD-PATH. * tests/guix-lint.sh: Add test. Ludovic Courtès 2020-09-28tests: Simplify shell exit status negation;...* tests/guix-archive.sh, tests/guix-build-branch.sh, tests/guix-build.sh, tests/guix-daemon.sh, tests/guix-download.sh, tests/guix-environment.sh, tests/guix-gc.sh, tests/guix-git-authenticate.sh, tests/guix-graph.sh, tests/guix-hash.sh, tests/guix-lint.sh, tests/guix-pack-relocatable.sh, tests/guix-pack.sh, tests/guix-package-aliases.sh, tests/guix-package-net.sh, tests/guix-package.sh: Use the shell '!' keyword to negate command exit status in place of 'if ...; then false; else true; fi' Eric Bavier 2020-08-23lint: formatting: Gracefully handle relative file names....Fixes <https://bugs.gnu.org/42543>. Reported by Jack Hill <jackhill@jackhill.us>. * guix/lint.scm (check-formatting): Always return a list (previously we would return #f when 'search-path' returns #f). Check whether LOCATION's file is a relative file name. Return a warning if not. * tests/guix-lint.sh: Add test. Ludovic Courtès 2019-12-08lint: Add '--load-path' option....* guix/scripts/lint.scm (%options): Add '--load-path' option. * doc/guix.texi: Document it. * tests/guix-lint.sh: Test it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> zimoun