Commit graph

3947 commits

Author SHA1 Message Date
Maxim Cournoyer
c9524b5841
services: Add ngircd-service-type.
* gnu/services/messaging.scm (pascal-case, ngircd-serialize-string)
(ngircd-serialize-boolean, ngircd-serialize-file-like)
(ngircd-serialize-list-of-strings, ngircd-serialize-list-of-ports)
(ngircd-serialize-number, ngircd-serialize-port)
(string-or-number?, ngircd-serialize-string-or-number): New procedures.
(ngircd-global, ngircd-limits, ngircd-options, ngircd-ssl)
(ngircd-operator, ngircd-server, ngircd-channel)
(ngircd-configuration): New configurations.
(serialize-ngircd-global, serialize-ngircd-limits)
(serialize-ngircd-options, serialize-ngircd-operator)
(serialize-list-of-ngircd-operators, serialize-ngircd-server)
(serialize-ngircd-channel, serialize-list-of-ngircd-channels)
(serialize-ngircd-configuration): New procedures.
(list-of-ngircd-operators?, list-of-ngircd-servers?)
(list-of-ngircd-channels?): New predicates.
(ngircd-generate-documentation): New procedure.
(ngircd-user+group, ngircd-account, ngircd-wrapper): Likewise.
(ngircd-shepherd-service): New shepherd service.
(ngircd-service-type): New service type.
* gnu/tests/messaging.scm (%ngircd-os): New variable.
(run-ngircd-test): New procedure.
(%test-ngircd): New test.
* doc/guix.texi (Messaging Services): Document it.

Change-Id: I3ce9a7fd0b33afab22cf15942a1db0cf5b12bfdb
2025-04-08 10:50:17 +09:00
Adam Quandour
0e144a0da2
doc: cookbook: Update instructions for building a custom kernel.
* doc/guix-cookbook.texi (Customizing the Kernel): Update.

Change-Id: I4451f038219c73b685fa3e80e1b05c729d4bea35
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Modified-by: Ludovic Courtès <ludo@gnu.org>
2025-04-06 11:49:59 +02:00
Sergey Trofimov
a2ef2bcbfd
machine: hetzner: Allow connections using ssh-agent.
* gnu/machine/hetzner.scm (<hetzner-configuration>): Add ssh-public-key.
* doc/guix.texi (System Configuration)[hetzner-configuration]: Document it.

Change-Id: I7354ead508b1a4819534c6b22ba1f089749927c2
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Modified-by: Ludovic Courtès <ludo@gnu.org>
2025-04-06 11:45:18 +02:00
Tomas Volf
85e6371a3f
services: gitolite-service-type: Allow setting the admin name.
* gnu/services/version-control.scm (<gitolite-configuration>): Add admin-name
field.
(gitolite-activation): Use it.
* doc/guix.texi (Version Control Services): Document it.  Remove the wrong
default value of admin-pubkey.  State the need for .pub extension.

Change-Id: Idadf4b2697cee6d1da10e6ba03bdc2e1d729c417
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-03 21:16:24 +09:00
Tomas Volf
24396e8327
services: gitolite-git-configuration: Add extra-content field.
* gnu/services/version-control.scm (<gitolite-git-configuration>): Add
extra-content field.
(gitolite-git-configuration-compiler): Handle it during configuration file
generation.
* doc/guix.texi (Version Control Services): Document it.

Change-Id: Iceb02f60b8ef26138961aefef4e56ca83df0e19f
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-03 21:16:22 +09:00
Tomas Volf
d4f3719a92
services: gitolite-git-configuration: Add receive-fsck-objects field.
* gnu/services/version-control.scm (<gitolite-git-configuration>): Add
receive-fsck-objects field.
(gitolite-git-configuration-compiler): Handle it during configuration file
generation.
* doc/guix.texi (Version Control Services): Document it.

Change-Id: Iceb02f60b8ef26138961aefef4e56ca83df0e19f
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-03 21:16:20 +09:00
Tomas Volf
1f1a0e8773
services: gitolite-git-configuration: Add default-branch field.
* gnu/services/version-control.scm (<gitolite-git-configuration>): Add
default-branch field.
(gitolite-git-configuration-compiler): Handle it during configuration file
generation.
* doc/guix.texi (Version Control Services): Document it.

Change-Id: Iceb02f60b8ef26138961aefef4e56ca83df0e19f
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-03 21:16:17 +09:00
Tomas Volf
a0ce5501ca
services: Add gitolite-git-configuration.
In preparation for further customizability of the git configuration, extract
the current setup into a separate record type.

* gnu/services/version-control.scm (<gitolite-git-configuration>): New record
type.
(gitolite-git-configuration-compiler): And gexp compiler for it.
(<gitolite-configuration>): Add git-config field.
(gitolite-activation): Use it.
* doc/guix.texi (Version Control Services): Document both.

Change-Id: I7658698a93f938f62f41a4fa45b72de1eeb14414
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-03 21:16:15 +09:00
Tomas Volf
0110eeee0a
services: gitolite-rc-file: Add extra-content field.
* gnu/services/version-control.scm (<gitolite-rc-file>): Add extra-content
field.
(gitolite-rc-file-compiler): Handle it during configuration file generation.
* doc/guix.texi (Version Control Services): Document it.

Change-Id: I5082e1d7a27cc746641ba9ec8ae07c703da5f279
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-03 21:16:03 +09:00
Tomas Volf
5466a46a72
services: gitolite-rc-file: Add host-name field.
* gnu/services/version-control.scm (<gitolite-rc-file>): Add host-name field.
(gitolite-rc-file-compiler): Handle it during configuration file generation.
* doc/guix.texi (Version Control Services): Document it.

Change-Id: I1231ed47a294ff48b35a301f76ae8e9cbfcd9b95
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-03 21:16:01 +09:00
Tomas Volf
9306539f08
services: gitolite-rc-file: Add log-extra field.
* gnu/services/version-control.scm (<gitolite-rc-file>): Add log-extra field.
(gitolite-rc-file-compiler): Handle it during configuration file generation.
* doc/guix.texi (Version Control Services): Document it.

Change-Id: Ice65dbdf4f42549e3c83914da7229db9d2cf856b
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-03 21:16:00 +09:00
Jake Forster
c6d27c20f4
doc: Update guix-science URL.
* doc/guix.texi (Customizing the System-Wide Guix): Update guix-science URL.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-03 20:24:15 +09:00
Sergio Pastor Pérez
354ffea720
services: file-database: Search ‘updatedb’ in package.
`file-database-service-type' appends 'bin/updatedb' path to the `package'
field provided by `file-database-configuration'. This prevents users from
using alternate packages which also provide 'updatedb' but in a different
location.

For example, the `plocate' package installs 'updatedb' in 'sbin/updatedb'.

Fallback to 'sbin/' if 'updatedb' is not found in 'bin/'.

* gnu/services/admin.scm (<file-database-configuration>)[package]:
Update docstring.
(file-database-shepherd-services): Locate 'updatedb' binary.
* doc/guix.texi (File Search Services): Update accordingly.

Change-Id: Ic741716044be3a8f51a157510f9f923bd66c41d7
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Modified-by: Ludovic Courtès <ludo@gnu.org>
2025-04-01 14:49:34 +02:00
Ludovic Courtès
a2606a1739
doc: Remove extra paren in example.
* doc/guix.texi (Networking Setup): Remove extra parent in
‘dhcpcd-configuration’ example.

Change-Id: I10cea18054424ee14318730b9e8d750e9484b35a
2025-04-01 14:49:33 +02:00
Nigko Yerden
b1d597cc07
doc: Fix package name.
* doc/guix.texi (Networking Services): Replace
'go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird'
with 'lyrebird'. The old name was deprecated in
b80dcf5a07.

Change-Id: Iffcd1e30aecd0bccff2cfa9b8cab126556c0498b
Signed-off-by: Zheng Junjie <z572@z572.online>
2025-04-01 16:19:58 +08:00
Maxim Cournoyer
2eb22e3d0f
services: libvirt: Add UEFI firmware support.
This makes libvirt able to boot images that require a UEFI bootloader, with
the available firmwares exposed to libvirt made configurable via a new
configuration field.  For more background on the problem this fixes, see the
same issue that was reported in NixOS (see:
https://github.com/NixOS/nixpkgs/issues/115996).

* gnu/services/virtualization.scm: (list-of-file-likes?): New predicate.
(libvirt-configuration): [firmwares]: New field.
(/etc/qemu/firmware): New procedure.
(libvirt-service-type): Extend the etc-service-type with it.
(generate-libvirt-documentation): Delete obsolete procedure.
* doc/guix.texi: Re-generate doc.
* gnu/tests/virtualization.scm (run-libvirt-test): Augment memory from 256 to
512 MiB.  Test it.

Series-to: 77110@debbugs.gnu.org
Change-Id: I40694964405f13681520bf1e28b7365b0200d8f7
2025-03-27 21:21:06 +09:00
Ludovic Courtès
ae18b3d9e6
daemon: Allow running as non-root with unprivileged user namespaces.
Many thanks to Reepca Russelstein for their review and guidance on these
changes.

* nix/libstore/build.cc (guestUID, guestGID): New variables.
(DerivationGoal)[readiness]: New field.
(initializeUserNamespace): New function.
(DerivationGoal::runChild): When ‘readiness.readSide’ is positive, read
from it.
(DerivationGoal::startBuilder): Call ‘chown’
only when ‘buildUser.enabled()’ is true.  Pass CLONE_NEWUSER to ‘clone’
when ‘buildUser.enabled()’ is false or not running as root.  Retry
‘clone’ without CLONE_NEWUSER upon EPERM.
(DerivationGoal::registerOutputs): Make ‘actualPath’ writable before
‘rename’.
(DerivationGoal::deleteTmpDir): Catch ‘SysError’ around ‘_chown’ call.
* nix/libstore/local-store.cc (LocalStore::createUser): Do nothing if
‘dirs’ already exists.  Warn instead of failing when failing to chown
‘dir’.
* guix/substitutes.scm (%narinfo-cache-directory): Check for
‘_NIX_OPTIONS’ rather than getuid() == 0 to determine the cache
location.
* doc/guix.texi (Build Environment Setup): Reorganize a bit.  Add
section headings “Daemon Running as Root” and “The Isolated Build
Environment”.  Add “Daemon Running Without Privileges” subsection.
Remove paragraph about ‘--disable-chroot’.
(Invoking guix-daemon): Warn against ‘--disable-chroot’ and explain why.
* tests/derivations.scm ("builder is outside the store"): New test.

Reviewed-by: Reepca Russelstein <reepca@russelstein.xyz>
2025-03-26 17:57:43 +01:00
Ludovic Courtès
281a616d72
doc: Remove incorrect ‘kbxutil’ example.
Fixes <https://issues.guix.gnu.org/71918>.

* doc/guix.texi (Invoking guix refresh): Remove ‘kbxutil’ example.

Reported-by: Attila Lendvai <attila@lendvai.name>
Change-Id: If185740731bf29462caba8be31c07f296d0bddd0
2025-03-25 11:37:02 +01:00
Ludovic Courtès
60e4012dfc
doc: Document Shepherd timers and recommend against mcron.
* doc/guix.texi (Scheduled Job Execution): Add intro.  Add “Shepherd
Timers” subsection; move previous documentation to “Mcron” subsection.
Recommend use of Shepherd timers.
(Mcron Home Service): Recommend Shepherd timers.
(Shepherd Home Service): Document timers.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I9dba68a0d062f5aeeae29ff725e1161f2bd3b291
2025-03-23 19:51:41 +01:00
Ludovic Courtès
7cec434865
services: ganeti: Produce Shepherd timers instead of mcron jobs.
* gnu/services/ganeti.scm (<ganeti-watcher-configuration>)[schedule]:
Change default value to a cron string.
(ganeti-timer): New procedure.
(ganeti-watcher-jobs): Rename to…
(ganeti-watcher-service): … this.  Return Shepherd services.
(ganeti-watcher-service-type)[extensions]: Adjust accordingly.
(ganeti-cleaner-jobs): Rename to…
(ganeti-cleaner-service): … this.  Return Shepherd services.
(ganeti-cleaner-service-type)[extensions]: Adjust accordingly.
(ganeti-shepherd-services): Include the watcher and cleaner services.
(ganeti-mcron-jobs): Remove.
(ganeti-service-type)[extensions]: Adjust accordingly.
* doc/guix.texi (Virtualization Services): Update ‘schedule’
documentation.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: Id209a3c50271203dc7190c4c6d0c0ffdf6c10875
2025-03-23 19:30:44 +01:00
Ludovic Courtès
59bd1337d0
services: wireguard: Turn monitoring into a Shepherd timer.
* gnu/services/vpn.scm (<wireguard-configuration>)[schedule]: Change
default value.
(wireguard-monitoring-program): New procedure, with code taken from…
(wireguard-monitoring-jobs): … here.  Remove.
(wireguard-shepherd-services): New procedure, with code taken from…
(wireguard-shepherd-service): … here.  Remove.
* doc/guix.texi (VPN Services): Update.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I6851ddf1eb9480bdc9e6c6c6b88958ab2e6225d7
2025-03-23 19:30:05 +01:00
Ludovic Courtès
465ce8c6a6
services: fstrim: Turn into a Shepherd timer.
* gnu/services/linux.scm (mcron-time?): Remove.
(shepherd-calendar-event?): New procedure.
(fstrim-configuration)[schedule]: Change type to
‘shepherd-calendar-event’ and update docstring.
(fstrim-mcron-job): Rename to…
(fstrim-shepherd-services): … this.  Return a list of Shepherd services.
(fstrim-service-type): Adjust accordingly.
* doc/guix.texi (Linux Services): Update.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I9a7433cb15a1f4600470a915769d612e6e644dd8
2025-03-23 19:29:49 +01:00
Ludovic Courtès
71ae6f2a19
services: package-database: Turn into a Shepherd timer.
* gnu/services/admin.scm (package-database-mcron-jobs): Rename to…
(package-database-shepherd-services): … this.  Return a shepherd
service.
(package-database-service-type): Update accordingly.
* doc/guix.texi (File Search Services): Update documentation of the
‘schedule’ field.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: Id7b4c5cff95a7117dca7d95af37db7389bb5ca92
2025-03-23 19:29:41 +01:00
Ludovic Courtès
667248948a
services: file-database: Turn into a Shepherd timer.
* gnu/services/admin.scm (file-database-mcron-jobs): Rename to…
(file-database-shepherd-services): … this.  Return a list of Shepherd
services.
(file-database-service-type): Adjust accordingly.
* doc/guix.texi (File Search Services): Update documentation of
‘schedule’.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I5734c629b113e54057694d2ec480abd26b7815db
2025-03-23 19:29:25 +01:00
45mg
da09013802
doc: cookbook: Custom NAT-based libvirt networks.
* doc/guix-cookbook.texi (Virtual Machines): [Custom NAT-based network
for libvirt]: New section.
[References]: New section.

Change-Id: Ice79c5dc8183ec694ac8b846a5ec88cb98cac9ff
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-03-23 13:13:36 +09:00
45mg
7581fb5bfb
doc: cookbook: Clarify virtual network switches.
* doc/guix-cookbook.texi (Virtual Machines): [Routed network for
libvirt] {Creating a virtual network switch}: Remove unnecessarily
noncommital language ("a few components/configurations, such as...").
Correct 'TUN interface', as bridges are currently used.  Add a link to
the libvirt Wiki for more information.

Change-Id: I6ffdeca8e4d32155c8cce547d4930bf1b0cb471b
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-03-23 11:29:41 +09:00
45mg
18763ba3fc
doc: cookbook: Fix terminology for libvirt virtual network switches.
* doc/guix-cookbook.texi (Virtual Machines) [Routed network for
libvirt]: Replace the term 'virtual bridge' with 'virtual network
switch'.  This is the term used by the libvirt Wiki to refer to the
combined setup of a 'virtual bridge' network interface, dnsmasq instance
bound to it, and firewall rules associated with it; 'bridge' is
ambiguous because it is sometimes used with this meaning, and sometimes
to refer specifically to the virtual network device called a 'bridge'.

Change-Id: Ibd10fe76321eb61e9ca23d8124634d1108d4faad
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-03-23 11:29:40 +09:00
Maxim Cournoyer
475d21cad8
doc/cookbook: Update menus.
Change-Id: I435d799ac458c38894f06b94d4334f0854a2c219
2025-03-23 11:28:59 +09:00
Sören Tempel
7aa855b05b
mapped-devices/luks: Add support for --allow-discards.
* gnu/system/mapped-devices.scm (open-luks-device): Support opening
LUKS devices with the --allow-discards option.
* gnu/system/mapped-devices.scm (luks-device-mapping-with-options):
Pass through the allow-discards? keyword argument.
* doc/guix.texi (Mapped Devices): Update documentation for the
luks-device-mapping-with-options procedure.

Co-authored-by: Sisiutl <sisiutl@egregore.fun>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: Iff82d7d548486f028d19f6aa35dd30ca194f57cc
2025-03-22 22:53:13 +09:00
Tomas Volf
bc1d24d183
doc: Fix default values for gitolite-configuration.
* doc/guix.texi (Version Control Services) <gitolite-configuration>
[package, admin-pubkey, rc-file, home-directory]
[user, group]: Use @code.  Wrap the value in double quotes.

Change-Id: I1a96826e339d4372d54bb29d22f3fa84f255cb0f
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-03-22 22:52:25 +09:00
Janneke Nieuwenhuizen
18f956467a
home: Add home-snuik-service.
* gnu/home/services/messaging.scm (home-snuik-service-type): New variable.
* doc/guix.texi (Messaging Home Services): Document it.

Change-Id: I1e278e7d8ed04efcb1a2ce9e12e69cb6a31a9fa4
2025-03-20 09:32:05 +01:00
Janneke Nieuwenhuizen
2f204a7303
services: Add snuik-service-type.
* gnu/services/messaging.scm (snuik-configuration): New type.
(snuik-services): New procedure.
(snuik-activation, %snuik-accounts, snuik-service-type): New variables.
* doc/guix.texi (Messaging Services): Document it.

Change-Id: I0c52b4804948876dc1b4d3b5ac660af848a13f25
2025-03-20 09:32:05 +01:00
Sergey Trofimov
81a911eab8
services: wireguard: Add the shepherd-requirement field.
* gnu/services/vpn.scm (<wireguard-configuration>): Add
shepherd-requirement.
(wireguard-shepherd-service): Pass shepherd-requirement. Add
user-processes to requirements.
* doc/guix.texi (VPN Services):[wireguard]: Document it.

Change-Id: Ia85add5067f6f9e023b8d65d6ce067b98eeb111e
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-03-19 11:26:08 +01:00
Ludovic Courtès
80d9270c95
doc: Add missing ‘use-modules’ in rootless podman example.
Fixes <https://issues.guix.gnu.org/77074>.

* doc/guix.texi (Miscellaneous Services): In
‘rootless-podman-service-type’ example, add missing ‘use-modules’ for
‘subid-range’.

Change-Id: I531b9741538ee46186d8c6e6d7e4856080337d6b
2025-03-18 11:17:35 +01:00
Ludovic Courtès
a65860c302
doc: Fix typo under “File Search Services”.
* doc/guix.texi (File Search Services): Fix typo in cross-reference.

Change-Id: I8673fde2421c2e1eaac50edd67490c4eb105f638
2025-03-18 11:17:35 +01:00
Arun Isaac
fd19785a9a
gnu: mumi: Update to 0.11.0.
* gnu/packages/mail.scm (mumi): Update to 0.11.0.
* gnu/services/web.scm (<mumi-configuration>)[file-tags]: Remove field.
[packages]: New field.
(<mumi-package-configuration>): New record type.
(mumi-package-configuration->alist): New function.
* gnu/services/web.scm (mumi-config-file): Serialize packages configuration.
* doc/guix.texi (Web Services)[mumi]: Document packages configuration.
2025-03-17 03:02:31 +00:00
Zacchaeus
0e51c6547f
services: syncthing: Improve Syncthing code standard compliance.
* gnu/services/syncthing.scm: (syncthing-config-file,
syncthing-folder, syncthing-device, syncthing-folder-device): Rename
fields to avoid abbreviation, boolean values switched to use #t or #f,
numbers no longer provided as strings, config directory moved to
~/.local/state/syncthing
* doc/guix.texi: (syncthing-service-type): Update documentation to
reflect these changes.

Change-Id: I01c059e13658a0d1ad38aaebca3dcb0a268bbdba
2025-03-14 16:01:34 -04:00
Sébastien Farge
7ff42b49c9
doc: Refer to ‘XDG_CONFIG_HOME’, not ‘XDG_CONFIG_DIR’.
* doc/guix.texi (Guix Home Services): Change ‘XDG_CONFIG_DIR’ to
‘XDG_CONFIG_HOME’.

Change-Id: I8fdb70903acf949c360c1e2b950ae7dd3578aded
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-03-10 00:38:05 +01:00
Tomas Volf
ba0cc26710
doc: Document possible need for network-online for NFS.
Depending on networking is not enough in some setups, so a language clarifying
that and an example of network-online service.

* doc/guix.texi (File Systems): Document the possible need for network-online.

Change-Id: I8abe07cc9d6dc61f28eeea7ffa785eb8c9e8fd09
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-03-09 16:14:06 +09:00
Maxim Cournoyer
43c4d16ad9
services: Integrate gnome-keyring service in gnome-desktop service.
Previous to this change, GNOME users would have to manually add the
gnome-keyring-service-type to their services to have a default login keyring
created and unlocked at login time.  Some applications depend on a default
keyring being available, prompt repeatedly for it, which is confusing and
doesn't match user expectations, given most distributions use the GNOME
keyring pam module to unlock the login keyring by default.

* doc/guix.texi (Desktop Services): Update doc.
* gnu/services/desktop.scm (<gnome-keyring-configuration>): Move above
gnome-desktop-service-type, and streamline description.
(pam-gnome-keyring): Return the empty list when CONFIG is #f.
(gnome-desktop-configuration) [keyring]: New field.

Change-Id: Ica26c1e1b85a038c1187edfb3ec3691fcd429641
Reviewed-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-03-09 15:30:33 +09:00
Arun Isaac
29f3a9e991
doc: Document field names, not getter names.
* doc/guix.texi (Web Services)[mumi]: Replace mumi-configuration-sender with
sender, and mumi-configuration-smtp with smtp.
2025-03-08 22:57:36 +00:00
Arun Isaac
ded45b7b9f
services: mumi: Add file-tags configuration.
* gnu/services/web.scm (<mumi-configuration>)[file-tags]: New field.
* gnu/services/web.scm (mumi-config-file): New function.
(mumi-shepherd-services): Pass --config argument.
* doc/guix.texi (Web Services)[mumi]: Document file-tags.
2025-03-08 22:57:36 +00:00
Sören Tempel
5ead9fa56c
services: networking: Add dhcpcd service.
This is intended as an alternative to dhcp-client-service-type as
isc-dhcp has reached its end-of-life in 2022 (three years ago!),
see #68619 for more details.  Long-term, this services is therefore
intended to replace dhcp-client-service-type.

* gnu/services/networking.scm (dhcpcd-service-type): New service.
(dhcpcd-shepherd-service): New procedure.
(dhcpcd-account-service): New variable.
(dhcpcd-config-file): New procedure.
(dhcpcd-configuration): New record type.
(dhcpcd-serialize-list-of-strings, dhcpcd-serialize-boolean)
(dhcpcd-serialize-string): New procedures.
(serialize-field-name): New procedure.
* gnu/tests/networking.scm (run-dhcpcd-test): New procedure.
(%dhcpcd-os, %test-dhcpcd): New variables.
* doc/guix.texi (Networking Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-03-08 16:09:41 +01:00
Hilton Chain
2bb8ecbfbf
Revert "file-systems: %base-file-systems: Add tmpfs /run."
This reverts commit e88018be70.  Since this
change breaks current dbus-service-type, it would be better to wait
https://issues.guix.gnu.org/73494 finished.
2025-03-05 14:45:15 +08:00
Maxim Cournoyer
97be0a837e
Revert "services/udev: Allow configuring udev to run in debug mode."
This reverts commit dd64f441d3.  Enabling debug
output for udevd apparently hangs the boot.
2025-03-05 14:25:05 +09:00
Hilton Chain
e88018be70
file-systems: %base-file-systems: Add tmpfs /run.
* gnu/system/file-systems (%runtime-variable-data): New variable.
(%base-file-systems): Add it.
* doc/guix.texi (File Systems): Document it.
* gnu/services.scm (cleanup-gexp): Adjust accordingly.

Change-Id: I3a95e49d396fbb2577026aefc247cfe996c5f267
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-03-05 14:23:42 +09:00
Ludovic Courtès
8492a3c896
services: Switch to ‘shepherd-system-log-service-type’ in ‘%base-services’.
This reinstates c83bfc0415, which had been
reverted in 8c483c12e9 in response to
<https://issues.guix.gnu.org/76315>.

* gnu/services/base.scm (%base-services): Replace ‘syslog-service-type’
by ‘shepherd-system-log-service-type’.
* doc/guix.texi (Base Services): Update ‘syslog-service-type’
documentation.
(Shepherd Services): Mention that ‘system-log-service-type’ is in
‘%base-services’.  Add anchor.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I21082300f6a052865a6ab1bdff27fbe71f73d492
2025-03-05 00:28:49 +01:00
Ludovic Courtès
78a204ee98
doc: Fix reference to the Shepherd’s log rotation node.
* doc/guix.texi (Log Rotation): Fix name of Shepherd manual node.

Change-Id: I08aa2e082909a32cd6223eb6dba176ee8121f20f
2025-03-05 00:28:49 +01:00
Ryan Barber
b8645fc0bf
services: tlp: Add config for CPU energy performance policy.
* gnu/services/pm.scm (tlp-configuration): Add cpu-energy-perf-policy-on-ac
and cpu-energy-perf-policy-on-bat.
* doc/guix.texi (Power Management Services): Document
cpu-energy-perf-policy-on-bat and cpu-energy-perf-policy-on-ac.

Change-Id: Ieddf949a325c317abffce00a4f1d047175342d78
Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
2025-03-04 08:32:49 +01:00
Florian Pelz
7d97755274
doc: Fix typos.
* doc/guix.texi (Log Rotation): Fix typo.  Quote lists.
(Shepherd Services): Fix plurals.  Quote lists.

Change-Id: I65edebcddb8dcd4caae0c5eb91900f53ba6c2b97
2025-03-02 17:11:21 +01:00