summary refs log tree commit diff
path: root/gnu/system
AgeCommit message (Collapse)Author
2023-07-21locale: Set %default-locale-definitions to glibc/hurd on the Hurd. hurd-teamJanneke Nieuwenhuizen
* gnu/system/locale.scm (%default-locale-libcs): Use only glib/hurd when building on the Hurd.
2023-07-21DRAFT system: examples: Add devel-hurd.tmpl.Janneke Nieuwenhuizen
For your hacking pleasure -- Not intended for review / merge just yet. Try something like ./pre-inst-env guix system image --image-type=hurd-qcow2 --image-size=15G \ --no-offload gnu/system/examples/devel-hurd.tmpl cp /gnu/store/...disk-image devel.img guix shell qemu -- qemu-system-i386 -enable-kvm -m 4096 \ -device rtl8139,netdev=net0 \ -netdev user,id=net0,hostfwd=tcp:127.0.0.1:10022-:2222 \ -hda devel-hurd.img ssh -p 10022 root@localhost GUIX_PROFILE=/run/current-system/bootstrap-profile source $GUIX_PROFILE/etc/profile git clone git://git.savannah.gnu.org/guix cd guix ./bootstrap ./configure --localstatedir=/var --sysconfdir=/etc --with-courage make Note that we don't have an ld-wrapper, so you need some ld.so and LD_LIBRARY_PATH hackery for compiled binaries to run.
2023-07-21system: hurd: Add procps to %base-packages/hurd.Janneke Nieuwenhuizen
* gnu/system/hurd.scm (%base-packages/hurd): Add procps.
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.
2023-01-05system, home: Factorize default '.bashrc'.Ludovic Courtès
* gnu/system/shadow.scm (%default-bashrc): New variable. Source /etc/bashrc only if it exists. (default-skeletons): Use it. * gnu/home/services/shells.scm (guix-bashrc): Remove. (add-bash-configuration): Refer to '%default-bashrc' instead.
2022-12-26image: Enhance compatibility of the root ext4 partition.Maxim Cournoyer
Generating a raw-with-offset image would previously not be bootable with U-Boot. * gnu/system/image.scm (root-partition) [file-system-options]: New field.
2022-12-26images: wsl2: Create XDG_RUNTIME_DIR on first login.dan
* gnu/system/images/wsl2.scm (wsl-boot-program): Create XDG_RUNTIME_DIR on first login and set it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-12-19Merge branch 'version-1.4.0'Ludovic Courtès
2022-12-15install: Make sure uvesafb can be loaded.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/60010>. Reported by pelzflorian (Florian Pelz) <pelzflorian@pelzflorian.de>. Previously, the 'modprobe' executable would try and fail to load the module from /lib/modules/*. Set 'LINUX_MODULE_DIRECTORY' to make sure 'modprobe' looks for the module in the right place. * gnu/system/install.scm (uvesafb-shepherd-service)[modprobe]: New variable. In 'start' method, invoke it instead of KMOD/bin/modprobe.
2022-12-16system: examples: Add mode prop line.Maxim Cournoyer
* gnu/system/examples/asus-c201.tmpl: Add a mode prop line. * gnu/system/examples/bare-bones.tmpl: Likewise. * gnu/system/examples/beaglebone-black.tmpl: Likewise. * gnu/system/examples/desktop.tmpl: Likewise. * gnu/system/examples/docker-image.tmpl: Likewise. * gnu/system/examples/lightweight-desktop.tmpl: Likewise. * gnu/system/examples/raspberry-pi-64-nfs-root.tmpl: Likewise. * gnu/system/examples/raspberry-pi-64.tmpl: Likewise. * gnu/system/examples/vm-image.tmpl: Likewise.
2022-12-11install: Add lvm2-static system package.Tobias Geerinckx-Rice
* gnu/system/install.scm (%installer-disk-utilities): Add lvm2-static.
2022-12-12Merge branch 'version-1.4.0'Ludovic Courtès
2022-12-09system: Remove unused yggdrasil OS template.Ludovic Courtès
This file was added in fe1cd098d2b83737e96f19438612291f5a9316e4 but it's not referenced from anywhere, not even gnu/local.mk. Furthermore, we don't normally add full OS examples for the purposes of illustrating the use of a single service. * gnu/system/examples/yggdrasil.tmpl: Remove.
2022-12-06image: Clarify comment.Ludovic Courtès
* gnu/system/image.scm: Adjust comment.
2022-12-06system: vm: Non-volatile 'run-vm.sh' creates a CoW image.Ludovic Courtès
Previously, copying the image would consume a lot of space and was I/O-intensive, to the point that the marionette connection timeout of 20s could be reached when running tests like "docker-system". * gnu/system/vm.scm (common-qemu-options): Pass 'format=' for each '-drive' option. (system-qemu-image/shared-store-script)[copy-image]: New variable. [builder]: Use it when VOLATILE? is false.
2022-12-06install: Add missing e2fsprogs utility.Maxim Cournoyer
* gnu/system/install.scm (%installer-disk-utilities): Add e2fsprogs. Reported-by: Adam Kandur <kefironpremise@gmail.com>
2022-12-06system: Rename and move %base-packages-disk-utilities.Maxim Cournoyer
Rationale: It is only used in INSTALLATION-OS and doesn't make sense to be used in another context, given that file systems now automatically pull their dependencies since commit 45eac6cdf5c8d9d7b0c564b105c790d2d2007799 (services: Add file system utilities to profile). * gnu/system.scm (%base-packages-disk-utilities): Deprecate and rename to... * gnu/system/install.scm (%installer-disk-utilities): ... this. (installation-os) [packages]: Adjust accordingly.