X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/2a5f0db4c45679cac6a747a48993fe73982cadca..d588422e139e7b45eec9ef291673de30b768e22b:/gnu/system.scm diff --git a/gnu/system.scm b/gnu/system.scm index d4759a08ad..5be24ba586 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2015 Mark H Weaver -;;; Copyright © 2015 Alex Kost +;;; Copyright © 2015, 2016 Alex Kost ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,6 +40,7 @@ #:use-module (gnu packages lsof) #:use-module (gnu packages gawk) #:use-module (gnu packages man) + #:use-module (gnu packages texinfo) #:use-module (gnu packages compression) #:use-module (gnu packages firmware) #:autoload (gnu packages cryptsetup) (cryptsetup) @@ -359,10 +360,12 @@ explicitly appear in OS." ;; wireless-tools is deprecated in favor of iw, but it's still what ;; many people are familiar with, so keep it around. - iw wireless-tools + iw wireless-tools rfkill + iproute net-tools ; XXX: remove when Inetutils suffices man-db + texinfo ;for the standalone Info reader ;; The 'sudo' command is already in %SETUID-PROGRAMS, but we also ;; want the other commands and the man pages (notably because @@ -475,6 +478,9 @@ then export `cat /etc/environment | cut -d= -f1` fi +# Set the umask, notably for users logging in via 'lsh'. +# See . +umask 022 # Allow GStreamer-based applications to find plugins. export GST_PLUGIN_PATH=\"$HOME/.guix-profile/lib/gstreamer-1.0\" @@ -581,8 +587,10 @@ use 'plain-file' instead~%") ("SSL_CERT_DIR" . "/etc/ssl/certs") ("SSL_CERT_FILE" . "/etc/ssl/certs/ca-certificates.crt") ("GIT_SSL_CAINFO" . "/etc/ssl/certs/ca-certificates.crt") - ;; Append the directory of 'site-start.el' to the search path. - ("EMACSLOADPATH" . ":/etc/emacs") + ;; Prepend the directory of 'site-start.el' to the search path, so + ;; that it has higher precedence than the 'site-start.el' file our + ;; Emacs package provides. + ("EMACSLOADPATH" . "/etc/emacs:") ;; By default, applications that use D-Bus, such as Emacs, abort at startup ;; when /etc/machine-id is missing. Make sure these warnings are non-fatal. ("DBUS_FATAL_WARNINGS" . "0"))) @@ -665,18 +673,31 @@ hardware-related operations as necessary when booting a Linux container." #:mapped-devices mapped-devices))) (return #~(string-append #$initrd "/initrd")))) +(define (locale-name->definition* name) + "Variant of 'locale-name->definition' that raises an error upon failure." + (match (locale-name->definition name) + (#f + (raise (condition + (&message + (message (format #f (_ "~a: invalid locale name") name)))))) + (def def))) + (define (operating-system-locale-directory os) "Return the directory containing the locales compiled for the definitions listed in OS. The C library expects to find it under /run/current-system/locale." - ;; While we're at it, check whether the locale of OS is defined. - (unless (member (operating-system-locale os) - (map locale-definition-name - (operating-system-locale-definitions os))) - (raise (condition - (&message (message "system locale lacks a definition"))))) - - (locale-directory (operating-system-locale-definitions os) + (define name + (operating-system-locale os)) + + (define definitions + ;; While we're at it, check whether NAME is defined and add it if needed. + (if (member name (map locale-definition-name + (operating-system-locale-definitions os))) + (operating-system-locale-definitions os) + (cons (locale-name->definition* name) + (operating-system-locale-definitions os)))) + + (locale-directory definitions #:libcs (operating-system-locale-libcs os))) (define (kernel->grub-label kernel) @@ -684,7 +705,7 @@ listed in OS. The C library expects to find it under (string-append "GNU with " (string-titlecase (package-name kernel)) " " (package-version kernel) - " (alpha)")) + " (beta)")) (define (store-file-system file-systems) "Return the file system object among FILE-SYSTEMS that contains the store."