summaryrefslogtreecommitdiff
path: root/gnu/system
AgeCommit message (Collapse)Author
2023-09-20image: Introduce the mbr-hybrid-raw image type.Mathieu Othacehe
Until 209204e23b39af09e0ea92540b6fa00a60e6a0ae and d57cab764122af69d52d8cc9c843456044e5d7bc, 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-17gnu: file-systems: Add variable %base-live-file-systems.Nicolas Graves
* 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-16system: hurd: Override locale-libcs harder.Janneke Nieuwenhuizen
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-16system: hurd: Add nss-certs to %base-packages/hurd.Janneke Nieuwenhuizen
This fixes the recently added "rewrite-url, to-version specified" test. * gnu/system/hurd.scm (%base-packages/hurd): Add nss-certs.
2023-09-16system: hurd: Add procps to %base-packages/hurd.Janneke Nieuwenhuizen
* gnu/system/hurd.scm (%base-packages/hurd): Add procps.
2023-09-16locale: Set %default-locale-definitions to glibc/hurd on the Hurd.Janneke Nieuwenhuizen
* gnu/system/locale.scm (%default-locale-libcs): Use only glib/hurd when building on the Hurd.
2023-09-11system: vm-image: Remove duplicate packages.Efraim Flashner
* gnu/system/examples/vm-image.tmpl (use-package-modules): Remove unneeded modules. (operating-system)[packages]: Remove nvi, wget.
2023-08-20Revert "gnu: system: Add home-directory-permissions field to <user-account>."Tobias Geerinckx-Rice
This reverts commit e9a5eebc785cb843034b38c5c5a6dd10904bdf2a, 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-25gnu: system: Add home-directory-permissions field to <user-account>.David Thompson
* 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-25image: Add mbr-raw-image-type and use by default.Josselin Poiret
* 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-22examples: Avoid duplicate SDDM service for Plasma on aarch64-linux.Ludovic Courtès
This is a followup to cf28f46930f1ea4087d84c162cfacfcdff842b1f. * gnu/system/examples/plasma.tmpl (services): Remove both 'gdm-service-type' and 'sddm-service-type' from %DESKTOP-SERVICES.
2023-08-21examples: Avoid 'modify-services' to remove GDM.Ludovic Courtès
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-11Merge remote-tracking branch 'origin/master' into kde-updates宋文武
2023-08-03examples: Add plasma operating-system example template.Zheng Junjie
* gnu/system/examples/plasma.tmpl: New file. * Makefile.am (EXAMPLES): register it. Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2023-08-08file-systems: Use cgroups v2.Sam Lockart
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-07-26system: accounts: Export <user-account>.Maxim Cournoyer
2023-07-13system: hurd: Add netdde to %base-packages/hurd.Janneke Nieuwenhuizen
* gnu/system/hurd.scm (%base-packages/hurd): Add netdde. Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
2023-07-13services: childhurd: Bump default qemu memory to 2048MB.Janneke Nieuwenhuizen
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-07image: Prefer gpt partition table for efi imagesSergey Trofimov
* 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-06-24linux-container: Pass '--disable-chroot' to 'guix-daemon'.Ludovic Courtès
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-18uuid: Fix NTFS UUID stringification.Tobias Geerinckx-Rice
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-19gnu: image: Build partitions with only necessary inputs.Efraim Flashner
* 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-17gnu: Use target-hurd?, system-hurd? instead of hurd-target?, hurd-system?.Janneke Nieuwenhuizen
* 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-14system: images: Add unmatched module.Efraim Flashner
* gnu/system/images/unmatched.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
2023-06-14gnu: image: Add support for unformatted partitions.Efraim Flashner
* 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-09linux-container: Adjust to 'modify-services' semantic change.Ludovic Courtès
This is a followup to dbbc7e946131ba257728f1d05b96c4339b7ee88b: '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-09system: account: Fix default value.Ludovic Courtès
Fixes a regression introduced in 66ecffbeba0685ff2f1071db8aeb2393986afb97. * gnu/system/shadow.scm (account-service-type)[default-value]: Change to the empty list.
2023-05-21system: pam: Change 'stop' method to return #f.Ludovic Courtès
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-16services: Add default values.Andrew Tropin
* 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-12system: 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-11system: pam: Let PAM extensions add shepherd requirements.Josselin Poiret
* 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-04-19locale: Add glibc 2.33 to '%default-locale-libcs'.Ludovic Courtès
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-14Merge branch 'master' into core-updates.Maxim Cournoyer
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-03-30system: hurd: Use shepherd-0.8 in the package list.Josselin Poiret
* 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-26linux-container: Remove hosts-service-type when network is shared.Pierre Langlois
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-20Merge remote-tracking branch 'origin/master' into core-updatesAndreas Enge
2023-03-07system: Update skeleton gdbinit.Efraim Flashner
* 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-05file-systems: Remove deprecated 'title' field helper procedures.Bruno Victal
* 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-02Merge remote-tracking branch 'savannah/master' into core-updatesChristopher Baines
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-03services: dbus: Deprecate 'dbus-service' procedure.Bruno Victal
* 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-03services: base: Deprecate 'udev-service' procedure.Bruno Victal
* 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-03services: base: Deprecate 'syslog-service' procedure.Bruno Victal
* 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-03services: base: Deprecate 'nscd-service' procedure.Bruno Victal
* 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-03services: base: Deprecate 'agetty-service' procedure.Bruno Victal
* 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-03services: base: Deprecate 'mingetty-service' procedure.Bruno Victal
* 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-03services: base: Deprecate 'login-service' procedure.Bruno Victal
* 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-02-26file-systems: Validate 'no-diratime flag.Tobias Geerinckx-Rice
This follows up on commit c0773455397746b10194bc14c7cef144f4095b65, 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-08system: Source .profile in skeleton bash_profile.Andrew Tropin
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-01-30Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner
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
2023-01-05system: Define default 'PS1' in /etc/bashrc rather than ~/.bashrc.Ludovic Courtès
Users can override 'PS1' in ~/.bashrc if they wish. Previously, on Guix Home, the "default" 'PS1' would be set in ~/.bashrc when 'home-bash-configuration-guix-defaults?' is true, preventing users from overriding it via the 'environment-variables' field of 'home-bash-extension'. * gnu/system/shadow.scm (%default-bashrc): Remove 'PS1' setting. * gnu/system.scm (operating-system-etc-service): Define PS1 in /etc/bashrc. * gnu/home/services/shells.scm (add-bash-configuration): When 'home-bash-configuration-guix-defaults?' is true, add a default 'PS1' to ~/.bash_profile.