aboutsummaryrefslogtreecommitdiff
path: root/gnu/system.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/system.scm')
-rw-r--r--gnu/system.scm51
1 files changed, 42 insertions, 9 deletions
diff --git a/gnu/system.scm b/gnu/system.scm
index ab1b0ff3de..a3122eaa65 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -5,11 +5,13 @@
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Meiyo Peng <meiyo.peng@gmail.com>
+;;; Copyright © 2019 Miguel Ángel Arruga Vivas <rosen644835@gmail.com>
;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <jannek@gnu.org>
+;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -38,24 +40,28 @@
#:use-module ((guix utils) #:select (substitute-keyword-arguments))
#:use-module (guix i18n)
#:use-module (guix diagnostics)
+ #:use-module (gnu packages admin)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages cross-base)
+ #:use-module (gnu packages cryptsetup)
+ #:use-module (gnu packages disk)
+ #:use-module (gnu packages file-systems)
+ #:use-module (gnu packages firmware)
+ #:use-module (gnu packages gawk)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
- #:use-module (gnu packages admin)
#:use-module (gnu packages hurd)
- #:use-module (gnu packages linux)
- #:use-module (gnu packages pciutils)
- #:use-module (gnu packages package-management)
#:use-module (gnu packages less)
- #:use-module (gnu packages zile)
- #:use-module (gnu packages nano)
- #:use-module (gnu packages gawk)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages man)
+ #:use-module (gnu packages nano)
+ #:use-module (gnu packages nvi)
+ #:use-module (gnu packages package-management)
+ #:use-module (gnu packages pciutils)
#:use-module (gnu packages texinfo)
- #:use-module (gnu packages compression)
- #:use-module (gnu packages firmware)
+ #:use-module (gnu packages zile)
#:use-module (gnu services)
#:use-module (gnu services shepherd)
#:use-module (gnu services base)
@@ -143,6 +149,7 @@
boot-parameters-bootloader-menu-entries
boot-parameters-store-device
boot-parameters-store-mount-point
+ boot-parameters-locale
boot-parameters-kernel
boot-parameters-kernel-arguments
boot-parameters-initrd
@@ -159,6 +166,7 @@
%base-packages-interactive
%base-packages-linux
%base-packages-networking
+ %base-packages-disk-utilities
%base-packages-utils
%base-firmware
%default-kernel-arguments))
@@ -291,6 +299,7 @@ directly by the user."
boot-parameters-bootloader-menu-entries)
(store-device boot-parameters-store-device)
(store-mount-point boot-parameters-store-mount-point)
+ (locale boot-parameters-locale)
(kernel boot-parameters-kernel)
(kernel-arguments boot-parameters-kernel-arguments)
(initrd boot-parameters-initrd)
@@ -368,6 +377,11 @@ file system labels."
((_ args) args)
(#f '())))
+ (locale
+ (match (assq 'locale rest)
+ ((_ locale) locale)
+ (#f #f)))
+
(store-device
;; Linux device names like "/dev/sda1" are not suitable GRUB device
;; identifiers, so we just filter them out.
@@ -710,6 +724,7 @@ of PROVENANCE-SERVICE-TYPE to its services."
(define %base-packages-interactive
;; Default set of common interactive packages.
(list less zile nano
+ nvi
man-db
info-reader ;the standalone Info reader (no Perl)
bash-completion
@@ -728,6 +743,19 @@ of PROVENANCE-SERVICE-TYPE to its services."
;; many people are familiar with, so keep it around.
iw wireless-tools))
+(define %base-packages-disk-utilities
+ ;; A well-rounded set of packages for interacting with disks, partitions
+ ;; and filesystems.
+ (list parted gptfdisk ddrescue
+ ;; We used to provide fdisk from GNU fdisk, but as of version 2.0.0a
+ ;; it pulls Guile 1.8, which takes unreasonable space; furthermore
+ ;; util-linux's fdisk is already available, in %base-packages-linux.
+ cryptsetup mdadm
+ dosfstools
+ btrfs-progs
+ f2fs-tools
+ jfsutils))
+
(define %base-packages
;; Default set of packages globally visible. It should include anything
;; required for basic administrator tasks.
@@ -1214,6 +1242,7 @@ a list of <menu-entry>, to populate the \"old entries\" menu."
(let* ((file-systems (operating-system-file-systems os))
(root-fs (operating-system-root-file-system os))
(root-device (file-system-device root-fs))
+ (locale (operating-system-locale os))
(params (operating-system-boot-parameters
os root-device
#:system-kernel-arguments? #t))
@@ -1226,6 +1255,7 @@ a list of <menu-entry>, to populate the \"old entries\" menu."
(generate-config-file bootloader-conf (list entry)
#:old-entries old-entries
+ #:locale locale
#:store-directory-prefix
(btrfs-store-subvolume-file-name file-systems))))
@@ -1264,6 +1294,7 @@ such as '--root' and '--load' to <boot-parameters>."
(let* ((initrd (and (not (operating-system-hurd os))
(operating-system-initrd-file os)))
(store (operating-system-store-file-system os))
+ (locale (operating-system-locale os))
(bootloader (bootloader-configuration-bootloader
(operating-system-bootloader os)))
(bootloader-name (bootloader-name bootloader))
@@ -1282,6 +1313,7 @@ such as '--root' and '--load' to <boot-parameters>."
(bootloader-name bootloader-name)
(bootloader-menu-entries
(bootloader-configuration-menu-entries (operating-system-bootloader os)))
+ (locale locale)
(store-device (ensure-not-/dev (file-system-device store)))
(store-mount-point (file-system-mount-point store)))))
@@ -1334,6 +1366,7 @@ being stored into the \"parameters\" file)."
(or (and=> (operating-system-bootloader os)
bootloader-configuration-menu-entries)
'())))
+ (locale #$(boot-parameters-locale params))
(store
(device
#$(device->sexp (boot-parameters-store-device params)))