diff options
author | Efraim Flashner <efraim@flashner.co.il> | 2023-01-30 11:33:18 +0200 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2023-01-30 12:39:40 +0200 |
commit | 4cf1acc7f3033b50b0bf19e02c9f522d522d338c (patch) | |
tree | 9fd64956ee60304c15387eb394cd649e49f01467 /gnu/system.scm | |
parent | edb8c09addd186d9538d43b12af74d6c7aeea082 (diff) | |
parent | 595b53b74e3ef57a1c0c96108ba86d38a170a241 (diff) | |
download | guix-4cf1acc7f3033b50b0bf19e02c9f522d522d338c.tar.gz |
Merge remote-tracking branch 'origin/master' into core-updates
Conflicts: doc/guix.texi gnu/local.mk gnu/packages/admin.scm gnu/packages/base.scm gnu/packages/chromium.scm gnu/packages/compression.scm gnu/packages/databases.scm gnu/packages/diffoscope.scm gnu/packages/freedesktop.scm gnu/packages/gnome.scm gnu/packages/gnupg.scm gnu/packages/guile.scm gnu/packages/inkscape.scm gnu/packages/llvm.scm gnu/packages/openldap.scm gnu/packages/pciutils.scm gnu/packages/ruby.scm gnu/packages/samba.scm gnu/packages/sqlite.scm gnu/packages/statistics.scm gnu/packages/syndication.scm gnu/packages/tex.scm gnu/packages/tls.scm gnu/packages/version-control.scm gnu/packages/xml.scm guix/build-system/copy.scm guix/scripts/home.scm
Diffstat (limited to 'gnu/system.scm')
-rw-r--r-- | gnu/system.scm | 64 |
1 files changed, 35 insertions, 29 deletions
diff --git a/gnu/system.scm b/gnu/system.scm index 9c2e50bec5..0109e9a712 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -38,6 +38,7 @@ #:use-module (guix gexp) #:use-module (guix records) #:use-module (guix packages) + #:use-module (guix deprecation) #:use-module (guix derivations) #:use-module (guix profiles) #:use-module ((guix utils) #:select (substitute-keyword-arguments)) @@ -49,9 +50,6 @@ #: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) @@ -265,7 +263,8 @@ VERSION is the target version of the boot-parameters record." (packages operating-system-packages ; list of (PACKAGE OUTPUT...) (default %base-packages)) ; or just PACKAGE - (timezone operating-system-timezone) ; string + (timezone operating-system-timezone + (default "Etc/UTC")) ; string (locale operating-system-locale ; string (default "en_US.utf8")) (locale-definitions operating-system-locale-definitions ; list of <locale-definition> @@ -575,6 +574,14 @@ marked as 'needed-for-boot'." (service file-system-service-type (map add-dependencies file-systems))) +(define (boot-file-system-service os) + "Return a service which adds, to the system profile, packages providing the +utilities for the file systems marked as 'needed-for-boot' in OS." + (let ((file-systems (filter file-system-needed-for-boot? + (operating-system-file-systems os)))) + (simple-service 'boot-file-system-utilities profile-service-type + (file-system-utilities file-systems)))) + (define (mapped-device-users device file-systems) "Return the subset of FILE-SYSTEMS that use DEVICE." (let ((targets (map (cut string-append "/dev/mapper/" <>) @@ -720,13 +727,14 @@ bookkeeping." (define known-fs (map file-system-mount-point (operating-system-file-systems os))) - (let* ((mappings (device-mapping-services os)) - (root-fs (root-file-system-service)) - (other-fs (non-boot-file-system-service os)) - (swaps (swap-services os)) - (procs (service user-processes-service-type)) - (host-name (host-name-service (operating-system-host-name os))) - (entries (operating-system-directory-base-entries os))) + (let* ((mappings (device-mapping-services os)) + (root-fs (root-file-system-service)) + (boot-fs (boot-file-system-service os)) + (non-boot-fs (non-boot-file-system-service os)) + (swaps (swap-services os)) + (procs (service user-processes-service-type)) + (host-name (host-name-service (operating-system-host-name os))) + (entries (operating-system-directory-base-entries os))) (cons* (service system-service-type entries) (service linux-builder-service-type (linux-builder-configuration @@ -757,7 +765,7 @@ bookkeeping." (operating-system-setuid-programs os)) (service profile-service-type (operating-system-packages os)) - other-fs + boot-fs non-boot-fs (append mappings swaps ;; Add the firmware service. @@ -848,6 +856,8 @@ of PROVENANCE-SERVICE-TYPE to its services." (cons* procps psmisc which shadow ;for 'passwd' + e2fsprogs ;for lsattr, chattr, etc. + guile-3.0-latest ;; The packages below are also in %FINAL-INPUTS, so take them from @@ -886,25 +896,12 @@ 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 - xfsprogs)) +(define-deprecated %base-packages-disk-utilities #f '()) (define %base-packages ;; Default set of packages globally visible. It should include anything ;; required for basic administrator tasks. - (append (list e2fsprogs) - %base-packages-artwork + (append %base-packages-artwork %base-packages-interactive %base-packages-linux %base-packages-networking @@ -1050,6 +1047,9 @@ fi (bashrc (plain-file "bashrc" "\ # Bash-specific initialization. +# Provide a default prompt. The user's ~/.bashrc can override it. +PS1='\\u@\\h \\w${GUIX_ENVIRONMENT:+ [env]}\\$ ' + # The 'bash-completion' package. if [ -f /run/current-system/profile/etc/profile.d/bash_completion.sh ] then @@ -1482,8 +1482,14 @@ a list of <menu-entry>, to populate the \"old entries\" menu." (cross-libc target)) glibc)) (exec-server-command - (list (file-append libc "/lib/ld.so.1") "exec" - (file-append hurd "/hurd/exec") "'$(exec-task=task-create)'"))) + ;; XXX: Run the statically-linked 'exec' to work around + ;; <https://issues.guix.gnu.org/58631>, which manifests on some + ;; machines. + + ;; (list (file-append libc "/lib/ld.so.1") "exec" + ;; (file-append hurd "/hurd/exec") "'$(exec-task=task-create)'") + (list (file-append hurd "/hurd/exec.static") "exec" + "'$(exec-task=task-create)'"))) (list root-file-system-command exec-server-command))) (define* (operating-system-boot-parameters os root-device |