See <https://codeberg.org/guix/guix/issues/4704#issuecomment-8751141>.
* doc/guix.texi (Build Environment Setup): Add warning in case the nologin
binary is not found.
Reported-by: FuncProgLinux
Change-Id: Ib8aa2bdaf0aef6a589afe638e2fcd539c8276ac7
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
There is no longer a guix package in Debian. Adapt the instructions to avoid
having to list how to install on every package manager. The specific
instructions for Parabola are kept since it is a FSDG system.
* doc/guix.texi (Binary Installation): Remove Debian and OpenSUSE installation
instructions. Update examples of distros with a guix package. Add
instructions for other package managers.
Change-Id: Ie34b40d7224593df8e51d62d665a15a1b16b8e70
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
This is a recent change. If the services do not depend on it, it's possible
user-file-systems will try to unmount the file systems byt itself first.
* doc/guix.texi (Shepherd Services): Mention services should depend on
user-file-systems if they do mounts.
Change-Id: I87f459aa43c2a59ffcae35750e02a08abc3c1f8a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Grafts are not always required when just exploring in the REPL, and they do
take time, so this commit adds easy way to disable them.
* guix/monad-repl.scm (build-graft): New meta command.
* doc/guix.texi (Using Guix Interactively): Document it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* doc/guix.tex (Base Services)[extra-special-file]: Add warning regarding
special files persisting after extra-special-file call is removed from the
system config.
Change-Id: I29cb3a31ee45894293d9becf3c0ebe93ea7f0da4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #2810
* doc/guix-cookbook.texi (A Scheme Crash Course): Remove “Scheme at a Glance”,
which is no longer accessible.
Change-Id: Ia60bf461d0410ddd042b0ad7d792548749c4cc7c
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
* doc/guix.texi (Defining Packages): Update ‘arguments’ field in example to
use ‘list’ and a gexp. Remove description of quote/unquote; document gexps
instead.
Change-Id: I2ed1f5796d76e8c389227aed58fd31aa76edbb9a
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
Fixes a regression introduced in bab6434f58
whereby following the example from the manual regarding non-volatile images
would no longer work.
* gnu/services/virtualization.scm (hurd-vm-shepherd-service): Pass ‘image’ to
‘system-image’ only if it’s an image.
* doc/guix.texi (Virtualization Services): Explicitly say that the ‘image’
field can contain a file name. Remove use of ‘const’ for the ‘image’ field in
persistent image example and adjust text.
Fixes: guix/guix#4130
Reported-by: Maxim Cournoyer <maxim@guixotic.coop>
Change-Id: I1a81ce27fb45978a681310b8a8788ab671b3edf8
GNOME Keyring used to be able to act as a wrapper over ssh-agent.
It would display a GUI password entry dialog, including a checkbox to remember
the password, which, if selected, would allow fully passwordless use of that key.
The SSH functionality is disabled by default in gnome-keyring-daemon
builds since version 1.46
(commit 25c5a1982467802fa12c6852b03c57924553ba73).
It has been moved
(https://gitlab.gnome.org/GNOME/gcr/-/merge_requests/67)
into gcr-ssh-agent, which is part of the gcr package.
* gnu/home/services/gnome.scm: New file.
(gcr-ssh-agent-log-file,gcr-ssh-agent-shepherd-services): New public
procedures.
(gcr-ssh-agent-configuration): New configuration record.
(home-gcr-ssh-agent-service-type): New service type.
* gnu/local.mk: Add it.
* doc/guix.texi: Document it.
Change-Id: Idd3e40f544d40bb4c6682255f877cb79f0c70850
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
Reviewed-by: Dariqq <dariqq@posteo.net>
Reviewed-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Modified-by: Maxim Cournoyer <maxim@guixotic.coop>
* doc/guix-cookbook.texi (A Scheme Crash Course): Change
supposed printout of code example to what is actually printed.
Change-Id: I4d2d2f1f1c3be0a8251f2fc91bc5657bc63891c8
* guix/gnu-maintenance.scm (package-release-file?): New procedure.
(tarball->version): Add optional parameter and honor it.
(import-html-release): Use ‘package-release-file?’ and pass second argument to
‘tarball->version’.
* tests/gnu-maintenance.scm ("latest-html-release, 'release-file-regexp' property")
("latest-html-release, invalid 'release-file-regexp' property"): New tests.
* doc/guix.texi (Invoking guix refresh): Document it.
Change-Id: Ia9328418fdd2faf118e4ec9d5fbde4a279e100ed
Reviewed-by: Maxim Cournoyer <maxim@guixotic.coop>
* gnu/services/nfs.scm (autofs-service-type): New variable.
(<autofs-configuration>): New record.
(<autofs-indirect-map>): New record.
(<autofs-map-entry>): New record.
Change-Id: I4ed1862772001470d1214c3061a306440b0d775b
* gnu/system/linux-container.scm (container-script): Accept pid-file command
line option to write out the container's process ID.
* doc/guix.texi (Invoking guix system): Document new option.
Change-Id: I93e8a99b39c1dd831f116104bf92c723d96c9965
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
The option for syslog logging was removed in 6036f1f305.
* gnu/services/mail.scm (opensmtpd-shepherd-service): When log-file is #f
daemonize and set the pid-file.
Change-Id: I356f4ccacc473def35708c114947788d485d058b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* doc/guix.texi: Document mix-build-system and its most common keyword
arguments.
* gnu/build-system/mix.scm: Update links to documentation without hard
coding an Elixir version.
Change-Id: I68eb76efaaf5639f0eac2d9b674cdb05008e15a4
Reviewed-by: Hartmut Goebel <h.goebel@crazy-compilers.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
This allows remounting file systems which are already mounted by
the initrd with custom mount options (e.g. /proc with hidepid=2).
* gnu/build/file-systems.scm (mount-flags->bit-mask): Map 'remount
to MS_REMOUNT.
* gnu/system/file-systems.scm (invalid-file-system-flags): Add
'remount to the list of KNOWN-FLAGS.
* doc/guix.texi (File Systems): Document it.
Fixes: guix/guix#3849
Change-Id: I0ab116a5b4f7bd201e955ecf022e260c63828dc4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/home/services.scm (shell-variable-definitions): New procedure.
* gnu/home/services/shells.scm (serialize-shell-variables): New procedure.
(home-bash-configuration)[variables]: New field.
(add-bash-configuration): Honor it.
(home-bash-extension)[variables]: New field.
(home-bash-extensions): Handle ‘variables’.
* doc/guix.texi (Shells Home Services): Update. Change ‘PS1’ example to use
‘variables’, not ‘environment-variables’.
* doc/he-config-bare-bones.scm: Use ‘variables’ instead of ‘bash-profile’.
Change-Id: I29083d6313d10b1eb9d91eccacfb33efefe60d58
* gnu/services/guix.scm (<nar-herder-configuration>): Add control host and
control port fields.
(nar-herder-shepherd-services): Use them.
* doc/guix.texi (Guix Services): Document them.
Change-Id: Ie738fb30302496d2ec530ca3b5c8b0628fdd4c05
This introduces a new home service for Niri, a scrollable tiling Wayland
compositor that combines traditional tiling window management with smooth
scrolling between workspaces.
The service provides:
- home-niri-service-type for installing and configuring Niri
- Shepherd service that starts Niri in a DBus session
- Proper Wayland environment variables (XDG_CURRENT_DESKTOP,
XDG_SESSION_DESKTOP, etc.)
- Integration with xdg-desktop-portal and related components
The service starts Niri with appropriate environment variables for
Wayland compatibility and includes necessary dependencies like
xdg-desktop-portal-gnome and xdg-desktop-portal-gtk for proper
desktop integration.
* gnu/home/services/niri.scm: New file containing the service implementation.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register the new module.
* doc/guix.texi (Niri window manager): Add comprehensive documentation.
Change-Id: I9ef081226b4aaa31706d1fbc0d8b7aa1a202cd6e
This enhances flexibility by allowing users to specify custom service
dependencies for libvirt, rather than being limited to the default hardcoded
requirements. This is particularly useful for complex deployments or when
integrating with custom service configurations.
Note that default 'dbus-system' requirement may not be strictly necessary for
basic libvirt operation. For instance, libvirt can function without issues in
many cases even when dbus-system is not included in the requirements, allowing
for more minimal deployments.
* gnu/services/virtualization.scm (list-of-symbols?,
serialize-list-of-symbols): New procedures.
(libvirt-configuration): Add 'requirement' field to allow custom service
dependencies.
(libvirt-shepherd-service): Use the configured requirements instead of
hardcoded ones.
* doc/guix.texi (Virtualization Services): Document the new 'requirement'
option.
Change-Id: I05cfbb5227cff9b7d9b55ee37774c96e39c4c526
The libvirt daemon requires 'dmidecode' to provide Host SMBIOS information
to virtual machines. Without it in the PATH, it fails with the error:
"Host SMBIOS information is not available".
* gnu/services/virtualization.scm (libvirt-configuration): Add 'dmidecode'
field to specify the dmidecode package.
(libvirt-service-type): Add dmidecode to system profile to ensure it's
available in PATH.
* doc/guix.texi (Virtualization Services): Document the new 'dmidecode'
option.
Change-Id: I8e5e565e95149c5aeba2dc0c5c757046efa6de2d
There currently was no way to disable build offload for ,build from inside the
REPL. Since offloaded builds sometimes do not error report entirely
correctly, it is useful to be able to switch to local builds.
This commit adds new ,build-options meta command, which allows to specify
build options, including #:offload?.
* guix/monad-repl.scm (%build-options): New variable.
(evaluate/print-with-store, package-argument-command): Use it.
(build-options): New meta command to set it.
* doc/guix.texi (Using Guix Interactively): Document it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Allow passing extra options to the 'cryptsetup open' command.
* gnu/system/mapped-devices.scm (luks-device-mapping-with-options):
[#:extra-options]: New argument.
(open-luks-device): Use it.
(check-luks-device): Validate it.
* doc/guix.texi (Mapped Devices): Document it.
* gnu/tests/install.scm (%test-encrypted-root-extra-options-os): New
test for it, as well as the previously untested #:allow-discards?
option.
(%encrypted-root-extra-options-os): New os declaration for the test.
Change-Id: I265a431efb0c81ed7cfc984344c6b8a4cc2f1624
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* doc/build.scm (texinfo-manual-source): Replace input line in Chinese
manual, cookbook.
(pdf-manual): Adjust comment. Make it use xetex instead of pdftex.
(html-manual-indexes)<language-index>: Do not hide the Chinese PDF, but
hide the broken Korean cookbook instead, because Hangul are invisible.
Fixes: guix/translations#1
Change-Id: If8934cda1387c666076ba47cc2656418a3a4f0f0