summaryrefslogtreecommitdiff
path: root/gnu/system.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2023-01-30 11:33:18 +0200
committerEfraim Flashner <efraim@flashner.co.il>2023-01-30 12:39:40 +0200
commit4cf1acc7f3033b50b0bf19e02c9f522d522d338c (patch)
tree9fd64956ee60304c15387eb394cd649e49f01467 /gnu/system.scm
parentedb8c09addd186d9538d43b12af74d6c7aeea082 (diff)
parent595b53b74e3ef57a1c0c96108ba86d38a170a241 (diff)
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.scm64
1 files changed, 35 insertions, 29 deletions
diff --git a/gnu/system.scm b/gnu/system.scm
index 9c2e50bec5b..0109e9a7123 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -38,6 +38,7 @@
38 #:use-module (guix gexp) 38 #:use-module (guix gexp)
39 #:use-module (guix records) 39 #:use-module (guix records)
40 #:use-module (guix packages) 40 #:use-module (guix packages)
41 #:use-module (guix deprecation)
41 #:use-module (guix derivations) 42 #:use-module (guix derivations)
42 #:use-module (guix profiles) 43 #:use-module (guix profiles)
43 #:use-module ((guix utils) #:select (substitute-keyword-arguments)) 44 #:use-module ((guix utils) #:select (substitute-keyword-arguments))
@@ -49,9 +50,6 @@
49 #:use-module (gnu packages bash) 50 #:use-module (gnu packages bash)
50 #:use-module (gnu packages compression) 51 #:use-module (gnu packages compression)
51 #:use-module (gnu packages cross-base) 52 #:use-module (gnu packages cross-base)
52 #:use-module (gnu packages cryptsetup)
53 #:use-module (gnu packages disk)
54 #:use-module (gnu packages file-systems)
55 #:use-module (gnu packages firmware) 53 #:use-module (gnu packages firmware)
56 #:use-module (gnu packages gawk) 54 #:use-module (gnu packages gawk)
57 #:use-module (gnu packages guile) 55 #:use-module (gnu packages guile)
@@ -265,7 +263,8 @@ VERSION is the target version of the boot-parameters record."
265 (packages operating-system-packages ; list of (PACKAGE OUTPUT...) 263 (packages operating-system-packages ; list of (PACKAGE OUTPUT...)
266 (default %base-packages)) ; or just PACKAGE 264 (default %base-packages)) ; or just PACKAGE
267 265
268 (timezone operating-system-timezone) ; string 266 (timezone operating-system-timezone
267 (default "Etc/UTC")) ; string
269 (locale operating-system-locale ; string 268 (locale operating-system-locale ; string
270 (default "en_US.utf8")) 269 (default "en_US.utf8"))
271 (locale-definitions operating-system-locale-definitions ; list of <locale-definition> 270 (locale-definitions operating-system-locale-definitions ; list of <locale-definition>
@@ -575,6 +574,14 @@ marked as 'needed-for-boot'."
575 (service file-system-service-type 574 (service file-system-service-type
576 (map add-dependencies file-systems))) 575 (map add-dependencies file-systems)))
577 576
577(define (boot-file-system-service os)
578 "Return a service which adds, to the system profile, packages providing the
579utilities for the file systems marked as 'needed-for-boot' in OS."
580 (let ((file-systems (filter file-system-needed-for-boot?
581 (operating-system-file-systems os))))
582 (simple-service 'boot-file-system-utilities profile-service-type
583 (file-system-utilities file-systems))))
584
578(define (mapped-device-users device file-systems) 585(define (mapped-device-users device file-systems)
579 "Return the subset of FILE-SYSTEMS that use DEVICE." 586 "Return the subset of FILE-SYSTEMS that use DEVICE."
580 (let ((targets (map (cut string-append "/dev/mapper/" <>) 587 (let ((targets (map (cut string-append "/dev/mapper/" <>)
@@ -720,13 +727,14 @@ bookkeeping."
720 (define known-fs 727 (define known-fs
721 (map file-system-mount-point (operating-system-file-systems os))) 728 (map file-system-mount-point (operating-system-file-systems os)))
722 729
723 (let* ((mappings (device-mapping-services os)) 730 (let* ((mappings (device-mapping-services os))
724 (root-fs (root-file-system-service)) 731 (root-fs (root-file-system-service))
725 (other-fs (non-boot-file-system-service os)) 732 (boot-fs (boot-file-system-service os))
726 (swaps (swap-services os)) 733 (non-boot-fs (non-boot-file-system-service os))
727 (procs (service user-processes-service-type)) 734 (swaps (swap-services os))
728 (host-name (host-name-service (operating-system-host-name os))) 735 (procs (service user-processes-service-type))
729 (entries (operating-system-directory-base-entries os))) 736 (host-name (host-name-service (operating-system-host-name os)))
737 (entries (operating-system-directory-base-entries os)))
730 (cons* (service system-service-type entries) 738 (cons* (service system-service-type entries)
731 (service linux-builder-service-type 739 (service linux-builder-service-type
732 (linux-builder-configuration 740 (linux-builder-configuration
@@ -757,7 +765,7 @@ bookkeeping."
757 (operating-system-setuid-programs os)) 765 (operating-system-setuid-programs os))
758 (service profile-service-type 766 (service profile-service-type
759 (operating-system-packages os)) 767 (operating-system-packages os))
760 other-fs 768 boot-fs non-boot-fs
761 (append mappings swaps 769 (append mappings swaps
762 770
763 ;; Add the firmware service. 771 ;; Add the firmware service.
@@ -848,6 +856,8 @@ of PROVENANCE-SERVICE-TYPE to its services."
848 (cons* procps psmisc which 856 (cons* procps psmisc which
849 shadow ;for 'passwd' 857 shadow ;for 'passwd'
850 858
859 e2fsprogs ;for lsattr, chattr, etc.
860
851 guile-3.0-latest 861 guile-3.0-latest
852 862
853 ;; The packages below are also in %FINAL-INPUTS, so take them from 863 ;; The packages below are also in %FINAL-INPUTS, so take them from
@@ -886,25 +896,12 @@ of PROVENANCE-SERVICE-TYPE to its services."
886 ;; many people are familiar with, so keep it around. 896 ;; many people are familiar with, so keep it around.
887 iw wireless-tools)) 897 iw wireless-tools))
888 898
889(define %base-packages-disk-utilities 899(define-deprecated %base-packages-disk-utilities #f '())
890 ;; A well-rounded set of packages for interacting with disks, partitions
891 ;; and filesystems.
892 (list parted gptfdisk ddrescue
893 ;; We used to provide fdisk from GNU fdisk, but as of version 2.0.0a
894 ;; it pulls Guile 1.8, which takes unreasonable space; furthermore
895 ;; util-linux's fdisk is already available, in %base-packages-linux.
896 cryptsetup mdadm
897 dosfstools
898 btrfs-progs
899 f2fs-tools
900 jfsutils
901 xfsprogs))
902 900
903(define %base-packages 901(define %base-packages
904 ;; Default set of packages globally visible. It should include anything 902 ;; Default set of packages globally visible. It should include anything
905 ;; required for basic administrator tasks. 903 ;; required for basic administrator tasks.
906 (append (list e2fsprogs) 904 (append %base-packages-artwork
907 %base-packages-artwork
908 %base-packages-interactive 905 %base-packages-interactive
909 %base-packages-linux 906 %base-packages-linux
910 %base-packages-networking 907 %base-packages-networking
@@ -1050,6 +1047,9 @@ fi
1050 (bashrc (plain-file "bashrc" "\ 1047 (bashrc (plain-file "bashrc" "\
1051# Bash-specific initialization. 1048# Bash-specific initialization.
1052 1049
1050# Provide a default prompt. The user's ~/.bashrc can override it.
1051PS1='\\u@\\h \\w${GUIX_ENVIRONMENT:+ [env]}\\$ '
1052
1053# The 'bash-completion' package. 1053# The 'bash-completion' package.
1054if [ -f /run/current-system/profile/etc/profile.d/bash_completion.sh ] 1054if [ -f /run/current-system/profile/etc/profile.d/bash_completion.sh ]
1055then 1055then
@@ -1482,8 +1482,14 @@ a list of <menu-entry>, to populate the \"old entries\" menu."
1482 (cross-libc target)) 1482 (cross-libc target))
1483 glibc)) 1483 glibc))
1484 (exec-server-command 1484 (exec-server-command
1485 (list (file-append libc "/lib/ld.so.1") "exec" 1485 ;; XXX: Run the statically-linked 'exec' to work around
1486 (file-append hurd "/hurd/exec") "'$(exec-task=task-create)'"))) 1486 ;; <https://issues.guix.gnu.org/58631>, which manifests on some
1487 ;; machines.
1488
1489 ;; (list (file-append libc "/lib/ld.so.1") "exec"
1490 ;; (file-append hurd "/hurd/exec") "'$(exec-task=task-create)'")
1491 (list (file-append hurd "/hurd/exec.static") "exec"
1492 "'$(exec-task=task-create)'")))
1487 (list root-file-system-command exec-server-command))) 1493 (list root-file-system-command exec-server-command)))
1488 1494
1489(define* (operating-system-boot-parameters os root-device 1495(define* (operating-system-boot-parameters os root-device