Age | Commit message (Collapse) | Author |
|
* gnu/system/examples/asus-c201.tmpl,
gnu/system/examples/bare-bones.tmpl,
gnu/system/examples/beaglebone-black.tmpl,
gnu/system/examples/raspberry-pi-64-nfs-root.tmpl,
gnu/system/examples/raspberry-pi-64.tmpl,
gnu/system/examples/vm-image.tmpl
gnu/system/images/orangepi-r1-plus-lts-rk3328.scm,
gnu/system/images/pine64.scm,
gnu/system/images/rock64.scm,
gnu/system/images/unmatched.scm,
gnu/system/images/visionfive2.scm,
gnu/system/linux-container.scm (services): Replace
dhcp-client-service-type with its replacement dhcpcd-service-type.
Change-Id: Ib1f31d0a95dfa8ee64cf8c10d617ee53c8637b26
|
|
Suggested by yelninei via IRC.
* gnu/system/examples/devel-hurd.tmpl: Fix typo in comment.
Change-Id: I4256f530bda30a8792c7dcce3f3bf21780dce6ca
|
|
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
|
|
Followup to 3f33cb031475c1f21fad357249e49a0cfe4b78eb.
* gnu/system/hurd.scm (%base-packages/hurd): Add ‘zstd’.
Change-Id: I101ae815b31b1e4f0aae6222fcf2271e8e0043b1
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
Fixes a regression introduced in c743d646ee9104aa14d066cdf6657a0fac82ebea.
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>
|
|
‘loopback’ service.
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
|
|
Fixes guix/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
|
|
Throughout, replace “https://git.savannah.gnu.org/git/guix.git” by
“https://git.guix.gnu.org/guix.git”.
Change-Id: Ieb82464f92a806b85c79e629f952e68c39323740
|
|
* gnu/system/shadow.scm (%base-groups): Add 'sgx' group.
Fixes: <https://issues.guix.gnu.org/70278>
Change-Id: I4f9e3c7751ac11f0c7a4283390223778511494f8
|
|
Fixes <https://issues.guix.gnu.org/78356>.
* gnu/system/linux-container.scm (container-script): Pass #:lock-mounts? #f
to ‘call-with-container’.
Reported-by: Rutherther <rutherther@ditigal.xyz>
Change-Id: Ie670868147f32baf2c2a94c9c7b1636bc84d0a0a
|
|
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/linux-container.scm (eval/container): Add #:mounts
parameter and honor it.
Change-Id: I1d5970f53a3d67db93e937e392f9bf36e75d1573
|
|
* gnu/system/vm.scm (virtualized-operating-system): Choose the module name based
on the kernel version
Change-Id: I77d70fa44a8d5d2412ae0aaa645fa67146b76432
|
|
* gnu/system/shadow.scm (account-shepherd-service): Create
/var/guix/profiles/per-user/$USER in ‘user-homes’ service.
Change-Id: I22e66e8a34d63686df9bae64c68df65c8889e72a
|
|
* gnu/system/vm.scm (common-qemu-options): Fix guix system vm --share argument error.
Change-Id: I4182e2dbe1b54e6eec2fb6ca53f9345f6d396f14
Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
|
|
* gnu/system/images/visionfive2.scm (visionfive2-barebones-os):
[initrd-modules]: Add mmc_block, clk-starfive-jh7110-aon,
clk-starfive-jh7110-stg, phy-jh7110-dphy-tx, pcie_starfive and nvme.
Change-Id: I1d7ced9bad7e94045ab1caa2315871cd56ca50f4
|
|
This module is required when booting from MMC block device.
* gnu/system/linux-initrd.scm (default-initrd-modules): Add mmc_block.
Change-Id: I91474a62e9d7b5be07e89f657fd59d37d061b127
|
|
* gnu/system/mapped-devices.scm (open-luks-device): Support opening
LUKS devices with the --allow-discards option.
* gnu/system/mapped-devices.scm (luks-device-mapping-with-options):
Pass through the allow-discards? keyword argument.
* doc/guix.texi (Mapped Devices): Update documentation for the
luks-device-mapping-with-options procedure.
Co-authored-by: Sisiutl <sisiutl@egregore.fun>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: Iff82d7d548486f028d19f6aa35dd30ca194f57cc
|
|
This is a followup to d0510dcd824e1b3fda62a8841e792581d7b8de8d, 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
|
|
* gnu/system/vm.scm (file-system->mount-tag, common-qemu-options):
Export.
Change-Id: I7228e5c02f07f8c8633a64c86d9c81aa3cb2e8b7
|
|
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
|
|
This reverts commit e88018be70ffb8ea35819a4c95d44ec20868ca59. Since this
change breaks current dbus-service-type, it would be better to wait
https://issues.guix.gnu.org/73494 finished.
|
|
* gnu/system/file-systems (%runtime-variable-data): New variable.
(%base-file-systems): Add it.
* doc/guix.texi (File Systems): Document it.
* gnu/services.scm (cleanup-gexp): Adjust accordingly.
Change-Id: I3a95e49d396fbb2577026aefc247cfe996c5f267
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
|
* gnu/system/shadow.scm (%default-skeleton-home-config): Follow
the news entry’s instructions to add %base-home-services.
Fixes: <https://issues.guix.gnu.org/75897>
Change-Id: Ieef976f9375791502e6156a978a032fbd4c2324d
|
|
Change-Id: I316652aff7418af4b8e83bea24638b1513f8aa97
|
|
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
|
|
* gnu/build/marionette.scm (make-marionette): Add 'reconnect=1' socket
parameter.
* gnu/system/vm.scm (common-qemu-options): Remove '-no-reboot' option.
Change-Id: I5e100543ddddba0aea3ebe4e2f5cb8b0261c0d73
|
|
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>
|
|
* gnu/system/examples/bare-hurd.tmpl: Add missing line-continuation backslash.
Change-Id: Ib918cff3ca96f2a199869e876b6a75fedb09c983
|
|
* gnu/system/pam.scm: Export pam-service-name?, pam-entry? and pam-limits-entry?.
Change-Id: I609acfcaae85b4969dc385b72b307e470f5a246e
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
This commit adds a Guix System service to handle allocation of subuid
and subgid requests. Users that don't care can just add themselves as a
subid-range and don't need to specify anything but their user name.
Users that care about specific ranges, such as possibly LXD, can specify
a start and a count.
* doc/guix.texi (Miscellaneous Services): Document it.
* gnu/build/activation.scm (activate-subuids+subgids): New variable.
* gnu/local.mk: Add gnu/tests/shadow.scm.
* gnu/system/accounts.scm (sexp->subid-range): New variable.
* gnu/system/shadow.scm (%root-subid): New variable;
(subids-configuration): new record;
(subid-range->gexp): new variable;
(assert-valid-subids): new variable;
(delete-duplicate-ranges): new variable;
(subids-activation): new variable;
(subids-extension): new record;
(append-subid-ranges): new variable;
(subids-extension-merge): new variable;
(subids-service-type): new variable.
* gnu/tests/shadow.scm (subids): New system test.
Change-Id: I3755e1c75771220c74fe8ae5de1a7d90f2376635
Signed-off-by: Giacomo Leidi <goodoldpaul@autistici.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
This commit adds allocation logic for subid ranges. Subid ranges are
ranges of contiguous subids that are mapped to a user in the host
system. This patch implements a flexible allocation algorithm allowing
users that do not want (or need) to specify details of the subid ranges
that they are requesting to avoid doing so, while upholding requests of
users that need to have specific ranges.
* gnu/build/accounts.scm (%subordinate-id-min): New variable;
(%subordinate-id-max): new variable;
(%subordinate-id-count): new variable;
(subordinate-id?): new variable;
(&subordinate-id-error): new variable;
(&subordinate-id-overflow-error): new variable;
(&illegal-subid-range-error): new variable;
(&specific-subid-range-expected-error): new variable;
(&generic-subid-range-expected-error): new variable;
(within-interval?): new variable;
(allocate-unused-range): new variable;
(allocate-generic-range): new variable;
(allocate-specific-range): new variable;
(reserve-subids): new variable;
(range->entry): new variable;
(entry->range): new variable;
(allocate-subids): new variable;
(subuid+subgid-databases): new variable.
* gnu/system/accounts.scm (subid-range-end): New variable;
(subid-range-has-start?): new variable;
(subid-range-less): new variable.
* test/accounts.scm: Test them.
Change-Id: I8de1fd7cfe508b9c76408064d6f498471da0752d
Co-Authored-By: Ludovic Courtès <ludo@gnu.org>
Signed-off-by: Giacomo Leidi <goodoldpaul@autistici.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
This commit adds a new record type, <subid-entry> and serializers
and deserializers for it in (gnu build accounts). Each instance of this
record represents one line in either /etc/subuid or /etc/subgid. Since
Shadow uses the same representation for both files, it should be ok if
we do it as well.
This commit adds also <subid-range>, a user facing representation of
<subid-entry>. It is supposed to be usable directly in OS configurations.
* gnu/build/accounts.scm (subid-entry): New record;
(write-subgid): add serializer for subgids;
(write-subuid): add serializer for subuids;
(read-subgid): add serializer for subgids;
(read-subuid): add serializer for subuids.
* gnu/system/accounts.scm (subid-range): New record.
* test/accounts.scm: Test them.
Change-Id: I6b037e40e354c069bf556412bb5b626bd3ea1b2c
Signed-off-by: Giacomo Leidi <goodoldpaul@autistici.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* gnu/system/examples/bare-hurd64.tmpl: Remove --machine q35, there seems to
be no longer any need for this. Mention that there is no login prompt.
* gnu/system/examples/devel-hurd64.tmpl: Likewise.
Change-Id: Ib918cff3ca96f2a199869e876b6a75fedb09c983
|
|
* gnu/system/examples/bare-hurd64.tmpl: Add missing backslash escape.
Change-Id: I84c5d37c6efb005a14f15b96432360628003d87b
|
|
* gnu/system/examples/bare-hurd64.tmpl: Replace qemu@7 with qemu in invocation
example.
* gnu/system/examples/devel-hurd64.tmpl: Likewise.
Change-Id: I3cdbff6f68b810feff1d9b2929a323498af3fd29
|
|
* gnu/system/examples/devel-hurd64.tmpl: Fix git clone instructions in
comment.
Change-Id: Id82f3e5d7888355507ac90e86e3bff4c27e6fba1
|
|
* gnu/services/shepherd.scm (<shepherd-configuration>)[shepherd]:
Default to SHEPHERD-1.0.
* gnu/system/hurd.scm (%base-packages/hurd): Change to SHEPHERD-1.0.
Change-Id: I7b0c3041d61a6f5d89c9d6d3caf7a8eedf5d8ca5
|
|
This also updates comments and removes the comment about a very old
`bootstrap-profile' hack.
* gnu/system/examples/devel-hurd.tmpl (hurd-packages): New variable
(%hurd-devel-os): Use it.
* gnu/system/examples/devel-hurd64.tmpl: New file.
Change-Id: I54b6b0843f0dd635d89cca483ae43d23b20d21e8
|
|
* gnu/system/examples/bare-hurd.tmpl: Update comments.
* gnu/system/examples/bare-hurd64.tmpl: New file.
Change-Id: I8d26afd19afaa8fb3558948b50b0efdc0f83f29c
|