summary refs log tree commit diff
path: root/gnu/system
AgeCommit message (Collapse)Author
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-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.
2022-12-09system: images: Add networking support to pine64 image.Gabriel Wicki
* gnu/system/images/pine64.scm (pine64-barebones-os) [services]: Add dhcp-client-service-type and ntp-service-type to the list of services. [packages]: Add nss-certs to the list of packages. Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2022-12-05install: Add missing e2fsprogs utility.Maxim Cournoyer
* gnu/system/install.scm (%installer-disk-utilities): Add e2fsprogs. Reported-by: Adam Kandur <kefironpremise@gmail.com>
2022-12-05system: 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.
2022-12-04gnu: Do not use 'local-file' in Raspberry Pi OS examples.Maxim Cournoyer
As this breaks the 'tests/guix-system.sh' test. * gnu/system/examples/raspberry-pi-64-nfs-root.tmpl (%my-public-key): Delete variable. (raspberry-pi-64-nfs-root) [services]: Remove key from openssh-configuration. * gnu/system/examples/raspberry-pi-64.tmpl: Likewise. Reported-by: Vagrant Cascadian <vagrant@debian.org>
2022-12-01gnu: raspberry-pi: Add a bootloader-chain for the Raspberry Pi and os examples.Stefan
* gnu/packages/raspberry-pi.scm (grub-efi-bootloader-chain-raspi-64): New bootloader variable, capable to boot a Raspberry Pi over network or from a local storage. * gnu/system/examples/raspberry-pi-64.tmpl: New operating-system example. * gnu/system/examples/raspberry-pi-64-nfs-root.tmpl: New operating-system example for booting over network. * Makefile.am (EXAMPLES): Register the new files. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-12-01linux-container: Do not replace nscd-service-type.Ricardo Wurmus
* gnu/system/linux-container.scm (containerized-operating-system): Respect customizations to the nscd-service-type and only modify the caches field.
2022-11-28system: hurd: Create more ttys.Ludovic Courtès
* gnu/build/hurd-boot.scm (set-hurd-device-translators)[devices]: Add more /dev/ttyN nodes. * gnu/system/hurd.scm (%base-services/hurd): Add more 'hurd-getty-service-type' instances.
2022-11-18linux-initrd: raw-initrd: Add keyword argument #:pre-mount.Hilton Chain
* gnu/system/linux-initrd.scm (raw-initrd): Add keyword argument #:pre-mount. Document it. * doc/guix.texi (initial RAM disk): Likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-11-04system: image: Define correct docker image arch when cross buildingThiago Jung Bauermann
Cross-building a docker image with: $ guix system image --image-type=docker --target=aarch64-linux-gnu os.scm results in an image where the architecture declared in its config.json is the host architecture rather than the target one. The binaries are correctly cross-compiled, so the image can be loaded and used despite the warning message shown by docker: $ docker load -i vcal7bvsqcijchifhqdvprpd1niqh8sk-docker-image.tar.gz Loaded image: guix:latest $ docker create guix:latest WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested 40f06aa869ed690489c4a3824a7f7721bd4bf453b85f25ac7199266939fe2fba $ echo $? 0 This is fixed by passing the correct triplet to the build-docker-image function. * gnu/system/image.scm (system-docker-image) Add ‘image-target’ variable. [builder]: Pass ‘#:system’ argument to ‘build-docker-image’. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-10-23system: Support bare-bones serial console.Tobias Geerinckx-Rice
* gnu/system/examples/bare-bones.tmpl (operating-system): Add a ttyS0 console to kernel-arguments.
2022-10-13system: Use a valid license as the dummy license.Ricardo Wurmus
* gnu/system/images/wsl2.scm (dummy-package)[license]: Do not use #F.
2022-09-26file-systems: Add cgroup2 to %pseudo-file-system-types.Hilton Chain
* gnu/system/file-systems.scm (%pseudo-file-system-types): Add cgroup2. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-09-25system: images: Add a TODO comment.Mathieu Othacehe
* gnu/system/image.scm (system-tarball-image): Add it.
2022-09-24system: images: Add wsl2 module.Alex Griffin
* gnu/system/images/wsl2.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi ("System Images"): Document it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-09-24system: image: Add wsl2 support.Alex Griffin
* gnu/image.scm (<image>)[format]: Add wsl2 support. * gnu/system/image.scm (wsl2-image, wsl2-image-type): New variables. (image->root-file-system): Add wsl2 image support. (system-image): Ditto.
2022-09-24system: image: Add tarball support.Alex Griffin
* gnu/image.scm (<image>)[fields]: Add tarball to the supported formats. * gnu/system/image.scm (tarball-image, tarball-image-type): New variables. (system-tarball-image): New procedure. (image->root-file-system): Add tarball image support. (system-image): Ditto. * doc/guix.texi ("System Images"): Document it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-09-24platforms: x86: Rename Hurd hurd to i586-gnu.Mathieu Othacehe
* guix/platforms/x86.scm (hurd): Rename it to ... (i586-gnu): ... this variable. * gnu/system/images/hurd.scm (hurd-disk-image, hurd-barebones-disk-image, hurd-barebones-qcow2-image): Adapt those.
2022-09-24image: Make the operating-system field mandatory.Mathieu Othacehe
Make the operating-system field mandatory as creating an image without it makes no sense. Introduce a new macro, image-without-os for the specific cases where the image is only created to be inherited from afterwards. * gnu/image.scm (<image>)[operating-system]: Make it mandatory. * gnu/system/image.scm (image-without-os): New macro. (efi-disk-image, efi32-disk-image, iso9660-image, docker-image, raw-with-offset-disk-image): Use it. * gnu/system/images/hurd.scm (hurd-disk-image): Ditto.
2022-09-16system: install: Do not load amdgpu in the installer image.Antero Mejr
* gnu/system/install.scm (installation-os): Add amdgpu to modprobe.blacklist. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-09-07system: images: Define the platform in image-types.Mathieu Othacehe
Running the following command where my-pine.scm contains an operating-system declaration: guix system image --image-type=pine64-raw my-pine.scm returns: guix system: error: package linux-libre-arm64-generic@5.18.19 does not support x86_64-linux That's because there's no platform defined in the pine64-raw image-type, hence the guix system image tries to build the image for the host architecture. * gnu/system/images/novena.scm (novena-image-type): Use the armv7-linux platform. * gnu/system/images/pine64.scm (pine64-image-type): Use the aarch64-linux platform. * gnu/system/images/pinebook-pro.scm (pinebook-pro-image-type): Use the aarch64-linux platform. * gnu/system/images/rock64.scm (rock64-image-type): Use the aarch64-linux platform.
2022-09-07system: image: Update my copyright.Mathieu Othacehe
* gnu/system/image.scm: Update it.
2022-09-07system: image: Remove an unused variable.Mathieu Othacehe
* gnu/system/image.scm (sytem-image): Remove it.
2022-08-10gnu: system: file-systems: Add shared flag.Oleg Pykhalov
* gnu/build/file-systems.scm (mount-flags->bit-mask, mount-file-system): Handle shared flag. * gnu/system/file-systems.scm (invalid-file-system-flags): Add shared to known flags. * guix/build/syscalls.scm (MS_SHARED): New variable. * doc/guix.texi (File Systems): Document shared flag.
2022-08-09linux-container: container-script: Parse command line options.Ricardo Wurmus
* gnu/system/linux-container.scm (container-script): Accept command line options to bind mount host directories into the container. * doc/guix.texi (Invoking guix system): Document options.
2022-08-09maint: Use a pretty version string in ISO and VM images.Ludovic Courtès
* gnu/system/examples/vm-image.tmpl: Use the 'GUIX_DISPLAYED_VERSION' environment variable in 'label'. * gnu/system/install.scm (%installation-os): Likewise. * Makefile.am (release): Set 'GUIX_DISPLAYED_VERSION'.
2022-08-09system: install: Always use 'current-guix'.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/53210>. Reported by Mathieu Othacehe <othacehe@gnu.org>. * gnu/system/install.scm (%installation-services): Set 'guix' to use (current-guix) in 'guix-configuration'. * gnu/system/examples/vm-image.tmpl: Likewise. * gnu/tests/install.scm (operating-system-with-current-guix): Remove. (run-install, installation-os-for-gui-tests): Remove its uses. * Makefile.am (release): Remove intermediate use of 'update-guix-package.scm' and subsequent 'git commit' invocation.
2022-07-01image: Raise an error when an image lacks a bootable partition.Ludovic Courtès
* gnu/system/image.scm (find-root-partition): Raise an error when 'find' returns #f.