1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 21:20:33 +02:00
Commit Graph

1119 Commits

Author SHA1 Message Date
Mathieu Othacehe
dfaeaae9c7 image: Product hybrid qcow2 images.
This is a follow-up of e5ed1712da. Restore the
behaviour before d57cab7641 and produce
hybrid, BIOS and UEFI capable qcow2 images.

* gnu/system/image.scm (qcow2-image-type): Inherit from mbr-hybrid-disk-image.
2023-10-01 22:18:52 +02:00
Mathieu Othacehe
6bd17a0806 image: Do not allow BIOS bootloader and GPT.
When using grub-bootloader with a GPT image, GRUB will fail during
installation with a cryptic error message.

* gnu/system/image.scm (system-disk-image): Raise an error when trying to use
a non-EFI compatible bootloader with a GPT image partitioning.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2023-09-20 09:38:40 +02:00
Mathieu Othacehe
e5ed1712da image: Introduce the mbr-hybrid-raw image type.
Until 209204e23b and
d57cab7641, the default image type used by "guix
system image" was an MBR image with an ESP partition.

Having both an MBR image and an ESP partition is handy because the image will
boot on most x86 based systems using legacy BIOS and/or UEFI.

We now have a distinction between MBR images and EFI images. Introduce a new
MBR hybrid image type and default to it to restore the default behaviour.

This also fixes the images section of (gnu ci) that was trying to install a
BIOS bootloader on an EFI, GPT image and failing to do so.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2023-09-20 09:38:36 +02:00
Nicolas Graves
d4da1f26e1 gnu: file-systems: Add variable %base-live-file-systems.
* gnu/system/file-systems.scm (%base-live-file-systems): New variable.
* gnu/system/install.scm (installation-os): Use %base-live-file-systems.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-09-17 15:31:04 +02:00
Janneke Nieuwenhuizen
41df5c5289 system: hurd: Override locale-libcs harder.
This really removes the locale-2.33 dependency running `guix system build
bare-hurd.tmpl' on the Hurd, that somehow still managed to leak-in?

* gnu/system/hurd.scm (%base-packages/hurd)[locale-libcs]: New field.
2023-09-16 15:35:25 +02:00
Janneke Nieuwenhuizen
bd303443be system: hurd: Add nss-certs to %base-packages/hurd.
This fixes the recently added "rewrite-url, to-version specified" test.

* gnu/system/hurd.scm (%base-packages/hurd): Add nss-certs.
2023-09-16 15:35:25 +02:00
Janneke Nieuwenhuizen
64929be426 system: hurd: Add procps to %base-packages/hurd.
* gnu/system/hurd.scm (%base-packages/hurd): Add procps.
2023-09-16 15:35:25 +02:00
Janneke Nieuwenhuizen
f2cfb4a85c locale: Set %default-locale-definitions to glibc/hurd on the Hurd.
* gnu/system/locale.scm (%default-locale-libcs): Use only glib/hurd when
building on the Hurd.
2023-09-16 15:35:25 +02:00
Efraim Flashner
ab971e9c19 system: vm-image: Remove duplicate packages.
* gnu/system/examples/vm-image.tmpl (use-package-modules): Remove
unneeded modules.
(operating-system)[packages]: Remove nvi, wget.
2023-09-11 10:56:03 +03:00
Tobias Geerinckx-Rice
5a2c3352d8 Revert "gnu: system: Add home-directory-permissions field to <user-account>."
This reverts commit e9a5eebc78, which
as far as I can tell breaks system roll-backs thusly:

[...]
In gnu/build/accounts.scm:
   239:27  3 (_ #<<password-entry> name: "root" password: "x" uid: 0 gid: 0 real-name: "System >)
In unknown file:
           2 (string-join ("root" "x" "0" "0" "System administrator" "/root" #t) ":" #<undefined>)
In ice-9/boot-9.scm:
  1685:16  1 (raise-exception _ #:continuable? _)
  1685:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
In procedure string-append: Wrong type (expecting string): #t
2023-08-20 02:00:00 +02:00
David Thompson
e9a5eebc78 gnu: system: Add home-directory-permissions field to <user-account>.
* gnu/system/accounts.scm (<user-account>)[home-directory-permissions]: New
field.
(user-account-home-directory-permissions): New accessor.
* gnu/build/activation.scm (activate-users+groups): Use home directory
permission bits from the user account object.
* doc/guix.texi (User Accounts): Document new field.

Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
2023-08-25 15:12:54 +02:00
Josselin Poiret
d57cab7641 image: Add mbr-raw-image-type and use by default.
* gnu/system/image.scm (mbr-disk-image, mbr-raw-image-type): New variables.
(qcow2-image-type): Inherit mbr-disk-image.
* guix/scripts/system.scm (%default-options): Use mbr-raw-image-type by
default.
* gnu/tests/install.scm (run-install): Use mbr-raw in the tests.
* doc/guix-cookbook.texi (Guix System Image API): Update the list of image
types.
* doc/guix.texi (Invoking guix system, System Images, image-type Reference):
Add mbr-raw and switch documented default to it.
2023-08-25 14:24:21 +02:00
Ludovic Courtès
30355c17d7 examples: Avoid duplicate SDDM service for Plasma on aarch64-linux.
This is a followup to cf28f46930.

* gnu/system/examples/plasma.tmpl (services): Remove both
'gdm-service-type' and 'sddm-service-type' from %DESKTOP-SERVICES.
2023-08-22 01:14:47 +02:00
Ludovic Courtès
cf28f46930 examples: Avoid 'modify-services' to remove GDM.
This led to a 'tests/guix-system.sh' failure on aarch64-linux:

  …/plasma.tmpl:60:13: error: modify-services: service 'gdm' not found in service list

This is because 'gdm-service-type' is not among %DESKTOP-SERVICES on
that architecture.

* gnu/system/examples/plasma.tmpl (services): Use 'remove' rather
'modify-services' + 'delete'.
2023-08-21 23:06:49 +02:00
宋文武
770f3f587d Merge remote-tracking branch 'origin/master' into kde-updates 2023-08-11 20:19:52 +08:00
Zheng Junjie
5c68817813 examples: Add plasma operating-system example template.
* gnu/system/examples/plasma.tmpl: New file.
* Makefile.am (EXAMPLES): register it.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2023-08-03 17:38:10 +08:00
Sam Lockart
969cea6836 file-systems: Use cgroups v2.
cgroup v2 is the next generation of the control groups API.  This patch
replaces the cgroup v1 file systems with the unified cgroup v2 file
system.

cgroup v2 allows for things like containerd/podman to run rootless
containers and opens guix system up to running things like Kubernetes.

Thanks to Hilton Chain <hako@ultrarare.space> for suggesting the Docker
service change.

* gnu/system/file-systems.scm (%control-groups): Change to a single
"cgroup2" mount point.
* gnu/services/docker.scm (docker-shepherd-service): Trim 'requirement'
field accordingly.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-08-08 18:01:55 +02:00
Maxim Cournoyer
03795e2ba2 system: accounts: Export <user-account>. 2023-07-26 10:40:16 -04:00
Janneke Nieuwenhuizen
cefcf0fb04 system: hurd: Add netdde to %base-packages/hurd.
* gnu/system/hurd.scm (%base-packages/hurd): Add netdde.

Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
2023-07-13 19:00:02 +02:00
Janneke Nieuwenhuizen
09657f3ee7 services: childhurd: Bump default qemu memory to 2048MB.
When booting with pci-arbiter and rumpdisk and using 1024MB of memory for
qemu, booting hangs, or seems to hang, at the end of the rumpdisk boot
messages.  At least 1200MB is required, currently.

* gnu/services/virtualization.scm (<hurd-vm-configuration>)[memory-size]: Bump
to 2048.
* gnu/system/examples/bare-hurd.tmpl: Suggest using 2048 here too.  Update
example `guix system image' and "qemu" command lines too.

Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
2023-07-13 18:59:02 +02:00
Sergey Trofimov
209204e23b image: Prefer gpt partition table for efi images
* gnu/system/image.scm (efi-disk-image): Use gpt partition-table-type.
(efi32-disk-image): Use gpt partition-table-type.
(qcow2-image-type): Use mbr partition-table-type explicitly.
* gnu/tests/image.scm: Assert partition table type of efi-disk-image.

Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
2023-07-07 21:14:10 +02:00
Ludovic Courtès
ed5a9f5260 linux-container: Pass '--disable-chroot' to 'guix-daemon'.
This allows for the use of Guix within a non-privileged Docker container
produced by 'guix system image -t docker'.

* gnu/system/linux-container.scm (containerized-operating-system):
Change 'guix-configuration' to add "--disable-chroot".
2023-06-24 16:13:05 +02:00
Tobias Geerinckx-Rice
65ed7a61f1 uuid: Fix NTFS UUID stringification.
Previously, (ntfs-uuid->string (string->ntfs-uuid"5234ED0D34ECF53F"))
would yield "5234EDD34ECF53F".

Reported by sughosha in #guix.

* gnu/system/uuid.scm (ntfs-uuid->string): Pad hex bytes with zero when
needed.
2023-06-18 02:00:10 +02:00
Efraim Flashner
da81784d60 gnu: image: Build partitions with only necessary inputs.
* gnu/system/image.scm (system-disk-image)[partition-image]: Adjust the
inputs used by the image-builder to only use the packages necessary to
build that partition.
2023-06-19 16:31:32 +03:00
Janneke Nieuwenhuizen
ff690faf66 gnu: Use target-hurd?, system-hurd? instead of hurd-target?, hurd-system?.
* gnu/packages/hurd.scm (hurd-target?): Remove.
(hurd-system?): Move to...
* guix/utils.scm (system-hurd?): ...here.
* gnu/packages/*: Update all users, removing (gnu packages hurd) include where
now unused.
2023-06-17 14:38:32 +02:00
Efraim Flashner
f3114ac4f0 system: images: Add unmatched module.
* gnu/system/images/unmatched.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
2023-06-14 14:52:21 +03:00
Efraim Flashner
cd55aa9801 gnu: image: Add support for unformatted partitions.
* gnu/build/image.scm (make-unformatted-image): New procedure.
(make-partition-image): Add support for unformatted partition.
* gnu/system/image.scm (system-disk-image)[partition->gpt-type]: Add
case for using unformatted partition uuid.
2023-06-14 14:52:21 +03:00
Ludovic Courtès
44bbfc24e4 linux-container: Adjust to 'modify-services' semantic change.
This is a followup to dbbc7e9461:
'nscd-service-type' isn't necessarily present in OS, so we cannot use
the 'modify-services' as it would now error out.  This was happening
with the "guix system docker-image" test in 'tests/guix-system.sh'.

* gnu/system/linux-container.scm (containerized-operating-system): Use
'filter-map' instead of 'remove' + 'modify-services'.
2023-06-09 18:15:07 +02:00
Ludovic Courtès
56ad923f47 system: account: Fix default value.
Fixes a regression introduced in
66ecffbeba.

* gnu/system/shadow.scm (account-service-type)[default-value]: Change to
the empty list.
2023-06-09 14:19:14 +02:00
Ludovic Courtès
f52020ea99 system: pam: Change 'stop' method to return #f.
When the 'stop' method returns a truth value, shepherd interprets it as
potential failure and logs it.

* gnu/system/pam.scm (pam-shepherd-service): Change 'stop' method to
return #f.
2023-05-21 01:04:39 +02:00
Andrew Tropin
66ecffbeba services: Add default values.
* gnu/services.scm (boot-service-type, activation-service-type,
etc-service-type, profile-service-type): Add default-value.
* gnu/system/shadow.scm (account-service-type): Add default-value.
2023-05-16 19:45:27 +04:00
宋文武
40310efde9 system: default-skeletons: Merge search-paths of multiple profiles.
Fixes <https://issues.guix.gnu.org/20255>.

* gnu/system/shadow.scm (default-skeletons)[bash_profile, zprofile]:
Merge search-paths from multiple profiles via "guix package".
2023-05-12 20:27:06 +08:00
Josselin Poiret
2df5d4fd18 system: pam: Let PAM extensions add shepherd requirements.
* gnu/system/pam.scm (<pam-extension>): New record type.
(pam-shepherd-service): Add Shepherd synchronization point.

* gnu/services/mail.scm (dovecot-shepherd-service)
* gnu/services/lightdm.scm (lightdm-shepherd-service)
* gnu/services/mail.scm (opensmtpd-shepherd-service)
* gnu/services/sddm.scm (sddm-shepherd-service)
* gnu/services/ssh.scm (lsh-shepherd-service, openssh-shepherd-service)
* gnu/services/xorg.scm (slim-shepherd-service, gdm-shepherd-service)
* gnu/services/base.scm (greetd-shepherd-services): Add PAM requirement.

* gnu/system/pam.scm (/etc-entry, extend-configuration,
pam-root-service-type, pam-root-service)
* gnu/services/authentication.scm (pam-ldap-pam-service)
* gnu/services/base.scm (pam-limits-service-type)
(greetd-pam-service)
* gnu/services/desktop.scm (pam-gnome-keyring)
* gnu/services/kerberos.scm (pam-krb5-pam-service)
* gnu/services/pam-mount.scm (pam-mount-pam-service): Adapt to use
pam-extension.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-05-11 13:21:45 +02:00
Ludovic Courtès
4f4c38c881 locale: Add glibc 2.33 to '%default-locale-libcs'.
Fixes <https://issues.guix.gnu.org/62934>.
Reported by Brian Cully <bjc@spork.org>.

* gnu/system/locale.scm (%default-locale-libcs): Add GLIBC-2.33.
2023-04-19 16:32:03 +02:00
Maxim Cournoyer
3bacd3c76a Merge branch 'master' into core-updates.
Conflicts:
	gnu/local.mk
	gnu/packages/build-tools.scm
	gnu/packages/certs.scm
	gnu/packages/check.scm
	gnu/packages/compression.scm
	gnu/packages/cups.scm
	gnu/packages/fontutils.scm
	gnu/packages/gnuzilla.scm
	gnu/packages/guile.scm
	gnu/packages/ibus.scm
	gnu/packages/image-processing.scm
	gnu/packages/linux.scm
	gnu/packages/music.scm
	gnu/packages/nss.scm
	gnu/packages/pdf.scm
	gnu/packages/python-xyz.scm
	gnu/packages/qt.scm
	gnu/packages/ruby.scm
	gnu/packages/shells.scm
	gnu/packages/tex.scm
	gnu/packages/video.scm
	gnu/packages/vulkan.scm
	gnu/packages/web.scm
	gnu/packages/webkit.scm
	gnu/packages/wm.scm
2023-04-14 17:15:08 -04:00
Josselin Poiret
fda221c469 system: hurd: Use shepherd-0.8 in the package list.
* gnu/system/hurd.scm (%base-packages/hurd): Change shepherd to shepherd-0.8,
since the former uses fibers, and thus conflicts with the shepherd-0.8 we use in
the default essential services.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-30 12:44:20 +02:00
Pierre Langlois
42fbe62d52 linux-container: Remove hosts-service-type when network is shared.
Fixes <https://issues.guix.gnu.org/61627>.

* gnu/system/linux-container.scm (container-essential-services): When
shared-network? is true, remove the hosts-service-type service kind.
2023-03-26 14:15:16 +01:00
Andreas Enge
ccb62d8feb Merge remote-tracking branch 'origin/master' into core-updates 2023-03-20 18:49:06 +01:00
Efraim Flashner
723fc5df3e system: Update skeleton gdbinit.
* gnu/system/shadow.scm (default-skeleton): Update gdbinit to search for
more debug packages in guix-home and the system profile.
(skeleton-directory): Move .gdbinit to .config/gdb/gdbinit.
2023-03-07 16:35:20 +02:00
Bruno Victal
2397f47680 file-systems: Remove deprecated 'title' field helper procedures.
* gnu/system/file-systems.scm (<file-system>): Change constructor name to 'file-system'.
(report-deprecation, device-expression, process-file-system-declaration, file-system): Remove macros.
(file-system-title): Remove procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-05 23:06:55 +01:00
Christopher Baines
7df09ee0ab Merge remote-tracking branch 'savannah/master' into core-updates
Conflicts:
	gnu/local.mk
	gnu/packages/autotools.scm
	gnu/packages/cmake.scm
	gnu/packages/gnuzilla.scm
	gnu/packages/haskell.scm
	gnu/packages/pdf.scm
	gnu/packages/python-xyz.scm
	gnu/packages/samba.scm
	gnu/packages/tex.scm
	gnu/packages/tls.scm
	gnu/packages/wxwidgets.scm
2023-03-02 10:55:08 +00:00
Bruno Victal
2799ad4423 services: dbus: Deprecate 'dbus-service' procedure.
* doc/guix.texi (Desktop Services): Replace with 'dbus-root-service-type'.
Document dbus-configuration.
* gnu/services/dbus.scm (dbus-service): Define with 'define-deprecated'.
* gnu/services/desktop.scm (desktop-services-for-system): Replace with
dbus-root-service-type.
* gnu/system/install.scm (%installation-services): Ditto.
* gnu/tests/base.scm (%avahi-os): Ditto.
* gnu/tests/docker.scm (%docker-os): Ditto.
* gnu/tests/lightdm.scm (minimal-desktop-services): Ditto.
* gnu/tests/virtualization.scm (%libvirt-os): Ditto.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:35 +01:00
Bruno Victal
2e7516168e services: base: Deprecate 'udev-service' procedure.
* doc/guix.texi (Base Services): Replace udev-service with udev-service-type.
Document <udev-configuration>. Use @defun @-commands for udev-rules-service,
udev-rule and file->udev-rule.
* gnu/services/base.scm (udev-service): Deprecate procedure.
* gnu/system/install.scm (%installation-services): Use udev-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal
6edacf2491 services: base: Deprecate 'syslog-service' procedure.
* doc/guix.texi (Base Services): Replace syslog-service with syslog-service-type.
* gnu/services/base.scm (%default-syslog.conf): Place before <syslog-configuration>.
(syslog-service-type): Set default value.
(syslog-service): Deprecate procedure.
(%base-services): Use syslog-service-type.
* gnu/system/hurd.scm (%base-services/hurd): Ditto.
* gnu/system/install.scm (%installation-services): Ditto.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal
98e9dc6ab7 services: base: Deprecate 'nscd-service' procedure.
* doc/guix.texi (Application Setup): Compress @cindex entries.
(Base Services): Compress @cindex entries. Delete %nscd-default-configuration.
Replace 'nscd-service' with 'nscd-service-type'.
* gnu/services/base.scm (%nscd-default-configuration): Deprecate variable.
(nscd-service): Deprecate procedure.
* gnu/system/install.scm (%installation-services): Use nscd-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal
4892c0186e services: base: Deprecate 'agetty-service' procedure.
* doc/guix.texi (Base Services): Replace agetty-service with
agetty-service-type.
* gnu/services/base.scm (agetty-service): Deprecate procedure.
* gnu/system/examples/beaglebone-black.tmpl
(operating-system)[services]: Use agetty-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal
ad665a38fc services: base: Deprecate 'mingetty-service' procedure.
* doc/guix.texi (Base Services): Replace mingetty-service with
mingetty-service-type.
* gnu/services/base.scm (mingetty-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal
6dd635b4cf services: base: Deprecate 'login-service' procedure.
* doc/guix.texi (Base Services): Replace with login-service-type.
* gnu/services/base.scm (login-service): Deprecate procedure.
* gnu/system/install.scm (%installation-services): Use login-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Tobias Geerinckx-Rice
4ef9a5dd5e file-systems: Validate 'no-diratime flag.
This follows up on commit c077345539, and
adds a comment to avoid this in future.

* gnu/system/file-systems.scm (invalid-file-system-flags):
Add 'no-diratime to the list of KNOWN-FLAGS.
2023-02-26 01:00:07 +01:00
Andrew Tropin
a4dfbead19 system: Source .profile in skeleton bash_profile.
Make it consistent with bash_profile generated by Guix Home.

* gnu/system/shadow.scm (default-skeletons)[bash_profile]: Source .profile in
skeleton bash_profile.
2023-02-08 18:13:08 +04:00