Commit graph

1180 commits

Author SHA1 Message Date
Felix Lechner
5ec2223c71
Offer a uniform decorated-boot-label and use it.
* gnu/system/boot.scm (decorated-boot-label): New procedure.
* gnu/machine/ssh.scm (machine-boot-parameters): Use
  decorated-boot-label.
* guix/scripts/system.scm
  (profile-boot-parameters)[system->boot-parameters]: Use
  decorated-boot-label.

Change-Id: Id348c3047df2353f76b1bad0eb2a3e0fa17e474c
2024-10-08 10:36:35 -04:00
Felix Lechner
42d65fe2eb
Move epoch->date-string to gnu/system/boot.scm and use it elsewhere.
* guix/scripts/system.scm (profile-boot-parameters): Rename time to
  epoch to fit new procedure name.
  (epoch->date-string): Move to...
* gnu/system/boot.scm (epoch->date-string): ...here.
* gnu/machine/ssh.scm (machine-boot-parameters): Rename time to epoch.
  (machine-boot-parameters)[boot-parameters]: Use epoch->date-string.

Change-Id: I6a5f793567221f81edd7b2d8d9f0f3e801d1b113
2024-10-08 10:36:34 -04:00
Felix Lechner
b452d525d6
Move <boot-parameters> record to a separate file.
Required to avoid a missing dependency error on build-side.

* gnu/system.scm (<boot-parameters>): Move this record, and...
  (system-linux-image-file-name, %boot-parameters-version,
  bootable-kernel-arguments, ensure-not-/dev, read-boot-parameters,
  read-boot-parameters-file, boot-parameters->menu-entry):
  ...these procedures, to...

* gnu/system/boot.scm: ...this new file.

* gnu/machine/ssh.scm, gnu/system.scm, guix/scripts/system.scm,
  tests/boot-parameters.scm: Use new module above.

* gnu/local.mk (GNU_SYSTEM_MODULES): Add new module above.

* gnu/machine/ssh.scm (machine-boot-parameters): Don't private-import
  bootable-kernel-arguments.

Change-Id: I50cca8d2187879cd351b8e9332e1e114ca5096ae
2024-10-08 10:36:34 -04:00
Tobias Geerinckx-Rice
7eddfea4a0
images: wsl2: Update comment.
* gnu/system/images/wsl2.scm (wsl-boot-program): Update privileged
program directory in a comment.

Change-Id: I65906cbfbcd17ff164837ad293dc4324314bfcf1
2024-09-08 02:00:00 +02:00
Tobias Geerinckx-Rice
0dd8e4c351
privilege: Add file-like->setuid-program helper.
* gnu/system/privilege.scm (file-like->setuid-program): New public
procedure.
* gnu/system/setuid.scm: Re-export it for compatibility.
(file-like->setuid-program): Remove this old version.
* gnu/services/docker.scm (singularity-setuid-programs): Use it (again).
* gnu/services/desktop.scm (enlightenment-privileged-programs): Likewise.

Change-Id: I8e41144438677a15cdadb3063651dbc780715497
2024-09-08 02:00:00 +02:00
Tobias Geerinckx-Rice
876c343bbf
uuid: Add support for exFAT.
We expect users to use the generic STRING->FAT-UUID procedure.
This is consistent with how we already treat FAT32 vs FAT16.
It is not consistent with how we export 8 different aliases for
STRING->DCE-UUID, but I'm unconvinced that would be better.

* gnu/system/uuid.scm (%uuid-parsers, %uuid-printers):
Add the ‘exfat’ file system type.

Change-Id: Ia31482716e4395f9f10f794f49fb31c9f330a2e3
2024-09-01 02:00:00 +02:00
Ludovic Courtès
9d17cda3d9
system: locale: ‘glibc-supported-locales’ uses zstd instead of xz.
This is a followup to c9666c120b.

Fixes <https://issues.guix.gnu.org/73065>.

* gnu/system/locale.scm (glibc-supported-locales): Change XZ to ZSTD.

Change-Id: Ie3cb5d50648a0698ce5246591fb405e4eb690af5
2024-09-09 17:17:55 +02:00
Josselin Poiret
ede5ae459b
gnu: %default-locale-libcs: Add glibc-2.35 and generalize for Hurd.
* gnu/system/locale.scm (%default-locale-libcs): Stop checking for Hurd, since
we have the same libc now.  Also add glibc-2.35 while the transition happens.

Change-Id: I1f4980d18184580f3a42a86ca244c8015df15269
2024-08-31 10:45:04 +02:00
Ludovic Courtès
ce40b1c655
install: Set ‘privileged-programs’ rather than ‘setuid-programs’.
* gnu/system/install.scm (installation-os)[setuid-programs]: Remove.
[privileged-programs]: New field.

Change-Id: I5c93f282f5ec790f13ac076e0ab0f6d59d92d59d
2024-08-19 16:41:07 +02:00
Ludovic Courtès
b51990057c
system: hurd: Empty default ‘privileged-programs’ list.
Fixes a bug whereby Hurd systems would find themselves including
‘%default-privileged-programs’ in addition to ‘%setuid-programs/hurd’.

* gnu/system/hurd.scm (%hurd-default-operating-system)[privileged-programs]:
New field.

Change-Id: I5b6a55a8df7e6af697d22166e9f483f6dd816e64
2024-08-19 16:36:44 +02:00
Tobias Geerinckx-Rice
71f0676a29
privilege: Add POSIX capabilities(7) support.
* gnu/system/privilege.scm (<privileged-program>): Add a field
representing the program's POSIX capabilities.
(privileged-program-capabilities): New public procedure.
* doc/guix.texi (Privileged Programs): Document it.
* gnu/build/activation.scm (activate-privileged-programs): Take a LIBCAP
package argument providing setcap(8) to apply said capabilities.
* gnu/services.scm (privileged-program->activation-gexp): Pass said
package argument where supported.  Include privileged-program-capabilities
in the compatibility hack.
2024-08-11 02:00:00 +02:00
Tobias Geerinckx-Rice
9099f8bdcc
system: (gnu system setuid) wraps (gnu system privilege).
* gnu/system/setuid.scm (setuid-program): Rewrite as syntax to create a
<privileged-program> record that is setuid by default.
(setuid-program?, setuid-program-program, setuid-program-setuid?)
(setuid-program-setgid?, setuid-program-user, setuid-program-group):
Alias their privileged-program equivalent.
2024-08-11 02:00:00 +02:00
Tobias Geerinckx-Rice
39471f2627
system: Add (gnu system privilege).
* gnu/system/privilege.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
2024-08-11 02:00:00 +02:00
Richard Sent
579df5bc80
services: base: Add optional delayed mount of file-systems
Add a mechanism to only require mounting a subset of file-system entries
during early Shepherd initialization. Any file-system with additional Shepherd
service requirements (e.g. networking) is not required to provision
'file-systems.

* gnu/services/base.scm (file-system-shepherd-service): Splice
file-system-requirements into the Shepherd service requirement list.
(file-system-shepherd-services): Provision 'file-system only when file system
services without additional Shepherd requirements are started.
* gnu/system/file-systems.scm (file-system): Add shepherd-requirements field
to the file-system record. This field is used for adding additional Shepherd
requirements to a file-system Shepherd service.
* doc/guix.texi: Add documentation for file-system shepherd-requirements.

Change-Id: If0392db03d48e8820aa53df1df482c12ec72e1a5
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-06-04 12:08:34 +02:00
Maxim Cournoyer
afacfa33ec
gnu: linux-libre: Enable Zstd compression of kernel modules.
This brings the on disk size of the kernel from 164 MiB to 144 MiB, or about
12%.

* gnu/packages/linux.scm (default-extra-linux-options)
[version>=5.13]: Enable CONFIG_MODULE_COMPRESS_ZSTD, else
CONFIG_MODULE_COMPRESS_GZIP.
(make-linux-libre*) [phases] {set-environment}: Set ZSTD_CLEVEL environment
variable to 19.
[native-inputs]: Add zstd.
* gnu/build/linux-modules.scm (module-regex): Add .zst to regexp.  Update doc.
(modinfo-section-contents): Extend support to Zstd compressed module.
(dot-ko): Register the 'zstd compression type.
(ensure-dot-ko, file-name->module-name, load-linux-module*)
(module-name->file-name/guess, write-module-name-database)
(write-module-alias-database, write-module-device-database): Update doc.
(module-name-lookup): Also consider zstd-compressed modules.
* gnu/installer.scm (installer-program): Add guile-zstd extension to gexp.
* gnu/system/linux-initrd.scm (flat-linux-module-directory): Likewise.
Decompress zstd-compressed modules for use in initrd.
* guix/profiles.scm (linux-module-database): Add guile-zstd extension to gexp.

Change-Id: Ide899dc5c58ea5033583b1a91a92c025fc8d901a
2024-05-29 22:01:23 -04:00
Lars-Dominik Braun
ed5bf620ea
mapped-devices: lvm: Add missing module import.
Tested with (locally fixed) lvm-separate-home-os system test.

* gnu/system/mapped-devices.scm (lvm-device-mapping): Add SRFI-1 to
modules.

Change-Id: I8c155b47c29004bdc59057391dfba94ce33bdbc2
2024-05-27 19:30:22 +02:00
Zheng Junjie
327a1f0779
system: images: Add visionfive2 module.
* gnu/system/images/visionfive2.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.

Change-Id: I8831f1148bcddb0d604e1174034fca85cd2887a1
2024-05-22 11:15:30 +08:00
Zheng Junjie
e5078ff321
image: Raise error when use both grub-efi* bootloader and not gpt image.
* gnu/system/image.scm: Switch Inversion logic, it allow we use customize
bootloader with gpt image.

Change-Id: I801327f6e826a37588b8f0f5246ca820e742f721
2024-05-22 11:15:29 +08:00
Massimo Zaniboni
efbdfe1900
file-systems: Add "virtiofs" to the list of pseudo file system types.
* gnu/system/file-systems.scm (%pseudo-file-system-types): Add "virtiofs"
to the list of pseudo file system types.

Change-Id: Ib1d99127e65f6543c592faec1c54bd0c5eae3ad7
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-05-13 16:31:34 +02:00
Ludovic Courtès
5f89f45e74
linux-initrd: Further strip the static Guile.
‘guile-static-initrd’ weighs in at 46 MiB, compared to 54 MiB for
‘guile-static-stripped’ (15% reduction).

* gnu/packages/make-bootstrap.scm (make-guile-static-stripped): Add
‘directories-to-remove’ parameter and honor it.
(%guile-static-initrd): New variable.
* gnu/system/linux-initrd.scm (expression->initrd): Default to
‘%guile-static-initrd’.
* doc/guix.texi (Initial RAM Disk): Adjust accordingly.

Change-Id: I2baf06fed7a3698433e7c83b1d7726054a8c746e
2024-04-29 22:52:08 +02:00
Ludovic Courtès
6228a2b8ba
locale: Shrink ‘%default-locale-definitions’ from 34 to 10 locales.
This reduces the default set of locales from 92 MiB to 28 MiB.

* gnu/system/locale.scm (%default-locale-definitions): Reduce to 10
locales.

Change-Id: I3c092604301d69db591957bcfd62a062c3ac5ab0
2024-04-29 22:52:08 +02:00
Ludovic Courtès
0575933ac2
system: Remove ‘glibc-2.33’ from ‘%default-locale-libcs’.
The transition from glibc 2.33 to 2.35 was done in
c919bfefd9 (one year ago), so we can
assume that the backward-compatible locales are no longer needed by
default.

This removes 92 MiB from the system closure.

* gnu/system/locale.scm (%default-locale-libcs): Remove GLIBC-2.33.

Change-Id: I85948bbe6b2d424f9f158eeafdb5543688c66c6b
2024-04-29 22:44:06 +02:00
Maxim Cournoyer
65e8472a4b
system: Remove nss-certs from OS templates, adjust doc.
This is a follow-up to commit 86afaadb51 ("system: Add 'nss-certs' to
%base-packages-networking.")

* doc/guix-cookbook.texi (Running Guix on a Linode Server): Remove nss-certs
from operating system's packages field.
(Running Guix on a Kimsufi Server): Likewise.
* doc/guix.texi (Using the Configuration System): Likewise.
(X.509 Certificates): Adjust to mention nss-certs *is* part of %base-packages.
* gnu/installer/services.scm (%system-services): Remove recommendation to
install nss-certs.
* gnu/system/examples/bare-bones.tmpl (host-name): Remove obsolete comments.
* gnu/system/examples/desktop.tmpl (packages): Remove nss-certs.
* gnu/system/examples/lightweight-desktop.tmpl (packages): Likewise.
* gnu/system/examples/plasma.tmpl (packages): Likewise.
* gnu/system/examples/raspberry-pi-64-nfs-root.tmpl (packages): Likewise.
* gnu/system/examples/raspberry-pi-64.tmpl (packages): Likewise.
* gnu/system/examples/vm-image.tmpl (packages): Likewise.
* gnu/system/images/orangepi-r1-plus-lts-rk3328.scm (packages): Likewise.
* gnu/system/images/pine64.scm (packages): Likewise.
* gnu/system/install.scm (installation-os) [packages]: Likewise.

Change-Id: If09123a69b987178bcb0aab61c4570c14fc1286f
2024-04-18 10:43:06 -04:00
Ludovic Courtès
9f1ef20114
linux-initrd: Gracefully handle lack of “modules.builtin” file.
Fixes a regression introduced in
8f8ec56052, whereby passing a “fake”
kernel package would no longer work.

Fixes <https://issues.guix.gnu.org/70239>.

* gnu/system/linux-initrd.scm (flat-linux-module-directory)[build-exp]:
Gracefully handle lack of “modules.builtin” file.

Reported-by: Tomas Volf <~@wolfsden.cz>
Change-Id: I3acf48123b20f0b6a3b9cc0bf22f76cec3e64361
2024-04-17 12:13:01 +02:00
Ludovic Courtès
d33965908d
vm: Always use a native emulator in ‘guix system vm’.
Suggested by Zheng Junjie <zhengjunjie@iscas.ac.cn>.

* gnu/system/vm.scm (system-qemu-image/shared-store-script)[qemu-exec]:
Wrap first element in ‘with-parameters’.

Change-Id: Iab9905aaa7e80bad0372c1ee7c3ea88a89564f8f
2024-04-17 12:13:01 +02:00
Ludovic Courtès
49f82fca41
mapped-devices: luks: Specify modules needed at the top-level.
Fixes <https://issues.guix.gnu.org/70266>.

* gnu/system/mapped-devices.scm (luks-device-mapping)[modules]: New
field.
(open-luks-device): Remove non-top-level ‘use-modules’ form.
* gnu/system/linux-initrd.scm (raw-initrd): Remove modules that were
added specifically for ‘luks-device-mapping’.

Change-Id: I4253c3dd5e3cbcee41ec84fd57227abd428d1bd6
2024-04-08 00:17:57 +02:00
Ludovic Courtès
6062339156
mapped-devices: <mapped-device-type> can specify modules to import.
* gnu/system/mapped-devices.scm (<mapped-device-type>)[modules]: New
field.
(device-mapping-service-type): Honor it.
* gnu/system/linux-initrd.scm (raw-initrd): Likewise.

Change-Id: Icc702cb6f281741975e33203f87fbc1ffa9856da
2024-04-08 00:13:25 +02:00
Zheng Junjie
16c7130835
vm: If not the same local architecture, don't enable kvm.
* gnu/system/vm.scm (common-qemu-options): Add target keyword.

Change-Id: Ic9bf18cf60ac5ce623289df31ea050a22c6e604e
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-03-31 22:28:11 +02:00
Zheng Junjie
e6241de15a
vm: add arguments to use virt machine type for qemu-riscv64.
* gnu/system/vm.scm (system-qemu-image/shared-store-script): When target
riscv64, add arguments to set qemu virt machine type.

Change-Id: I974c82fdd2d5bfc01caff9e6411db38e472b5cd4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-03-31 22:28:01 +02:00
Zheng Junjie
88a300852f
linux-initrd: don't add hid-apple module for riscv64-linux.
* gnu/system/linux-initrd.scm(default-initrd-modules): when target-riscv64,
don't add hid-apple module.

Change-Id: I633468421db0cb1ebd61e0603021fa1c79038473
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-03-31 22:27:48 +02:00
Zheng Junjie
ad9832f82e
vm: When target riscv64-linux, use u-boot-qemu-riscv64-bootloader.
* gnu/system/vm.scm (virtualized-operating-system) When target riscv64-linux,
use u-boot-qemu-riscv64-bootloader. Add system, target keyword.

Change-Id: I22d64d00670a705e4b81427e44a83d504598b536
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-03-31 22:27:02 +02:00
Zheng Junjie
a5deb90fd4
vm: use #$ for kernel-arguments.
Use #$ allow cross-compile to with support current system kernel.

e.g. linux-libre-riscv64-generic.

* gnu/system/vm.scm(system-qemu-image/shared-store-script)
(linux-image-startup-command): use #$ for kernel-arguments.

Change-Id: I9d2e7df296ce590b95cd30996b33f8ca692ac1b1
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-03-31 22:26:27 +02:00
Hilton Chain
8f8ec56052
linux-initrd: Avoid looking up builtin modules.
* gnu/system/linux-initrd.scm (flat-linux-module-directory)
[build-exp]<builtin-modules,modules-to-lookup>: New variables.
<modules>: Use ‘modules-to-lookup’ to avoid looking up builtin modules.

Change-Id: I60fdae0211bb6632508b1c63582e013e78186cd1
2024-03-09 09:21:19 +08:00
Florian Pelz
bc6840316c
system: default-bash-profile: Add Guix Home search paths as well.
Ordinary .guix-profile is searched already.  Also this makes desktop
environments find packages installed in Guix Home.

* gnu/system/shadow.scm (%default-bash-profile): Add Home search paths.
2024-02-28 16:55:20 +01:00
Ludovic Courtès
9edbb2d7a4
services: Add ‘virtual-build-machine’ service.
* gnu/services/virtualization.scm (<virtual-build-machine>): New record type.
(%build-vm-ssh-port, %build-vm-secrets-port, %x86-64-intel-cpu-models):
New variables.
(qemu-cpu-model-for-date, virtual-build-machine-ssh-port)
(virtual-build-machine-secrets-port): New procedures.
(%minimal-vm-syslog-config, %virtual-build-machine-operating-system):
New variables.
(virtual-build-machine-default-image):
(virtual-build-machine-account-name)
(virtual-build-machine-accounts)
(build-vm-shepherd-services)
(initialize-build-vm-substitutes)
(build-vm-activation)
(virtual-build-machine-offloading-ssh-key)
(virtual-build-machine-activation)
(virtual-build-machine-secret-root)
(check-vm-availability)
(build-vm-guix-extension): New procedures.
(initialize-hurd-vm-substitutes): Remove.
(hurd-vm-activation): Rewrite in terms of ‘build-vm-activation’.
* gnu/system/vm.scm (linux-image-startup-command): New procedure.
(operating-system-for-image): Export.
* gnu/tests/virtualization.scm (run-command-over-ssh): New procedure,
extracted from…
(run-childhurd-test): … here.
[test]: Adjust accordingly.
(%build-vm-os): New variable.
(run-build-vm-test): New procedure.
(%test-build-vm): New variable.
* doc/guix.texi (Virtualization Services)[Virtual Build Machines]: New
section.
(Build Environment Setup): Add cross-reference.

Change-Id: I0a47652a583062314020325aedb654f11cb2499c
2024-02-10 23:21:07 +01:00
Ludovic Courtès
b0a5c0742f
vm: Add ‘cpu-count’ field to <virtual-machine>.
* gnu/system/vm.scm (<virtual-machine>)[cpu-count]: New field.
(virtual-machine-compiler): Honor it.

Change-Id: I907a89365f32ac7a9981c4ae5f59cf6eb199c3cc
2024-02-10 22:59:52 +01:00
Ludovic Courtès
7a4f585ae1
vm: Export <virtual-machine> accessors.
* gnu/system/vm.scm: Export.

Change-Id: If65d96f4052d070af5baee26f3dd9b233b8480f4
2024-02-10 22:59:49 +01:00
Ludovic Courtès
f7447b1a32
vm: Add ‘date’ field to <virtual-machine>.
* gnu/system/vm.scm (<virtual-machine>)[date]: New field.
(virtual-machine-compiler): Honor it.

Change-Id: Idab1c152466d57cbc6784c031a99fdfd37080bcb
2024-02-10 22:59:46 +01:00
Leo Nikkilä
841fd4880a
linux-container: Inherit essential services.
Currently it's not possible to set `essential-services' when building
operating systems for containers, since `container-essential-services'
always uses the defaults.

It's possible to reference `essential-services' from the operating
system that's passed in, but since it's thunked, the operating system
needs to be defined in two passes to avoid an infinite loop.

* gnu/system/linux-container.scm (container-essential-services): Use
operating-system-essential-services instead of the defaults to allow
overriding the base services.
(containerized-operating-system): Update accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I81452487ef1ad01d3fa874c26d93a67d58ce6062
2024-02-05 22:29:45 +01:00
Tomas Volf
21989dd57d
image: Consider grub-efi-removable-bootloader to be EFI bootloader.
Without this change, trying to create a system image with efi-raw type while
using grub-efi-removable-bootloader fails with fairly confusing message:

    EFI bootloader required with GPT partitioning

* gnu/system/image.scm (system-disk-image): Consider
grub-efi-removable-bootloader to be EFI bootloader.

Change-Id: I5f5e1a94e825fd29d6880c5bafb330e16a5ac962
2024-01-17 11:17:59 +01:00
Efraim Flashner
5ef5095ab1
system: default-zprofile: Sync with home zprofile.
The removed fields are already sourced in /etc/profile.

* gnu/system/shadow.scm (%default-zprofile): Sync with default zprofile
from (gnu home services shells).

Change-Id: I419eadf636344e23e8fd2f7006efa81f45527756
2024-01-17 11:11:10 +02:00
Efraim Flashner
1e8ac2c41b
system: Add default guix-home-config.
* gnu/system/shadow.scm (%deafult-skeleton-home-config): New variable.
(default-skeletons): Add it.

Change-Id: Ida4cca8b1b3674491a4f18d94bc1b12d426575ba
2024-01-17 11:11:10 +02:00
Efraim Flashner
3ca02f0304
system: Export default guile config.
* gnu/system/shadow.scm (%default-dotguile): Extract from
default-skeletons, export.
(default-skeletons): Use %default-dotguile.

Change-Id: Ibe91b3b517ae542bd28070a08e14152f87ed75ec
2024-01-17 11:11:09 +02:00
Efraim Flashner
33136e0426
system: Export default nanorc.
* gnu/system/shadow.scm (%default-nanorc): Extract from
default-skeletons, export.
(default-skeletons): Use %default-nanorc.

Change-Id: I0d07b13ed4894b1152a08b96d9ef8527dde073ce
2024-01-17 11:11:09 +02:00
Efraim Flashner
eef3babfdb
system: Export default gdbinit.
* gnu/system/shadow.scm (%default-gdbinit): Extract from
default-skeletons, export.
(default-skeletons): Use %default-gdbinit.

Change-Id: Ia5188f8083a83ad4cdb96e234dbd730b1bfe0072
2024-01-17 11:11:09 +02:00
Efraim Flashner
7292838874
system: Export default xdefaults.
* gnu/system/shadow.scm (%default-xdefaults): Extract from
default-skeletons, export.
(default-skeletons): Use %default-xdefaults.

Change-Id: I44018516ec3687a68d32ca5c86c41bc29507a273
2024-01-17 11:11:09 +02:00
Efraim Flashner
6a9e4b0639
system: Export default zprofile.
* gnu/system/shadow.scm (%default-zprofile): Extract from
default-skeletons, export.
(default-skeletons): Use %default-zprofile.

Change-Id: I6c6e158bca2e462a2eae709fbc2c25a2c7f3f8b4
2024-01-17 11:11:09 +02:00
Efraim Flashner
cdcb2e78d2
system: Export default bash-profile.
gnu/system/shadow.scm (%default-bash-profile): Extract from
default-skeletons, export.
(default-skeletons): Use %default-bash-profile.

Change-Id: I45641b1091daee3495a5f92bdc1a63050e0cc59e
2024-01-17 11:11:03 +02:00
Tomas Volf
d082312ef7
mapped-devices: Allow unlocking by a key file.
Requiring the user to input their password in order to unlock a device is not
always reasonable, so having an option to unlock the device using a key file
is a nice quality of life change.

* gnu/system/mapped-devices.scm (open-luks-device): Add #:key-file argument.
(luks-device-mapping-with-options): New procedure.
* doc/guix.texi (Mapped Devices): Describe the new procedure.

Change-Id: I1de4e045f8c2c11f9a94f1656e839c785b0c11c4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-01-14 23:00:03 +01:00
Ludovic Courtès
b973480dc9
system: hurd: Use the Shepherd 0.10.x.
* gnu/system.scm (hurd-default-essential-services): Remove reference to
‘shepherd-0.8’.
* gnu/system/hurd.scm (%base-packages/hurd): Replace ‘shepherd-0.8’ with
‘shepherd-0.10’.

Change-Id: I9f1800693cda456286450d3d0bb6f7e3da85d55e
2024-01-08 23:14:46 +01:00