Fixesguix/guix#1926.
‘guix system vm’ would so far produce a system without the
‘file-system-/gnu/store’ Shepherd service, which is normally provided by
‘%immutable-store’. This would lead to an error for OS configs that
explicitly require ‘file-system-/gnu/store’, such as those that use
‘qemu-binfmt-service-type’.
* gnu/system/vm.scm (virtualized-operating-system)[user-file-systems]: Remove
filtering of TARGET = (%store-prefix).
Reported-by: Ashvith Shetty <ashvithshetty0010@zohomail.in>
Change-Id: I656df6c3f067e47cd7acd03af437fe757db286d5
The linux kernel has renamed the crc32_generic module to
crc32_cryptoapi. This fixes the f2fs-root-os system test.
* gnu/system/linux-initrd.scm (file-system-type-modules): update module
name
Change-Id: I73a135e453434e726ea9d3ff99ab1a83b4810a10
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
This reverts changes from d72eef9c91 that
were inadvertently committed.
* gnu/system/examples/bare-bones.tmpl: Remove Cuirass.
Change-Id: I29253dce841479bbddef00756a0f6bd57694dfae
This reverts commit a7db92d9b3, this time with
the more careful command, to avoid a world rebuild:
grep -rl --exclude-dir=build --exclude-dir=patches --exclude=ld-wrapper.in \
--exclude=sitecustomize.py --exclude=guix-emacs.el maxim.cournoyer@gmail.com |
xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g'
Change-Id: I0871f5cf9ace79e34e78e24154d0da6ea95a3a91
The change was automated via:
git grep -l maxim.cournoyer@gmail.com |
xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g'
* .mailmap: New entry.
Change-Id: Iaa88b1e51c94159c49138fb43910badb990eb169
This is made so that the source can be shared without introducing module
circular dependencies.
* gnu/packages/certs.scm (nss-certs)
(nss-certs-for-test): Move to...
* gnu/packages/nss.scm: ... here.
Adjust the module imports via:
git grep -l '(gnu packages certs)' |
xargs sed 's/(gnu packages certs)/(gnu packages nss)/' -i
Change-Id: I56d7bc52ddcdffbced8a162e8db8ea5071b0cb0f
This matches the libc users will usually be upgrading from.
* gnu/system/locale.scm (%default-locale-libcs): Replace ‘glibc-2.35’
with ‘glibc-2.39’.
Change-Id: I21c291054cd0948ced2f17e951e97f6db7116688
Fixes <https://issues.guix.gnu.org/70826>.
When using ‘luks-device-mapping-with-options’, procedures such as
‘operating-system-boot-mapped-devices’ would fail to identify LUKS
mapped devices because they would check whether the mapped device type
is ‘eq?’ to ‘luks-device-mapping’.
This addresses that by ensuring mapped devices are always of the
‘luks-device-mapping’ type, even when different options are used.
* gnu/system/mapped-devices.scm (close-luks-device): Add #:rest.
(luks-device-mapping-with-options): Deprecate.
* gnu/tests/install.scm (%encrypted-home-os-key-file): Update
accordingly.
* doc/guix.texi (Mapped Devices): Document use of the ‘arguments’ field
of ‘luks-device-mapping’. Remove ‘luks-device-mapping-with-options’
documentation.
(Bootloader Configuration): Update example with key file in extra
initrd.
Change-Id: I5442908cb8ef4e3891dbb053cccf5e42b895486f
Reported-by: Tadhg McDonald-Jensen <tadhgmister@gmail.com>
Fixes <https://issues.guix.gnu.org/70826>.
This allows users to specify extra arguments specific to the underlying
mapped device type.
* gnu/system/mapped-devices.scm (<mapped-device>)[arguments]: New field.
(device-mapping-service-type): Honor it.
* guix/scripts/system.scm (check-mapped-devices): Likewise.
* gnu/system/linux-initrd.scm (raw-initrd): Likewise.
* doc/guix.texi (Mapped Devices): Document it.
Reported-by: 45mg <45mg.writes@gmail.com>
Change-Id: Idef5a3e68535c412f13bae9a92c81c49053d4f4a
* gnu/system/examples/devel-hurd.tmpl (guix-packages): Also remove
slirp4netns; it is a Linux-specific dependency that does not build for the
Hurd.
Change-Id: I5bca0f44b32d09dd4baa86a6d47d33133a4339c6
* gnu/packages/linux.scm (%dummy-linux-kernel-for-container): New variable.
* gnu/system/linux-container.scm (containerized-operating-system): Use it.
Change-Id: Ica49a0cd0b8ae4a78ba5fca879ae73f94e64474a
This allows specifying the following skeleton, for example:
--8<---------------cut here---------------start------------->8---
`((".config/test.txt" ,[...])
--8<---------------cut here---------------end--------------->8---
* gnu/system/shadow.scm (skeleton-directory): Create parent directory for
target.
Change-Id: I49649000bd6cdab9060f057b47a5122b17027f10
Fixes a regression introduced in c743d646ee.
Without this, the fish shell integration is broken, and PATH does not include
~/.config/guix/current/bin.
* gnu/system/shadow.scm (%default-bashrc): Fix return value.
Change-Id: I54170caeef7ae541a4901743fcdcbfb353fa09d4
Signed-off-by: Hilton Chain <hako@ultrarare.space>
Modified-by: Hilton Chain <hako@ultrarare.space>
Fixes#420.
Previously, in systems produced by ‘guix system container’, the
‘loopback’ Shepherd service would fail to start with EEXIST, because the
“lo” interface already exists in the container. This commit provides a
fake ‘loopback’ Shepherd service that does nothing.
* gnu/system/linux-container.scm (dummy-networking-service-type): Change
to honor its configuration value.
(containerized-operating-system)[services-to-drop]: Add
‘static-networking-service-type’ in the non-‘shared-network?’ case.
[services-to-add]: Add ‘dummy-networking-service-type’ for loopback in
the non-‘shared-network?’ case.
Reported-by: Antonio Carlos Padoan Junior <acpadoanjr@yahoo.com.br>
Change-Id: I326b5f3b5e08f67b6613c186497c44b1e887b02e
Fixesguix/guix#422.
* gnu/system/install.scm (%installation-services)[guix-package-commit]:
New procedure.
<guix-configuration>: Use it instead of ‘channel-commit’.
Change-Id: I6ed5bc3f21a375e639fabfcbcdaf70b6347d1c5c
This factorizes out the remaining bashrc bits from /etc/skel/.bashrc to a the
template used for both /etc/bashrc on Guix System and ~/.bashrc for
home-bash-service-type.
Rationale: The use of /etc/skel introduce state: the file is only copied
originally when the user account is created, and never (automatically)
refreshed again.
* gnu/system.scm (operating-system-etc-service):
<profile>: Guard against souring /etc/bashrc in non-interactive, SSH case.
<bashrc>: Use %default-bashrc, having migrated the remaining definitions to...
* gnu/system/shadow.scm (%default-bashrc): ... here. Factorize aliases to...
* gnu/services.scm (%default-bash-aliases): ... here.
(%default-bashrc-d-aliases): New variable.
(%default-etc-bashrc-d-files): Include it in the default configuration.
* gnu/services/base.scm (%base-services): Register etc-bashrc-d-service-type.
* gnu/home/services/shells.scm (add-bash-configuration): Do not set PS1, now
part of %default-bashrc.
(home-bash-configuration) [guix-defaults?]: Update doc.
[aliases]: Set %default-bash-aliases as the default value. Update doc.
* doc/guix.texi (Shells Home Services): Update documentation.
(Service Reference): Update example.
Change-Id: I340c614983a78fd20a9c4a9705e7fc542ae9b513
This causes Bash to treat /etc/bashrc as a startup file, removing the need to
source /etc/bashrc from ~/.bashrc.
* gnu/packages/bash.scm (bash-fixed): New package, with added SYS_BASHRC
define.
(bash) [replacement]: Use it.
* gnu/system/shadow.scm (%default-bashrc): Do not source /etc/bashrc, now done
implicitly.
Change-Id: I5b0afd7d81653ef19c482e5501efdf7e50ef37c0
* gnu/system/hurd.scm (%hurd-default-operating-system-kernel,
%hurd64-default-operating-system-kernel): Set to gnumach.
Change-Id: I7d5515c95e2994e2f0c4ae3a43afe4e6575a53ed
Fixes <https://issues.guix.gnu.org/67707>.
Previously ‘guix describe’ in the installation image would show the
URL of the local checkout that was used to build the image. It now
shows the default URL.
* gnu/system/install.scm (%installation-services): Change channel of
‘guix’ package to inherit from ‘%default-guix-channel’.
Change-Id: If848b5a6166904e982e0f9a0780f3e3f53bdfc28
Until now, the read-only file system set up by ‘call-with-container’
would always be writable. With this change, it can be made read-only.
With this patch, only ‘least-authority-wrapper’ switches to a read-only
root file system.
* gnu/build/linux-container.scm (remount-read-only): New procedure.
(mount-file-systems): Add #:writable-root? and #:populate-file-system
and honor them.
(run-container): Likewise.
(call-with-container): Likewise.
* gnu/system/linux-container.scm (container-script): Pass #:writable-root?
to ‘call-with-container’.
(eval/container): Add #:populate-file-system and #:writable-root? and
honor them.
* guix/scripts/environment.scm (launch-environment/container):
Pass #:writable-root? to ‘call-with-container’.
* guix/scripts/home.scm (spawn-home-container): Likewise.
* tests/containers.scm ("call-with-container, mnt namespace, read-only root")
("call-with-container, mnt namespace, writable root"): New tests.
Change-Id: I603e2fd08851338b737bb16c8af3f765e2538906
* gnu/system/vm.scm (virtualized-operating-system): Choose the module name based
on the kernel version
Change-Id: I77d70fa44a8d5d2412ae0aaa645fa67146b76432
This module is required when booting from MMC block device.
* gnu/system/linux-initrd.scm (default-initrd-modules): Add mmc_block.
Change-Id: I91474a62e9d7b5be07e89f657fd59d37d061b127
This is a followup to d0510dcd82, which
wrongfully assumed that this was already the case.
* gnu/system/install.scm (%installation-services): Replace
‘syslog-service-type’ by ‘shepherd-system-log-service-type’.
Change-Id: I349454b8d005c67d2c6d6b5475f74d16c9006006
The result returned so far by ‘common-qemu-options’ assumed that it
would be passed to a shell. This is the case when using
‘system-qemu-image/shared-store-script’ but possibly not in other cases.
* gnu/system/vm.scm (common-qemu-options): Add #:image-format.
[virtfs-option]: Return a list of strings instead of a single
"-virtfs xyz" string. Update caller to use ‘append-map’.
Separate "-drive" string.
Change-Id: Ib07c27e2c4b2d222d7db2c612bb045d330bc7f68
The parameter should take the values #t, #f or 'default.
In a container environment, 'default amounts to #f, otherwise it
amounts to #t.
* gnu/services/base.scm (guix-configuration)<chroot?>: New field.
(guix-shepherd-service): If chroot? is #f, add "--disable-chroot".
If it is #t or 'default, do nothing.
* gnu/system/linux-container.scm (containerized-operating-system):
If chroot? is 'default, replace it by #f.
* doc/guix.texi: Document the parameter.
Change-Id: I8b9c3f46ad8650fa6ed4acee947b4ae5d002d03d
The virtual-machine syntax would not accept a single operating-system field,
which was puzzling.
* gnu/system/vm.scm (virtual-machine): Add a pattern matching a single literal
'operating-system' field and value.
Change-Id: If207fd71df3a3f763b2e63229eafa82f63e80773
* gnu/system/images/pinebook-pro.scm: augment partition offset
to make room for the bootloader.
Change-Id: I91a3758243a13960165d40b94efe017e6e059a22
Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>