summaryrefslogtreecommitdiff
path: root/gnu/system
Commit message (Collapse)AuthorAge
* pack: Prevent duplicate files in tar archives.Maxim Cournoyer2021-06-29
| | | | | | | | | | | | | | Tar translate duplicate files in the archive into hard links. These can cause problems, as not every tool support them; for example dpkg doesn't. * gnu/system/file-systems.scm (reduce-directories): New procedure. (file-prefix?): Lift the restriction on file prefix. The procedure can be useful for comparing relative file names. Adjust doc. (file-name-depth): New procedure, extracted from ... (btrfs-store-subvolume-file-name): ... here. * guix/scripts/pack.scm (self-contained-tarball/builder): Use reduce-directories. * tests/file-systems.scm ("reduce-directories"): New test.
* vm: Update deprecated QEMU option syntax.Tobias Geerinckx-Rice2021-06-25
| | | | | | | | Fixes: warning: short-form boolean option 'readonly' deprecated Please use readonly=on instead * gnu/system/vm.scm (common-qemu-options): Use it instead.
* Revert "vm: Autoload (gnu build vm)."Tobias Geerinckx-Rice2021-05-18
| | | | | This reverts commit a67c00f4f7ee0a70fce14a7e1907cce332c85813 in an attempt to fix <http://issues.guix.gnu.org/48496>.
* vm: Remove unused imports.Ludovic Courtès2021-05-17
| | | | * gnu/system/vm.scm (gnu): Remove unused imports.
* vm: Autoload (gnu build vm).Ludovic Courtès2021-05-17
| | | | * gnu/system/vm.scm: Autoload (gnu build vm), which was pulling in (sqlite3).
* system: vm-image.tmpl: Add a crutch to allow refreshing the resolution.Maxim Cournoyer2021-05-10
| | | | | | | | | | | Inspired by https://github.com/jollheef/appvm/commit/1270b2e209bc002e69bbe6351ad5b04b7facfcc8. The price to pay is about 5% of a CPU core usage in the guest in the worst scenario. * gnu/system/examples/vm-image.tmpl (auto-update-resolution-crutch): New mcron job. [services]: Extend the mcron-service with it.
* gnu: system: Add SPICE capability to the VM image.Maxim Cournoyer2021-05-06
| | | | | | * gnu/system/examples/vm-image.tmpl (services) [spice-vdagent-service-type]: Add service. [slim-service-type] <xorg-configuration>: Add the xf86-video-qxl module.
* locale: Remove glibc 2.29 from '%default-locale-libcs'.Ludovic Courtès2021-05-04
| | | | | | | | | | | Having 2.29 is most likely no longer justified. Removing it reduces the closure size returned by: guix size $(guix system build gnu/system/install.scm) from 1.6G to 1.5G. * gnu/system/locale.scm (%default-locale-libcs): Remove GLIBC-2.29.
* system: vm: Add a memory-size argument to system-docker-image.Mathieu Othacehe2021-04-12
| | | | | * gnu/system/vm.scm (system-docker-image): Add a memory-size argument and pass it to expression->derivation-in-linux-vm.
* system: vm: Set a larger value for the msize option of the 9p file system.Maxim Cournoyer2021-04-08
| | | | | | | | | | Fixes <https://issues.guix.gnu.org/47225>. * gnu/system/vm.scm (%default-msize-value): New variable. (%linux-vm-file-systems): Use it as the value of the msize option. (mapping->file-system): Likewise. Reported-by: Leo Famulari <leo@famulari.name>
* system: vm: Use Guile 3.0 in Docker images.Ludovic Courtès2021-02-25
| | | | * gnu/system/vm.scm (system-docker-image): Use GUILE-3.0.
* system: hurd: Have the static networking provision 'networking.Christopher Baines2021-02-22
| | | | | | | | | Some services require networking, I'm looking at the Guix Build Coordinator agent. Networking seems to work in the childhurd VM, so I think this change makes sense. * gnu/system/hurd.scm (%base-services/hurd): Add 'networking to the provision parameter for the static-networking service.
* image: Add rock64 support.Marius Bakke2021-02-21
| | | | | * gnu/system/images/rock64.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Adjust accordingly.
* scripts: system: Accept <image> records as input.Mathieu Othacehe2021-02-17
| | | | | | | | | | | | | | * guix/scripts/system.scm (system-derivation-for-action): Replace "os" argument by "image". Remove "image-size", "image-type", "label" and "volatile-root?" arguments. (perform-action): Ditto. (process-action): Construct the <image> record and pass it to "perform-action" procedure. * tests/guix-system.sh: Adapt accordingly. * gnu/system/images/hurd.scm: Return the default image. * gnu/system/images/novena.scm: Ditto. * gnu/system/images/pine64.scm: Ditto. * gnu/system/images/pinebook-pro.scm Ditto.
* scripts: system: Remove 'vm-image' command.Mathieu Othacehe2021-02-17
| | | | | | | | | | | | | | | Remove the 'vm-image' command that has been superseded by the 'image' command. * gnu/system/vm.scm (system-qemu-image): Remove it. * guix/scripts/system.scm (system-derivation-for-action): Mark 'vm-image' command as deprecated and use the image API to produce the VM image. (perform-action, show-help): Adapt accordingly. * tests/guix-system.sh: Ditto. * doc/guix.texi (Invoking guix system, Running Guix in a VM): Ditto. * etc/completion/fish/guix.fish: Ditto. * etc/completion/zsh/_guix: Ditto.
* images: pinebook-pro: Fix default serial port.Caliph Nomble2021-01-20
| | | | | * gnu/system/images/pinebook-pro.scm (pinebook-pro-barebones-os)[services]: Start agetty on ttyS2 instead of ttyS0.
* services: Do not warn, when duplicate users are eq?.Leo Prikler2021-01-20
| | | | | | * gnu/system/shadow.scm (account-activation): Delete duplicate (eq?) users and groups before transforming them to specs and asserting, that names are unique.
* shadow: End duplicate warnings with new lines.Leo Prikler2021-01-20
| | | | | | | | | The change from formatted message causes the line to no longer automatically be ended. This will need to be reverted once again, when duplicate names become hard errors. * gnu/system/shadow.scm (assert-unique-account-names) (assert-unique-group-names): End format strings in ~%.
* system: Rename 'disk-image' command 'image'.Mathieu Othacehe2021-01-19
| | | | | | | | | | | | | * guix/scripts/system.scm (system-derivation-for-action): Rename 'disk-image' command 'image'. Warn when using the now deprecated 'disk-image' command. (show-help): Adapt accordingly. (guix-system): Ditto. * tests/guix-system.sh: Ditto. * gnu/system/examples/bare-hurd.tmpl: Ditto. * doc/guix.texi (Building the Installation Image, Building the Installation Image for ARM Boards, Invoking guix pack, Invoking guix system): Adapt documentation.
* image: Rename "raw" image-type to "efi-raw".Mathieu Othacehe2021-01-17
| | | | | | | | * gnu/system/image.scm (raw-image-type): Rename to "efi-raw-image-type". * guix/scripts/system.scm (%default-options): Adapt accordingly. * doc/guix.texi: Ditto. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* services: shepherd: 'shepherd-service-type' requires documentation.Ludovic Courtès2021-01-13
| | | | | | | | | | | | | | | | | * gnu/services/shepherd.scm (shepherd-service-type): Require a 'description' form. * gnu/services/base.scm (root-file-system-service-type) (rngd-service-type, host-name-service-type): (virtual-terminal-service-type, console-keymap-service-type) (syslog-service-type, swap-service-type) (kmscon-service-type): Add description. * gnu/services/networking.scm (dhcp-client-service-type): Likewise. * gnu/system/install.scm (cow-store-service-type): Likewise. * gnu/system/linux-container.scm (dummy-networking-service-type): Likewise. * gnu/system/mapped-devices.scm (device-mapping-service-type): Likewise. * tests/guix-system.sh: Likewise.
* Reapply "system: Assert, that user and group names are unique."Leo Prikler2021-01-13
| | | | | * gnu/system/shadow.scm (assert-unique-account-names) (assert-unique-group-names): Demote formatted-message to warning.
* Revert "system: Assert, that user and group names are unique."Jonathan Brielmaier2021-01-12
| | | | | | | | This reverts commit a3002104a84c60556b6616d100cb98019e48759d, which breaks certain system configurations like: $ guix system reconfigure config.scm guix system: error: the following groups appear more than once: lp
* system: Assert, that user and group names are unique.Leo Prikler2021-01-11
| | | | | | *gnu/system/shadow.scm (find-duplicates): New variable. (assert-unique-account-names, assert-unique-group-names): New variables. (account-activation): Use them here.
* system: image: Fix root offset on rockchip platforms.Mathieu Othacehe2021-01-10
| | | | | | | | | | | Fixes: <https://issues.guix.gnu.org/45584>. * gnu/system/image.scm (arm32-disk-image, arm64-disk-image): Turn into procedures, taking the root partition offset as argument. * gnu/system/images/novena.scm (novena-image-type): Adapt accordingly. * gnu/system/images/pine64.scm (pine64-image-type): Ditto. * gnu/system/images/pinebook-pro.scm (pinebook-pro-image-type): Use a 9MiB offset for the root partition.
* store-copy: 'populate-store' can optionally deduplicate files.Ludovic Courtès2020-12-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until now deduplication was performed as an additional pass after copying files, which involve re-traversing all the files that had just been copied. * guix/store/deduplication.scm (copy-file/deduplicate): New procedure. * tests/store-deduplication.scm ("copy-file/deduplicate"): New test. * guix/build/store-copy.scm (populate-store): Add #:deduplicate? parameter and honor it. * tests/gexp.scm ("gexp->derivation, store copy"): Pass #:deduplicate? #f to 'populate-store'. * gnu/build/image.scm (initialize-root-partition): Pass #:deduplicate? to 'populate-store'. Pass #:deduplicate? #f to 'register-closure'. * gnu/build/vm.scm (root-partition-initializer): Likewise. * gnu/build/install.scm (populate-single-profile-directory): Pass #:deduplicate? #f to 'populate-store'. * gnu/build/linux-initrd.scm (build-initrd): Likewise. * guix/scripts/pack.scm (self-contained-tarball)[import-module?]: New procedure. [build]: Pass it as an argument to 'source-module-closure'. * guix/scripts/pack.scm (squashfs-image)[build]: Wrap in 'with-extensions'. * gnu/system/linux-initrd.scm (expression->initrd)[import-module?]: New procedure. [builder]: Pass it to 'source-module-closure'. * gnu/system/install.scm (cow-store-service-type)[import-module?]: New procedure. Pass it to 'source-module-closure'.
* install: Discover local substitute servers.Mathieu Othacehe2020-12-11
| | | | | | | | | | | | | | | | * gnu/installer/substitutes.scm: New file. * gnu/installer/newt/substitutes.scm: New file. * gnu/local.mk (INSTALLER_MODULES): Add them. * po/guix/POTFILES.in: Add gnu/installer/newt/substitutes.scm. * gnu/installer/proxy.scm (with-silent-shepherd): Move to ... * gnu/installer/utils.scm: ... here. * gnu/installer/record.scm (<installer>)[substitutes-page]: New field. * gnu/installer/newt.scm (substitutes-page): New procedure, (newt-installer): register it. * gnu/installer.scm (installer-steps): Add "substitutes-page" step. * gnu/system/install.scm (%installation-services): Add avahi-service-type and enable substitute server discover in guix-service-type. [<name-service-switch>]: Set it to %mdns-host-lookup-nss.
* linux-initrd: Add bcachefs support.Tobias Geerinckx-Rice2020-12-06
| | | | | | | * gnu/system/linux-initrd.scm (file-system-packages): Add bcachefs-tools/static. (file-system-type-modules): Add an entry for the "bcachefs" type and module.
* images: novena: Make boot settings and RTC accessible.Danny Milosavljevic2020-12-05
| | | | | * gnu/system/images/novena.scm (novena-barebones-os)[initrd-modules]: Add i2c-dev.
* image: Fix ISO image production.Mathieu Othacehe2020-12-04
| | | | | | | This is a follow-up of 41f27bf8702838f19b1dc5ffee8eec1d4315d4e6. * gnu/system/image.scm (operating-system-for-image): Force "volatile-root?" to true when producing ISO images.
* images: novena: Replace agetty-service by term-auto.Danny Milosavljevic2020-12-03
| | | | | | * gnu/system/images/novena.scm (novena-barebones-os)[kernel-arguments]: New field. [services]: Remove field.
* images: Add novena-image-type, novena-barebones-raw-image, novena-barebones-os.Danny Milosavljevic2020-12-03
| | | | | * gnu/system/images/novena.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* mapped-devices: Add 'lvm-device-mapping'.Mikhail Tsykalov2020-11-26
| | | | | | | | | | | | | * gnu/system/mapped-devices.scm (lvm-device-mapping, open-lvm-device, close-lvm-device): New variables. * gnu/tests/install.scm (%lvm-separate-home-os, %lvm-separate-home-os-source, %lvm-separate-home-installation-script, %test-lvm-separate-home-os): New variables. * gnu/system/linux-initrd.scm (raw-initrd): Add (srfi srfi-1) to initrd expression. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* mapped-devices: Allow target to be list of strings.Mikhail Tsykalov2020-11-26
| | | | | | | | | | | * gnu/system/mapped-devices.scm (<mapped-device>): Rename constructor to %mapped-device. [target]: Remove field. [targets]: New field. Adjust users. (mapped-device-compatibility-helper, mapped-device): New macros. (mapped-device-target): New deprecated procedure. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* image: Add pinebook-pro support.Mathieu Othacehe2020-11-20
| | | | | | * gnu/system/images/pinebook-pro.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/ci.scm (%guix-system-images): Add pinebook-pro-barebones-raw-image.
* system: vm: Remove unused system-disk-image-in-vm.Maxim Cournoyer2020-11-17
| | | | | | * gnu/system/vm.scm (system-disk-image-in-vm): Remove. Reported-by: Ludovic Courtès <ludo@gnu.org>
* image: Remove conflicting user-provided EFI file system.Maxim Cournoyer2020-11-17
| | | | | | | | | | | When the image type is "raw" or derived from it (such as "qcow2"), an ESP partition and file system is already added by the image generator. If a conflicting user-provided EFI file system is provided, it causes the boot to fail, as happens for the lightweight-desktop.tmpl and desktop.tmpl templates under gnu/system/examples. * gnu/system/image.scm (operating-system-for-image): Remove file systems whose mount point is "/boot/efi".
* Merge branch 'version-1.2.0'Ludovic Courtès2020-11-12
|\
| * vm: expression->derivation-in-linux-vm: Run in a UTF-8 locale.Ludovic Courtès2020-11-10
| | | | | | | | | | * gnu/system/vm.scm (expression->derivation-in-linux-vm): Add calls to 'setenv' and 'setlocale'.
| * vm: 'system-qemu-image' forces the use of i386/BIOS GRUB.Ludovic Courtès2020-11-10
| | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/44511>. Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>. * gnu/system/vm.scm (system-qemu-image): Add 'bootloader' field to OS.
| * image: Offload "disk-image" derivations.Ludovic Courtès2020-11-08
| | | | | | | | | | | | | | This is a followup to 99efa804bd6df5de4760ec5974ed2297f1746366. * gnu/system/image.scm (system-disk-image): Pass #:local-build? #f to 'computed-file'.
* | image: Offload "disk-image" derivations.Ludovic Courtès2020-11-08
| | | | | | | | | | | | | | This is a followup to 99efa804bd6df5de4760ec5974ed2297f1746366. * gnu/system/image.scm (system-disk-image): Pass #:local-build? #f to 'computed-file'.
* | uuid: Add support for bcachefs.Tobias Geerinckx-Rice2020-11-07
| | | | | | | | | | * gnu/system/uuid.scm (string->bcachefs-uuid): New exported procedure. (%uuid-parsers, %uuid-printers): Add the ‘bcachefs’ file system type.
* | services: Add yggdrasil-service-type.raingloom2020-11-05
|/ | | | | | | | | | | | * gnu/services/networking.scm (yggdrasil-configuration) (yggdrasil-configuration?, yggdrasil-configuration-package) (yggdrasil-configuration-auto-conf, yggdrasil-configuration-log-level) (yggdrasil-configuration-log-to): New procedures. (yggdrasil-service-type): New variable. * doc/guix.texi: Document it. * gnu/system/examples/yggdrasil.tmpl: Provide example. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
* vm: system-qemu-image: Fix type error, remove more actual file systems.Ludovic Courtès2020-11-05
| | | | | | * gnu/system/vm.scm (system-qemu-image)[file-systems-to-keep]: Check whether SOURCE is a string before calling 'string-prefix?'. Remove UUIDs and file system labels as well.
* image: Allow offloading of "partition.img" and "image.iso" builds.Ludovic Courtès2020-11-03
| | | | | | | | This builds are extremely I/O-intensive so they'd rather not run on the head node of the build farm. * gnu/system/image.scm (system-disk-image, system-iso9660-image): Pass #:local-build? #f.
* system: image: Introduce arm32-raw image type.Mathieu Othacehe2020-11-02
| | | | | | * gnu/system/image.scm (arm32-disk-image, arm32-image-type): New variables. (arm64-disk-image): Inherit from arm32-disk-image. (arm64-image-type): Change name to 'arm64-raw.
* install: Deduplicate packages with %base-package sets.Efraim Flashner2020-10-15
| | | | | | | | | * gnu/system.scm (%base-packages-interactive): Add nvi. * gnu/system/install.scm (installation-os)[packages]: Remove parted, gptfdisk, ddrescue, cryptsetup, mdadm, dosfstools, btrfs-progs, f2fs-tools, jfstools, openssh, wireless-tools, iw, wpa-supplicant-minimal, iproute, bash-completion, nvi. Add %base-packages-disk-utilities.
* image: Use 'raise' from (srfi srfi-34).Ludovic Courtès2020-10-14
| | | | | | * gnu/system/image.scm: Use (srfi srfi-34) for 'raise'. (lookup-image-type-by-name): Remove extra newline in 'formatted-message' string.
* installer: Add Emacs EXWM desktop environment.Jan (janneke) Nieuwenhuizen2020-10-13
| | | | | | | | | | | | | Suggested by zenny via IRC. * gnu/installer/services.scm (%system-services): Add emacs, emacs-exwm, emacs-desktop-environment. * etc/release-manifest.scm (%system-packages): Likewise. * gnu/system/examples/lightweight-desktop.tmpl: Likewise. * gnu/tests/install.scm (installation-target-desktop-os-for-gui-tests) [packages]: Likewise * gnu/installer/newt/services.scm (run-desktop-environments-cbt-page): Make one entry taller.