aboutsummaryrefslogtreecommitdiff
path: root/gnu/system
Commit message (Collapse)AuthorAge
* 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.
* Revert "Revert "install: Pass "modprobe.blacklist=radeon".""Florian Pelz2020-10-11
| | | | | | This reverts commit 73ddcab6075f60ef9b3cd72a35fbf7f5d622b6ef. Blacklisting has become necessary again on my AMD machines, else the installer screen stays black.
* system: hurd: Add diffutils, patch, gawk, tar, gzip, bzip2, xz, and lzip.Jan (janneke) Nieuwenhuizen2020-10-09
| | | | | * gnu/system/hurd.scm (%base-packages/hurd): Add diffutils, patch, gawk, tar, gzip, bzip2, xz, and lzip.
* system: hurd: Include 'guile-3.0-latest' in '%base-packages/hurd'.Jan (janneke) Nieuwenhuizen2020-10-09
| | | | | * gnu/system/hurd.scm (%base-packages/hurd): Change GUILE-3.0 to GUILE-3.0-LATEST.
* system: hurd: Add PAM support with shadow and sudo.Jan (janneke) Nieuwenhuizen2020-10-09
| | | | | | | | | | | * gnu/system.scm (hurd-default-essential-services): Add setuid-program-service-type. * gnu/system/hurd.scm (%base-packages/hurd): Add shadow, sudo. (%setuid-programs/hurd): New variable. (%hurd-default-operating-system)[setuid-program]: Use it. [pam-services, sudoers-file]: Remove overrides; enabling regular defaults. * gnu/system/examples/bare-hurd.tmpl (%hurd-os)[users]: New field. [services]: Do not disable PAM in SSH.
* images: Add pine64-barebones-raw-image.Mathieu Othacehe2020-10-06
| | | | | * gnu/system/images/pine64.scm (pine64-barebones-raw-image): New variable. * gnu/ci.scm (%guix-system-images): Add it.
* images: Add pine64 support.Mathieu Othacehe2020-10-05
| | | | | | * gnu/system/images/pine64.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/system/image.scm (arm64-disk-image, arm64-image-type): New variables.
* bootloader: Fix u-boot installation.Mathieu Othacehe2020-10-05
| | | | | | | | | | | | | This is a follow-up of f19cf27c2b9ff92e2c0fd931ef7fde39c376adaa. The bootloader installation must be done on the final disk-image, hence using "disk-image-installer" instead of "installer" callback. * gnu/bootloader/u-boot.scm: Turn all installer callbacks into disk-image-installer callbacks. * gnu/build/bootloader.scm (write-file-on-device): Open the output file with 'no-truncate and 'no-create options. * gnu/system/image.scm (with-imported-modules*): Add (gnu build bootloader) module.
* system: image: Add qcow2 image type.Mathieu Othacehe2020-10-02
| | | | * gnu/system/image.scm (qcow2-image-type): New variable.
* Instantiate nscd in each system container.Jason Conroy2020-10-01
| | | | | | | | | | * gnu/system/linux-container.scm (%nscd-container-caches): New variable. (containerized-operating-system): Instantiate nscd-service with smaller caches and add it to the generated operating-system, replacing any nscd-service specified by the caller. * gnu/system/file-systems.scm: (%network-file-mappings): Remove "/var/run/nscd". Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* system: image: Add image-type support.Mathieu Othacehe2020-09-30
| | | | | | | | | | | | | | | | | | | | | * gnu/system/image.scm (image-with-os): New macro. Rename the old "image-with-os" procedure to ... (image-with-os*): ... this new procedure, (system-image): adapt according, (raw-image-type, iso-image-type, uncompressed-iso-image-type %image-types): new variables, (lookup-image-type-by-name): new procedure. (find-image): remove it. * gnu/system/images/hurd.scm (hurd-image-type): New variable, use it to define ... (hurd-disk-image): ... this variable, using "os->image" procedure. * gnu/tests/install.scm (run-install): Rename installation-disk-image-file-system-type parameter to installation-image-type, use os->config instead of find-image to compute the image passed to system-image, (%test-iso-image-installer) adapt accordingly, (guided-installation-test): ditto. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* images: hurd: Add hurd-barebones-qcow2-image.Mathieu Othacehe2020-09-29
| | | | * gnu/system/images/hurd.scm (hurd-barebones-qcow2-image): New variable.
* image: Add support for compressed-qcow2 format.Mathieu Othacehe2020-09-29
| | | | | | | | | * gnu/build/image.scm (convert-disk-image): New procedure. (genimage): Remove target argument. * gnu/system/image.scm (system-disk-image): Add support for 'compressed-qcow2 image format. Call "convert-disk-image" to apply image conversions on the final image. Add "qemu-minimal" to the build inputs. (system-image): Also add support for 'compressed-qcow2.
* system: image: Rename ISO9660 files.Mathieu Othacehe2020-09-19
| | | | | * gnu/system/image.scm (system-iso9660-image): Change the default file output name to "image.iso".
* install: Factorize cow-store procedure.Mathieu Othacehe2020-09-02
| | | | | | | | | | Move the cow-store procedure from the service declaration in (gnu system install) to (gnu build install), so that it can be called from within a different context than Shepherd. * gnu/build/install.scm (mount-cow-store, unmount-cow-store): New procedures. * gnu/system/install.scm (make-cow-store): Remove it, (cow-store-service-type): adapt it accordingly.
* Revert "system: image: Do not offload image files."Maxim Cournoyer2020-09-01
| | | | | This reverts commit 6a9581741e4ee81226aeb2f1c997df76670a6aab, which is obsoleted by the previous commit.