aboutsummaryrefslogtreecommitdiff
path: root/gnu/system
AgeCommit message (Expand)Author
2022-05-31gnu: Remove wicd....The last release is from 2017, stuck on Python 2. * gnu/packages/wicd.scm: Delete file. * gnu/packages/patches/wicd-bitrate-none-fix.patch: Delete file. * gnu/packages/patches/wicd-get-selected-profile-fix.patch: Likewise. * gnu/packages/patches/wicd-urwid-1.3.patch: Likewise. * gnu/packages/patches/wicd-wpa2-ttls.patch: Likewise. * gnu/local.mk: De-register them. * gnu/services/networking.scm: Remove wicd service... * doc/guix.texi: ... and its documentation. * gnu/system/linux-container.scm (containerized-operating-system) <services-to-drop>: Remove wicd-service-type. Maxim Cournoyer
2022-05-31-rw-r--r--doc/guix.texi40
1 files changed, 27 insertions, 13 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index ec0edbbbf0..f4f21c4744 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -39351,26 +39351,33 @@ Extra command line options for @code{guix-data-service-process-jobs}.
@end table
@end deftp
+@anchor{guix-home-service-type}
@subsubheading Guix Home Service
-The Guix Home Service allows for associating Guix @ref{Declaring the
-Home Environment, home-environment} declarations with a Guix
-@ref{operating-system Reference, operating-system}.
+
+The Guix Home service is a way to let Guix System deploy the home
+environment of one or more users (@pxref{Home Configuration}, for more
+on Guix Home). That way, the system configuration embeds declarations
+of the home environment of those users and can be used to deploy
+everything consistently at once, saving users the need to run
+@command{guix home reconfigure} independently.
@defvar guix-home-service-type
-Service type for the Guix Home Service. Its value must be a list of
+Service type for the Guix Home service. Its value must be a list of
lists containing user and home environment pairs. The key of each pair
is a string representing the user to deploy the configuration under and
the value is a home-environment configuration.
@lisp
+(use-modules (gnu home))
+
(define my-home
(home-environment
- ...))
+ @dots{}))
(operating-system
- (services (list
- (service guix-home-service-type
- `(("alice" ,my-home))))))
+ (services (append (list (service guix-home-service-type
+ `(("alice" ,my-home))))
+ %base-services)))
@end lisp
This service can be extended by other services to add additional home
@@ -44255,6 +44262,12 @@ mechanism to create the XDG run-time directory and has the
like user Shepherd and its descendants will not start.
@end quotation
+If you're using Guix System, you can embed your home configuration in
+your system configuration such that @command{guix system reconfigure}
+will deploy both the system @emph{and} your home at once!
+@xref{guix-home-service-type, @code{guix-home-service-type}}, for how to
+do that.
+
@node Configuring the Shell
@section Configuring the Shell
This section is safe to skip if your shell or shells are managed by
@@ -46499,12 +46512,13 @@ guix time-machine \
You can think of it as some sort of built-in version control! Your
home is not just a binary artifact: @emph{it carries its own source}.
-@c @xref{Service Reference, @code{provenance-service-type}}, for more
-@c information on provenance tracking.
-@c @footnote{This action (and the related actions
-@c @code{switch-generation} and @code{roll-back}) are usable after the
-@c home environment is initialized.}.
+@quotation Note
+If you're using Guix System, @ref{guix-home-service-type,
+@code{guix-home-service-type}}, on how to embed your home configuration
+in your system configuration such that @command{guix system reconfigure}
+deploys both your system and your home.
+@end quotation
@item switch-generation
@cindex home g
2022-04-08mapped-devices: Ensure 'cryptsetup open' gets a tty....Fixes <https://issues.guix.gnu.org/54770>. Regression introduced in 400c9ed3d779308e56038305d40cd93acb496180. Previously, for an encrypted /home (say), "cryptsetup open" would be invoked by shepherd, with /dev/null as its standard input. It would thus run in non-interactive mode and, instead of asking for a passphrase, fail with: Nothing to read on input. This change ensures it runs in interactive mode. * gnu/build/file-systems.scm (system*/console, system*/tty): New procedures. * gnu/system/mapped-devices.scm (open-luks-device): Use 'system*/tty' instead of 'system*'. Ludovic Courtès
2022-04-08system: hurd: Fix bogus 'initrd-modules' field....Reported by kitzman on #guix. * gnu/system/hurd.scm (%hurd-default-operating-system)[initrd-modules]: Set to the empty list. Ludovic Courtès
2022-03-19linux-container: Add #:guest-uid and #:guest-gid to 'eval/container'....* gnu/system/linux-container.scm (eval/container): Add #:guest-uid and #:guest-gid and honor them. Ludovic Courtès
2022-03-19linux-container: 'eval/container' honors #:namespaces....* gnu/system/linux-container.scm (eval/container): Pass #:namespaces to 'call-with-container'. Ludovic Courtès
2022-03-15images: novena: Fix build....* gnu/system/images/novena.scm (novena-barebones-os)[kernel]: Use the linux-libre-arm-generic kernel. [initrd-modules]: Do not specify any modules as sdhci-esdhc-imx, ahci_imx and i2c-dev are built-in in the arm-generic kernel. Mathieu Othacehe
2022-03-09system: hurd: Move the Shepherd before the Hurd in %BASE-PACKAGES/HURD....* gnu/system/hurd.scm (%base-packages/hurd): Move SHEPHERD before HURD. Ludovic Courtès
2022-03-01initrd: Use non-hyphenated kernel command-line parameter names....This is to make it less surprising, given the common convention sets forth by the kernel Linux command-line parameters. * gnu/build/linux-boot.scm (boot-system): Rename '--load', '--repl', '--root' and '--system' to 'gnu.load', 'gnu.repl', 'root' and 'gnu.system', respectively. Adjust doc. (find-long-option): Adjust doc. * gnu/installer/parted.scm (installer-root-partition-path): Adjust accordingly. * gnu/system.scm (bootable-kernel-arguments): Add a VERSION argument and update doc. Use VERSION to conditionally return old style vs new style initrd arguments. (%boot-parameters-version): Increment to 1. (operating-system-boot-parameters): Adjust doc. (operating-system-boot-parameters-file): Likewise. * gnu/system/linux-initrd.scm (raw-initrd, base-initrd): Likewise. * doc/guix.texi: Adjust doc. * gnu/build/activation.scm (boot-time-system): Adjust accordingly. * gnu/build/hurd-boot.scm (boot-hurd-system): Likewise. * gnu/packages/commencement.scm (%final-inputs-riscv64): Adjust comment. Maxim Cournoyer
2022-02-15system: Add helper file-system-mount-point-predicate....* gnu/system/file-systems.scm (file-system-mount-point-predicate): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Josselin Poiret
2022-02-09Revert kernel modules changes to support the Coreboot framebuffer...These changes broke the creation of the 'linux-modules-database' for all kernel series besides 5.15, 5.4, and 5.10, like this: ------ gnu/build/linux-modules.scm:257:5: kernel module not found "framebuffer_coreboot" "/gnu/store/yff45fr6q93mw44zdql9ffr95zcvwxcn-linux-libre-4.9.299/lib/modules" ------ We should support the coreboot framebuffer, but we need to test that change more completely before deploying it. This effectively reverts the following commits: 1dfe8c372163d481ebebb97dd3b4cafa49906b28 "gnu: linux-libre: Build simplefb into all x86{,_64} kernels." bc09e7ab569d5306ce99c5525150695c9d539ef0 "gnu: linux-libre: Support the Coreboot framebuffer." Fixes <https://issues.guix.gnu.org/52667> "System reconfiguration fails to build linux-modules.drv". Leo Famulari
2022-01-14system: locale: Use only the current glibc....* gnu/system/locale.scm (%default-locale-libcs): Remove glibc-2.31. Mathieu Othacehe
2022-01-14system: vm: Change the writable image name....* gnu/system/vm.scm (system-qemu-image/shared-store-script): Change it. Mathieu Othacehe
2022-01-06services: Consistently use SDDM rather than GDM on non-x86_64....This is a follow-up to 49599fab564f203b8e92d32e9b28c99e99849bfb. Fixes: <https://issues.guix.gnu.org/52908>. * gnu/services/xorg.scm (set-xorg-configuration)[login-manager-service-type]: When the current system or target system begins with the string "x86_64", use gdm-service-type as before; otherwise, use sddm-service-type. * gnu/system/examples/vm-image.tmpl (services): Add sddm-service-type to the list of service types to remove. Chris Marusich
2022-01-06system: vm: Restore default RAM size to 512MB....* gnu/system/vm.scm (system-qemu-image/shared-store-script): Restore it. Mathieu Othacehe
2022-01-05doc: Only use GDM and GNOME on x86_64....* gnu/system/examples/desktop.tmpl: Only use gnome-desktop-service-type and the default login manager in set-xorg-configuration when the target system is x86_64. Ricardo Wurmus
2022-01-01system: Allow 'chfn' to change the user's full name....Fixes <https://issues.guix.gnu.org/52539>. Reported by Jacob First <jacob.first@member.fsf.org>. * gnu/build/accounts.scm (allocate-passwd): Add comment as to why 'real-name' is taken from PREVIOUS. Add (not system?) to the condition. * gnu/system.scm (operating-system-etc-service) <login.defs>: Add "CHFN_RESTRICT". * gnu/system.scm (%setuid-programs): Add "chfn". * gnu/system/pam.scm (base-pam-services): Add "chfn". * doc/guix.texi (User Accounts): Document it. Ludovic Courtès
2021-12-25gnu: linux-libre: Build simplefb into all x86{,_64} kernels....This attempts to mitigate <https://issues.guix.gnu.org/52667>. It makes linux-libre@5.15 consistent with older versions which do not support a modular simplefb, allowing a single %base-initrd-modules simple list for all of them. Unlike CONFIG_FB_SIMPLE=m, CONFIG_FB_SIMPLE=y conflicts with CONFIG_DRM_SIMPLEDRM, so the latter is now disabled. Let us hope it is not missed. * gnu/packages/aux-files/linux-libre/5.15-i686.conf, gnu/packages/aux-files/linux-libre/5.15-x86_64.conf: Unset CONFIG_DRM_SIMPLEDRM to build in CONFIG_FB_SIMPLE=y. * gnu/system/linux-initrd.scm (default-initrd-modules): Remove "simplefb". Tobias Geerinckx-Rice
2021-12-23Remove VM generation dead-code....This code duplicates the (gnu system image) and (gnu build image) code. Using VM for image generation is not needed, not portable and really slow. Remove all the VM image generation code to make sure that only the image API is used. * gnu/build/vm.scm: Remove it. Move the qemu-command procedure to ... * gnu/build/marionette.scm: ... here. * gnu/local.mk (GNU_SYSTEM_MODULES): Adapt it. * tests/modules.scm: Ditto. * gnu/tests/install.scm: Ditto. * gnu/system/vm.scm: Adapt it and remove expression->derivation-in-linux-vm, qemu-img, system-qemu-image/shared-store and system-docker-image procedures. * doc/guix.texi (G-Expressions): Adapt it. Mathieu Othacehe
2021-12-23system: vm: Use the image API to generate QEMU images....Also add a volatile? argument to the virtual-machine record. When volatile? is true generate a QEMU script that mounts an overlay on top of a read only storage. When volatile? is false, use a persistent, read-write storage. * gnu/system/vm.scm (common-qemu-options): Add a rw-image? argument to use a persistent storage. (system-qemu-image/shared-store-script): Add a volatile? argument and honor it. Use the image API to build the QEMU image. (<virtual-machine>)[volatile?]: New field. (virtual-machine-compiler): Pass the volatile? argument to the system-qemu-image/shared-store-script procedure. Mathieu Othacehe
2021-12-23system: image: Add docker support....* gnu/system/image.scm (docker-image, docker-image-type): New variables. (system-docker-image): New procedure. (image->root-file-system): Add docker image support. (system-image): Ditto. Mathieu Othacehe
2021-12-19doc: Add group configuration example...* gnu/system/examples/desktop.tmpl: Add group configuration example. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Denis 'GNUtoo' Carikli
2021-12-16gnu: linux-libre: Support the Coreboot framebuffer....Without this, the kernel cannot write to the display until the full-featured driver module (often i915) is loaded from the root file system. If the root file system is encrypted, the initrd's passphrase prompt won't make it to the screen, and the fully responsive system will appear frozen whilst waiting for user input. * gnu/packages/aux-files/linux-libre/4.4-i686.conf, gnu/packages/aux-files/linux-libre/4.4-x86_64.conf, gnu/packages/aux-files/linux-libre/4.14-i686.conf, gnu/packages/aux-files/linux-libre/4.14-x86_64.conf, gnu/packages/aux-files/linux-libre/4.19-i686.conf, gnu/packages/aux-files/linux-libre/4.19-x86_64.conf, gnu/packages/aux-files/linux-libre/5.4-i686.conf, gnu/packages/aux-files/linux-libre/5.4-x86_64.conf, gnu/packages/aux-files/linux-libre/5.10-i686.conf, gnu/packages/aux-files/linux-libre/5.10-x86_64.conf, gnu/packages/aux-files/linux-libre/5.15-i686.conf, gnu/packages/aux-files/linux-libre/5.15-x86_64.conf: Mark simple framebuffers as generic system ones and enable ‘Google’ firmware drivers to enable Coreboot table support and its dependent framebuffer driver module. * gnu/system/linux-initrd.scm (default-initrd-modules): Add the framebuffer_coreboot and simplefb modules on x86 systems. Tobias Geerinckx-Rice via Guix-patches via
2021-12-13Merge branch 'master' into core-updates-frozenLudovic Courtès
2021-12-12services: Define '%loopback-static-networking'....* gnu/services/base.scm (%loopback-static-networking): New variable. (%base-services): Use it. * gnu/system/hurd.scm (%base-services/hurd): Use it. * gnu/system/install.scm (%installation-services): Use it. * doc/guix.texi (Networking Setup): Document it. Ludovic Courtès
2021-12-12services: Define '%qemu-static-networking'....* gnu/services/base.scm (%qemu-static-networking): New variable. * gnu/system/hurd.scm (%base-services/hurd): Use it. * doc/guix.texi (Networking Setup): Document it. Ludovic Courtès
2021-12-12services: static-networking: Change interface to mimic netlink....* gnu/services/base.scm (<static-networking>)[interface, ip, netmask] [gateway]: Remove. [addresses, links, routes]: New fields. [requirement]: Default to '(udev). (<network-address>, <network-link>, <network-route>): New record types. (ensure-no-separate-netmask, %ensure-no-separate-netmask): Remove. (ipv6-address?, cidr->netmask, ip+netmask->cidr) (network-set-up/hurd, network-tear-down/hurd) (network-set-up/linux, network-tear-down/linux) (static-networking->hurd-pfinet-options): New procedures. (static-networking-shepherd-service): New procedure. (static-networking-shepherd-services): Rewrite in terms of the above. (static-networking-service): Deprecate. Adjust to new 'static-networking' API. (%base-services): Likewise. * gnu/system/install.scm (%installation-services): Likewise. * gnu/system/hurd.scm (%base-services/hurd): Likewise, and separate 'loopback' from 'networking'. * gnu/build/hurd-boot.scm (set-hurd-device-translators): Remove "servers/socket/2". * gnu/tests/networking.scm (run-openvswitch-test)["networking has started on ovs0"]: Check for 'networking instead of 'networking-ovs0, which is no longer provided. * doc/guix.texi (Networking Setup): Document the new interface. Remove documentation of 'static-networking-service'. (Virtualization Services): Change Ganeti example to use the new interface. Ludovic Courtès
2021-12-05Merge remote-tracking branch 'origin/master' into core-updates-frozenRicardo Wurmus
2021-12-03system: vm: Remove the vga argument....* gnu/system/vm.scm (common-qemu-options): Remove the "-vga std" argument that is the default since QEMU 2.2. Suggested-by: Attila Lendvai <attila@lendvai.name> Mathieu Othacehe
2021-12-03guix system vm: Add --no-graphic CLI argument....It configures QEMU to use the tty it was started in for IO (as opposed to opening a separate graphical window). This enables copy-pasting and scrollback. Exit QEMU with C-a x. * gnu/system/vm.scm (system-qemu-image/shared-store-script): Also add the '-nographic' QEMU argument when called with #:graphic? #false. * guix/scripts/system.scm (system-derivation-for-action): Propagate the #:graphic? keyword arg. (perform-action): Add and propagate the #:graphic? keyword arg. (show-help): Add --no-graphic CLI arg. (%options): Process the new --no-graphic CLI arg. (process-action): Feed in the CLI arg through the #:graphic? keyword arg. * doc/guix.texi (Invoking guix system): Add example to combine guix system and invoking the vm start script into one command. Split the description of the various options into separate paragraphs. Add a paragraph to describe --no-graphic. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Attila Lendvai
2021-12-01gnu: system: Add LUKS2 support for the root file system....* gnu/bootloader/grub.scm (grub-configuration-file): Add 'insmod luks2'. * gnu/system/mapped-devices.scm (open-luks-device): Create '/run/cryptsetup/' directory. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Josselin Poiret
2021-11-23Merge branch 'master' into core-updates-frozenLudovic Courtès
2021-11-23doc: Add new Swap Space section....* doc/guix.texi (operating-system Reference): Update swap-devices. * doc/guix.texi (Swap Space): Add it. * gnu/system/examples/desktop.tmpl: Add swap-devices example. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Josselin Poiret
2021-11-23system: Add swap flags....* gnu/system/file-systems.scm (swap-space)[priority, discard?]: Add them. * guix/build/syscalls.scm (SWAP_FLAG_PREFER, SWAP_FLAG_PRIO_MASK, SWAP_FLAG_PRIO_SHIFT, SWAP_FLAG_DISCARD): Add them. * gnu/build/file-systems.scm (swap-space->flags-bit-mask): Add it. * gnu/services/base.scm (swap-service-type): Use it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Josselin Poiret
2021-11-23system: Rework swap space support, add dependencies....* gnu/system/file-systems.scm (swap-space): Add it. * gnu/system.scm (operating-system)[swap-devices]: Update comment. * gnu/services/base.scm (swap-space->shepherd-service-name, swap-deprecated->shepherd-service-name, swap->shepherd-service-name): Add them. * gnu/services/base.scm (swap-service-type, swap-service): Use the new records. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Josselin Poiret
2021-11-20vm: <virtual-machine> defaults to using 'qemu-minimal'....'qemu-minimal' is enough for system tests, which is the main (only?) use of <virtual-machine>. * gnu/system/vm.scm (<virtual-machine>)[qemu]: Default to QEMU-MINIMAL. Ludovic Courtès
2021-11-17Merge branch 'master' into core-updates-frozenLudovic Courtès
2021-11-12image: Support generating GPT images via `partition-table-type`....* gnu/image.scm (<image>)[partition-table-type]: New field. * gnu/system/image.scm: Implement partition-table-type logic for genimage. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Ryan Sundberg
2021-11-08Merge remote-tracking branch 'origin/master' into core-updates-frozenEfraim Flashner
2021-11-07file-systems: Validate the 'flags' field....Fixes <https://issues.guix.gnu.org/51425>. Reported by Jonathan Brielmaier <jonathan.brielmaier@web.de>. * gnu/system/file-systems.scm (invalid-file-system-flags) (%validate-file-system-flags): New procedures. (validate-file-system-flags): New macro. (<file-system>)[flags]: Add 'sanitize' property. Ludovic Courtès
2021-10-18Merge remote-tracking branch 'signed/master' into core-updatesMathieu Othacehe