aboutsummaryrefslogtreecommitdiff
path: root/gnu
AgeCommit message (Expand)Author
5 daysservices: openvpn: Allow the client to hardcode DNS servers to use.•••* gnu/services/vpn.scm (%ipv4-regex): New variable. (dhcp-option-dns-list?): New variable. (serialize-dhcp-option-dns-list): New variable. (openvpn-client-configuration)[dns]: New field. Change-Id: Ic4e8184f47bf3f1d5b683c4dc737f6abba8d2f9e W. Kosior
5 daysservices: openvpn: Allow putting arbitrary text server's ccd config.•••* gnu/services/vpn.scm (verbatim-text?): New variable. (serialize-verbatim-text): New variable. (openvpn-ccd-configuration)[opaque-configuration]: New field. Change-Id: I1becf66bb2e41237595e45cd23c20800d3ffe239 W. Kosior
5 daysservices: openvpn: Allow OpenVPN client to dictate route(s) it sets.•••* gnu/services/vpn.scm (maybe-ip-mask?): New variable. (serialize-maybe-ip-mask): New variable. (pull-route?): New variable. (serialize-pull-route): New variable. (openvpn-client-configuration)[pull-route?]: New field. (openvpn-client-configuration)[route]: New field. Change-Id: Ief6390e905612420ad249c9ecd80a46caad2e378 W. Kosior
5 daysservices: openvpn: Allow using up/down scripts bundled with OpenVPN.•••This is useful for example to pull DNS settings from the server. * gnu/services/vpn.scm (use-up-down-scripts?): New variable. (serialize-use-up-down-scripts): New variable. (make-up-down-config-options): New variable. (make-script-security-cli-options): New variable. (openvpn-client-configuration)[use-up-down-scripts?]: New field. (openvpn-config-file): Serialize that field. (openvpn-shepherd-service): Pass `--script-security' option to daemon. Change-Id: I1141dd0b9bf5956f13cf1552c2718b0a7035fa86 W. Kosior
5 daysgnu: openvpn: Make resolv.conf up/down scripts available.•••* gnu/packages/vpn.scm (openvpn)[arguments]<#:phases>: Add phase to install `client.up' and `client.down' files. Change-Id: Ic6340721ab0ba086d0528fb3e070e3f7ecf2773e W. Kosior
5 daysservices: shepherd: Allow extensions to alter shepherd root config.•••This, in particular, enables system administrator to use a different (modified) shepherd package for the init. * gnu/services/shepherd.scm (shepherd-root-service-type)[extend]: When an extension is a procedure, do not treat it as an extra shepherd service to append. Instead, pass the resulting config through it. Change-Id: I39c394ab0798b7a1f8d373c19becf01c4870d10b W. Kosior
5 daysservices: Allow specifying user and group for knot resolver.•••Kresd used to start as root and create cache files with root ownership before dropping privileges. This made unprivileged kres-cache-gc (in a separate service) fail when trying to read them. The new default is to start both as `knot-resolver', with configuration fields that allow overriding this default. * gnu/services/dns.scm (<knot-resolver-configuration>)[user]: New field. (<knot-resolver-configuration>)[group]: New field. (knot-resolver-shepherd-services): Pass the user&group from config to forkexec constructors. Change-Id: Id06a8eca140fdca14995a03e910f521d5f4636e5 W. Kosior
5 daysgnu: Add tmate-ssh-server.•••* gnu/packages/ssh.scm (tmate-ssh-server): New variable. Change-Id: Idfc1f1d8835c0681fb957b85a142c0888a15fa04 W. Kosior
5 daysservices: Update cron service to use `privileged-program' API.•••Uses of deprecated `setuid-program' get replaced with new `privileged-program'. * gnu/services/mcron.scm (cron-daemon-setuid-programs): Use `privileged-program'. (cron-daemon-service-type): Extend `privileged-program-service-type'. Change-Id: I819bf75a0bb23c9b2e97ebcb144ca8adb81a9dde W. Kosior
5 daysgnu: mcron: Add traditional cron service.•••TODO: write good changelog entry Change-Id: Ib1e8f1afcbaae302eac51883e3b02a1d2c32a89e W. Kosior
5 daysgnu: gmnisrv: Fix config loading.•••* gnu/packages/web.scm (gmnisrv)[arguments]<#:phases>: Patch hostname handling in `src/config.c'. Change-Id: Ic79591eb45d63732d0d786a2c9994c60c9b84934 Wojtek Kosior
5 daysgnu: gmnisrv: Use Gexp.•••* gnu/packages/web.scm (gmnisrv)[arguments]: Use G-Expression. Change-Id: Ib8d9379e8b2a3940b8a5297622247a3c7a0454ca Wojtek Kosior
5 daysservices: Add epicyon-service-type.•••* gnu/services/web.scm (define-module): Use `util-linux' from `(gnu packages linux)'. [#:export]: Export new service type as well as configuration constructor, predicate and getters. (<epicyon-configuration>): New variable. (epicyon-activation): New procedure. (%epicyon-passwd): New variable. (%ensure-epicyon-overlay-unmounted): New variable. (epicyon-shepherd-services): New procedure. (epicyon-service-type): New variable. Change-Id: I9e786594b75b588099d3b9f6b0ab5663903c9db4 W. Kosior
5 daysgnu: Add epicyon.•••* gnu/packages/python-web.scm (define-module): Use `(gnu packages imagemagick)' and `(gnu packages/photo)' modules. (epicyon): New variable. Change-Id: I736cb955038659ee7c88fc2f3e1da198e3c9f70f W. Kosior
5 daysgnu: Add python-django-timezone-field.•••* gnu/packages/django.scm (python-django-timezone-field): New variable. Change-Id: I3f500a7a088f0311df4962391bdc692d710176e4 W. Kosior
5 daysservices: ldap: Increase pid file timeout for 389-ds.•••* gnu/services/ldap.scm (directory-server-shepherd-service): Add `#:pid-file-timeout 30`. Change-Id: Ie7b3a7c7347b53d4e3629ef2de53c3a76f6751c0 Wojtek Kosior
5 daysservices: ldap: Fix exported name.•••* gnu/services/ldap.scm (use-modules): Export `backend-userroot-configuration' instead of non-existent `backend-configuration'. Change-Id: I07c6d1c777bc42fa4afc3f23dc9d36080beb5bbc Wojtek Kosior
5 daysgnu modsecurity: Add ModSecurity Web Application Firewall.•••This commit adds the "httpd-modsecurity" package with ModSecurity2. It comes in 2 variants: one using older pcre with tests enabled and one with pcre2 but non-working tests. The latter is exported from the module. There's also a definition for "libmodsecurity" package containing the library part of ModSecurity3. No http server-specific connectors for it are packaged in this commit, though. * gnu/local.mk (GNU_SYSTEM_MODULES): Add `modsecurity.scm'. * gnu/packages/modsecurity.scm: New file. Change-Id: Ida54a64c52383ff217be067322f3d1c6ea4da020 W. Kosior
5 dayshome: services: Add localhost-repo-server.•••* gnu/home/services/vcs.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Record 'home/services/vcs.scm'. Change-Id: I37d3c1dacc26eb31b9b7ec434ed760c7cf84cc32 Wojtek Kosior
5 daysgnu: Add guile-cantius.•••* gnu/packages/guile-xyz.scm (guile-cantius): New variable. Change-Id: Iccc7385ae5c3f762f53705c8ebe876f7ad08da00 Wojtek Kosior
5 daysgnu: Add guile-de-paul-records.•••* gnu/packages/guile-xyz.scm (guile-de-paul-records): New variable. Change-Id: I869c65666f83aedec7a34809b66396798e62e2cf Wojtek Kosior
5 daysgnu: Add guile-myra-test-utils.•••* gnu/packages/guile-xyz.scm (guile-myra-test-utils): New variable. Change-Id: I20ae86fa5fab953524786bffefa3cac9703128df Wojtek Kosior
5 daysgnu: Add lawrence-bolierplate.•••* gnu/packages/autotools.scm (lawrence-boilerplate): New variable. Change-Id: Ib29e2ef3165ee151226ac4d4bc41ec5b51df8038 Wojtek Kosior
5 dayssystem: Allow adding elsewhere-defined system users to extra groups.•••* gnu/system.scm (define-module): Export `operating-system-extra-groups`. (<operating-system>)[extra-groups]: New field. (operating-system-default-essential-services): Also pass extra groups to account-service. (hurd-default-essential-services): Same here. * gnu/system/accounts.scm (define-module): Use (ice-9 vlist), (srfi srfi-8) and (srfi srfi-26). Export `user-extra-groups`* and `merge-extra-groups-data`. (<user-extra-groups>): New record type. (user-account-extend): New procedure. (merge-extra-groups-data): New procedure. * gnu/system/shadow.scm (define-module): Re-export `user-extra-groups`*. (account-service-type)[extend]: Handle <user-extra-groups> records, move field intializer upward to be able to use `compose`. Change-Id: I3f489ac794d342267b7627db1d28315ea4b69db2 Wojtek Kosior
5 daysservices: Add overlayfs-service-type.•••The `overlayfs-service-type` allows overlay filesystems to be automatically mounted upon boot and reconfiguration. * gnu/services/overlayfs.scm: New file. * gnu/local.ml (GNU_SYSTEM_MODULES): Add it. Change-Id: I94bb3e3a29648faa354931f3c1cebc5947ab1d5c Wojtek Kosior
5 daysservices: certbot: Facilitate granting key read access to groups.•••* gnu/services/certbot.scm (certificate-configuration)[key-read-group]: New field. (certbot-deploy-hook): Ensure requested group has the right access. (certbot-command): Pass the requested group to `certbot-deploy-hook'. (set-key-access-gexp): New procedure. (generate-certificate-gexp) Ensure the requested group has the right access. Change-Id: Ia46454a7d2b042cfb682d1d8a7e04aebbc9c19da W. Kosior
5 daysservices: certbot: Allow it to be used without Nginx.•••* gnu/services/certbot.scm (define-module)[#:export]: Add `certbot-sans-nginx-service-type'. (certbot-configuration)[service-reload]: Add field. (certbot-configuration)[service-requirement]: Add field. (certbot-deploy-hook): Reload requested services rather than hardcoded Nginx. (certbot-command): Pass services to reload to `certbot-deploy-hook'. (certbot-renewal-one-shot): Pass depended services to Shepherd as configured instead of passing hardcoded Nginx. (certbot-sans-nginx-service-type): New variable. (certbot-service-type): Avoid code duplication by inheriting from the above service type. Change-Id: Ic833f24989bbcdcbbc273f9c8eae4c56992aafa0 Wojtek Kosior
5 daysservices: Add snakeoil-service-type.•••The `snakeoil-service-type' generates self-issued certificates for use by various system daemons. * gnu/services/ca.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Change-Id: I57bbe51f43958c0f2f437d81645ce44f9a68470b Wojtek Kosior
5 daysservices: exim: Allow configuring a periodic queue runner.•••The runner now by default runs every 5 minutes. Previously it didn't run at all which pretty much crippled Exim's functionality. * gnu/services/mail.scm (<exim-configuration>)[queue-period]: New field. (exim-shepherd-service): Pass period (unless disabled) with Exim's `-q' option and remove the verbosity flag. Change-Id: Ia8f25d93543b761e1a058c30f2f6ddf11943aa57 W. Kosior
5 daysservices: Update Exim service to use `privileged-program' API.•••Uses of deprecated `setuid-program' get replaced with new `privileged-program'. * gnu/services/mail.scm (exim-setuids): Call `privileged-program' record constructor macro. (exim-service-type): Extend `privileged-program-service-type' Change-Id: Idb00e45ddcc50a37303dc50fe1feef73a109f219 W. Kosior
5 daysgnu: exim: Use /etc/exim.conf as the default config file.•••* gnu/packages/mail.scm (exim)[arguments]<#:phases>['symlink-config-file]: New phase. Change-Id: I1be49e4a042b42e38ebff8aeff0e9cfc8724456b Wojtek Kosior
5 daysservices: Support running Exim with setuid/setgid.•••In a typical configuration, Exim binary is setuid root and the Exim daemon process listens for connections under a non-root system account (usually `exim`). Upon receiving a message, it forks into a child process which re-executes the binary to regain privileges and deliver the mail to its destination (e.g. a Maildir inside user's home directory). Besides the setuid binary itself, such setup also requires the Exim configuration file to live at the path Exim considers safe. It defaults to /etc/exim.conf and changing it requires rebuilding the Exim daemon. If a configuration at unsafe path is used instead, Exim drops its privileges before reading it and becomes unable to perform certain kinds of email delivery. * gnu/services/mail.scm (<exim-configuration>)[setuid-user]: New field. (<exim-configuration>)[setgid-group]: New field. (exim-computed-config-file): Delete variable. (exim-shepherd-service)[start]: Use Exim's default config at /etc/exim.conf. (exim-activation): Atomically put Exim's current config at /etc/exim.conf and verify its syntactic correctness. (exim-setuids): New variable. (exim-service-type)[extensions]: Extend `setuid-program-service-type`. Change-Id: Ie6153baac80180d3d48f6b5a6959895df06aef0b Wojtek Kosior
5 daysgnu: exim: Enable Maildir delivery format.•••* gnu/packages/mail.scm (exim)[arguments]<#:phases>['configure]: Set `SUPPORT_MAILDIR` config option to "yes". Change-Id: Ibb2b0bcd5b4a790eedfdc12f794a43625cb88250 Wojtek Kosior
5 daysgnu: exim: Set `exim` as the default user.•••* gnu/packages/mail.scm (exim)[arguments]<#:phases>['configure]: Configure Exim to resolve uid/gid of `exim` in runtime and prevent install script from failing. Change-Id: I2571d6e5a4d4aca534ed6bdfaa3832b1ec69c1d5 Wojtek Kosior
5 daysservices: Allow cgit footer text to be passed as a file-like object.•••* gnu/services/cgit.scm (cgit-configuration)[footer]: Specify type as `file-object`. Change-Id: Id5790bbdb5e09204b653bc54e1b9b60afe5a2ee0 Wojtek Kosior
5 daysservices: Export cgit config serialization procedure.•••This procedure alone is useful when deploying cgit under HTTP server other than Nginx or when deploying multiple cgit instances on a single host. * gnu/services/cgit.scm (define-module): Export `serialize-cgit-configuration`. Change-Id: Ia21c5debbd54a156df703d84694c945e851cd55c Wojtek Kosior
5 daysgnu: minetest-worldedit: Disable tests.•••* gnu/packages/minetest.scm (minetest-worldedit)[arguments]: Add field. Change-Id: Ie76c7f137a2fed05b24fd05be83c133f446b0b6b W. Kosior
2025-02-03gnu: python-clingo: Build from sources.•••* gnu/packages/potassco.scm (clingo)[source]: Also delete “libpyclingo/_clingo.c”. (python-clingo)[#:phases]: Add ‘generate-sources’. Remove ‘fix-failing-tests’. Signed-off-by: jgart <jgart@dismail.de> Liliana Marie Prikler
2025-02-03gnu: distrobox: Update to 1.8.1.2.•••* gnu/packages/containers.scm (distrobox): Update to 1.8.1.2. Change-Id: I5f4da5bae3e1307a2c2efcad6b4f8d526d9a6481 jgart
2025-02-03gnu: Add annextimelog.•••* gnu/packages/task-management.scm (annextimelog): New variable. Change-Id: I7adf4263422fdb1edcb5dfc878cb1decb529c27e Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com> Matthias Riße
2025-02-03gnu: MPD: Update to 0.23.17.•••* gnu/packages/mpd.scm (mpd): Update to 0.23.17. Change-Id: Ie5d884b0d56d4d3661b889e8414417da0340b85e Leo Famulari
2025-02-03gnu: system: Disable EFI pstore backend by default•••Disabling the EFI pstore backend is expected to reduce the chances of unaware users running into issues with UEFI and failing to boot their Guix Systems. This commit disables one of the backends for the persistent storage driver 'pstore' in the Linux kernel. In particular, we disable the backend which stores the data in EFI variable storage in UEFI NVRAM. More information about the pstore system: https://www.kernel.org/doc/Documentation/ABI/testing/pstore https://docs.kernel.org/admin-guide/pstore-blk.html https://blogs.oracle.com/linux/post/pstore-linux-kernel-persistent-storage-file-system This change reduces writes to UEFI to reduce the chances of it wearing out or malfunctioning for other reasons, with the goal of preventing situations where the EFI variable storage is full and cannot take new variables. This is known to cause "Could not prepare Boot variable: No space left on device" errors on computers with some UEFI implementations which are susceptible to such problems, typically on relatively older machines. The user is confronted by the issue at the later stages of Guix system reconfiguration, when the new boot entry is created. It may be difficult to recover from because the exact cause depends on UEFI. Sometimes it is enough to remove dumps from efivars, but sometimes the storage will remain full permanently with no way to reclaim space. Users may still enable the backend by changing the option via the kernel command-line arguments, either in the Guix system configuration or in GRUB. The above is my summary of what was previously discussed in guix-help mailing list: <https://lists.gnu.org/archive/html/help-guix/2025-01/msg00173.html>. * gnu/packages/linux.scm (default-extra-linux-options): Enable the kernel build-time configuration option CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE. Change-Id: Id0294fa90ccbf3bacbb55a22aeb4f0a863efe22c Co-authored-by: Leo Famulari <leo@famulari.name> Roman Riabenko
2025-02-03gnu: Add linux-libre 6.13.•••* gnu/packages/linux.scm (linux-libre-6.13-version, linux-libre-6.13-gnu-revision, deblob-scripts-6.13, linux-libre-6.13-pristine-source, linux-libre-6.13-source, linux-libre-headers-6.13, linux-libre-6.13): New variables. (linux-libre-headers-latest): Use linux-libre-headers-6.13. * gnu/packages/aux-files/linux-libre/6.13-arm.conf, gnu/packages/aux-files/linux-libre/6.13-arm64.conf, gnu/packages/aux-files/linux-libre/6.13-i686.conf, gnu/packages/aux-files/linux-libre/6.13-riscv.conf, gnu/packages/aux-files/linux-libre/6.13-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them. Change-Id: Ib2acb495eb3bd6c2c2e9e5eebd2e8a1826aeed53 Leo Famulari
2025-02-03gnu: linux-libre 5.4: Update to 5.4.290.•••* gnu/packages/linux.scm (linux-libre-5.4-version): Update to 5.4.290. (linux-libre-5.4-pristine-source): Update hash. Change-Id: I1a0e7501bab0747ddb973d5dbca1dc83c048d42e Leo Famulari
2025-02-03gnu: linux-libre 5.10: Update to 5.10.234.•••* gnu/packages/linux.scm (linux-libre-5.10-version): Update to 5.10.234. (linux-libre-5.10-pristine-source): Update hash. Change-Id: Ic6d02a2cc48e4424d9126f43269542e15c4f139a Leo Famulari
2025-02-03gnu: linux-libre 5.15: Update to 5.15.178.•••* gnu/packages/linux.scm (linux-libre-5.15-version): Update to 5.15.178. (linux-libre-5.15-pristine-source): Update hash. Change-Id: If7c556c8ee4829a7e772989dc9be005019e1941f Leo Famulari
2025-02-03gnu: linux-libre 6.1: Update to 6.1.128.•••* gnu/packages/linux.scm (linux-libre-6.1-version): Update to 6.1.128. (linux-libre-6.1-pristine-source): Update hash. Change-Id: Icd8fa4921ce0db9d89d1b33cecc1306e2df67051 Leo Famulari
2025-02-03gnu: linux-libre 6.6: Update to 6.6.75.•••* gnu/packages/linux.scm (linux-libre-6.6-version): Update to 6.6.75. (linux-libre-6.6-pristine-source): Update hash. Change-Id: I60a5d3b4241ef3362b6b9656e25768ef6ab0897c Leo Famulari
2025-02-03gnu: linux-libre: Update to 6.12.12.•••* gnu/packages/linux.scm (linux-libre-6.12-version): Update to 6.12.12. (linux-libre-6.12-pristine-source): Update hash. Change-Id: I88fe45f71455e08e100bfe800ec415f2e6566616 Leo Famulari
2025-02-03gnu: Add ravanan.•••* gnu/packages/bioinformatics.scm (ravanan): New variable. Change-Id: Ib93ea64a3a0313be167dd1cd2f036c72f1c0f138 Signed-off-by: jgart <jgart@dismail.de> Arun Isaac