summaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Collapse)Author
2025-06-06services: iwd: Use the official name.Ludovic Courtès
* gnu/services/networking.scm (iwd-shepherd-service): Fix name and mention “iwd” in ‘description’. * doc/guix.texi (Networking Setup): Correct iwd’s name and add link. Change-Id: I7605488f2018b8ac60664c6617a82f05ddadf6ec
2025-06-06services: iwd: Provide default value in <iwd-settings>.Ludovic Courtès
Fixes a failure of ‘tests/guix-system.sh’, when running ‘guix system search .’: 2296:10 3 (iwd-environment _) 2165:0 2 (%iwd-network-settings-name-resolving-service-procedure #) In ice-9/boot-9.scm: 1685:16 1 (raise-exception _ #:continuable? _) 1685:16 0 (raise-exception _ #:continuable? _) ice-9/boot-9.scm:1685:16: In procedure raise-exception: In procedure struct-vtable: Wrong type argument in position 1 (expecting struct): %unset-marker% * gnu/services/networking.scm (iwd-settings)[network]: Provide default value. Change-Id: I2ea28853f698583ceeaa0b56cde8447fe3546dc3
2025-06-06doc: contributing: Disable authentication when simulating ‘guix pull’.Hilton Chain
* doc/contributing.texi (Submitting Patches): Add ‘--disable-authentication’ when simulating ‘guix pull’. * .forgejo/pull_request_template.md: Likewise. Fixes: #427 Change-Id: I4c6847314c8876a2f6e29f938cbbbe286178231b
2025-06-05services: networking: Add iwd-service-type.Sergey Trofimov
* gnu/services/networking.scm (iwd-service-type): New service type. (iwd-configuration), (iwd-settings), (iwd-scan-settings), (iwd-general-settings), (iwd-network-settings): New configuration types. * doc/guix.texi (Networking setup): Document it. Change-Id: I852115b9c6768b3ec4eedb34a7f9e66438bd1429 Signed-off-by: Ludovic Courtès <[email protected]>
2025-06-05services: network-manager: Require wireless-daemon.Sergey Trofimov
* gnu/services/networking.scm (<network-manager-configuration>)[shepherd-requirement]: Replace wpa-supplicant with wireless-daemon. * doc/guix.texi (Networking Setup): Adjust. Change-Id: Id1a51429ccb6ea24839fc2aacd051a3ffe91c33c Signed-off-by: Ludovic Courtès <[email protected]>
2025-06-05services: wpa-supplicant: Add 'wireless-daemon' provision.Sergey Trofimov
* gnu/services/networking.scm (wpa-supplicant-configuration): [requirement]: Deprecate, [shepherd-requirement]: New field, [shepherd-provision]: Extract to a field. Add 'wireless-daemon to it. * doc/guix.texi (Networking Setup): Document it. Change-Id: Icc6fdd695e6e96ef168a085524989da639f77cd3 Signed-off-by: Ludovic Courtès <[email protected]>
2025-06-05services: networking: Add shepherd-requirement for dhcpcd.Sergey Trofimov
* gnu/services/networking.scm (dhcpcd-configuration): Add shepherd-requirement field. (dhcpcd-shepherd-service): Use it. * doc/guix.texi (Networking Setup): Regenerate dhcpcd-configuration documentation. (File Systems): Fix typo. Change-Id: Id347e2bed2569237685a47be82dbf686640db25b Signed-off-by: Ludovic Courtès <[email protected]>
2025-06-05doc: Use CSS from guix.gnu.org.Ludovic Courtès
This is a followup to commit 7bbc00ccf0315a68509cacd6a85e1ae8ae7f5e5d of guix/artwork.git. * doc/build.scm (%manual-css-url): New variable. (%makeinfo-html-options): Use it instead of www.gnu.org/…/manual.css. (stylized-html): Likewise for the default #:manual-css-url. Change-Id: I20bd3866383f8cbb4984993c15dbab483a17f6c9
2025-06-02doc: cookbook: Fix grammar.Adam Quandour
* doc/guix-cookbook.texi (Customizing the Kernel): Fix grammar. Change-Id: I896536a6c9f06e2fb30f3da56e054a26bfd5d0af Signed-off-by: Hilton Chain <[email protected]>
2025-05-30doc: Depend on os-config-*.texi files.Mickaël Fortunato
This allows running `make info` without having to run `make` first. * doc/local.mk (%C%_guix_TEXINFOS): Add os-config-*.texi. Change-Id: I1998bccc6fb13a74e992a3f23311ed0de4799e89 Signed-off-by: Ekaitz Zarraga <[email protected]>
2025-05-27doc: Substitute 'outputted' for 'output'.Maxim Cournoyer
* doc/guix.texi (mpv Media Player): Use the more common usage [0]. [0] https://english.stackexchange.com/a/35433 Change-Id: I5c10d281441c2995849df880dbaf62a790d2ff78
2025-05-27home-mpv-configuration: Support file-like for file fields.Tomas Volf
* gnu/home/services/mpv.scm (serialize-mpv/file, mpv/file?): New procedures. (ao-null-latency, audio-file-paths, audio-files, bluray-device, cdda-device) (chapters-file, cookies-file, cover-art-files, demuxer-cache-dir, dump-stats) (dvbin-file, dvd-device, external-files, glsl-shaders, gpu-shader-cache-dir) (icc-cache-dir, icc-profile, image-lut, include, input-conf, input-ipc-server) (log-file, lut, ordered-chapters-files, osd-fonts-dir, screenshot-directory) (scripts, stream-dump, sub-ass-styles, sub-file-paths, sub-files) (sub-fonts-dir, target-lut, tls-ca-file, tls-cert-file, tls-key-file): (vo-image-outdir, watch-history-path, watch-later-directory): Change type. * doc/guix.texi (mpv Media Player): Document it. Reported-by: Sergey Trofimov <[email protected]> Change-Id: I7e55b306104c235d165ab138397b767f1af5c124 Signed-off-by: Maxim Cournoyer <[email protected]>
2025-05-27home-mpv-configuration: Update for mpv 0.40.0.Tomas Volf
* gnu/home/services/mpv.scm (audio-backward-batch, clipboard-backends) (clipboard-monitor?, demuxer-mkv-crop-compat?, hwdec-software-fallback) (input-ime?, load-commands?, load-console?, load-positioning?) (osd-bar-marker-min-size, osd-bar-marker-scale, osd-bar-marker-style) (osd-selected-color, osd-selected-outline-color, playlist-exts) (save-watch-history?, sub-ass-prune-delay, sub-ass-scale-with-window?) (sub-hinting, sub-line-spacing, sub-scale-signs?, sub-shaper, video-recenter?) (watch-history-path, wayland-internal-vsync): New options. (cache-pause-wait, video-aspect-override): Change range. (dvbin-timeout, media-controls, target-colorspace-hint): Change type. (video-aspect-method): Add enumeration member. (drm-connector, drm-device, drm-draw-plane, drm-draw-surface-size) (drm-drmprime-video-plane, drm-format, drm-mode, drm-vrr-enabled) (load-osd-console?, sub-ass-hinting, sub-ass-line-spacing) (sub-ass-scale-with-window?, sub-ass-shaper) (vd-lavc-software-fallback): Removed options. * doc/guix.texi: Update the list of fields. Change-Id: I7e55b306104c235d165ab138397b767f1af5c124 Signed-off-by: Maxim Cournoyer <[email protected]>
2025-05-26services: Modernize and test nftables service.Maxim Cournoyer
* doc/guix.texi (Networking Services) <nftables>: Update doc. * gnu/services/networking.scm (list-of-debug-levels?): (debug-level?, maybe-list-of-debug-levels?): (nftables-configuration): Rewrite using `define-configuration'. [debug-levels]: New field. (nftables-shepherd-service): Honor it. * gnu/tests/networking.scm (%inetd-echo-port): Extract to top level. (run-iptables-test): Adjust accordingly. (make-nftables-os): New procedure. (%default-nftables-ruleset-for-tests): New variable. (%nftables-os): Likewise. (%test-nftables): New test. Change-Id: I2889603342ff6d2be6261c3de6e4fddd9a9bbe2d
2025-05-26services: Add vte-integration-service-type.Maxim Cournoyer
* gnu/services.scm (vte-integration-service-type): New service type. * doc/guix.texi (Service Reference): Document it. Change-Id: I7e4bc1b913b50a5a061894f9ddef27f1877b62a2
2025-05-26system: Factorize bashrc default configuration.Maxim Cournoyer
This factorizes out the remaining bashrc bits from /etc/skel/.bashrc to a the template used for both /etc/bashrc on Guix System and ~/.bashrc for home-bash-service-type. Rationale: The use of /etc/skel introduce state: the file is only copied originally when the user account is created, and never (automatically) refreshed again. * gnu/system.scm (operating-system-etc-service): <profile>: Guard against souring /etc/bashrc in non-interactive, SSH case. <bashrc>: Use %default-bashrc, having migrated the remaining definitions to... * gnu/system/shadow.scm (%default-bashrc): ... here. Factorize aliases to... * gnu/services.scm (%default-bash-aliases): ... here. (%default-bashrc-d-aliases): New variable. (%default-etc-bashrc-d-files): Include it in the default configuration. * gnu/services/base.scm (%base-services): Register etc-bashrc-d-service-type. * gnu/home/services/shells.scm (add-bash-configuration): Do not set PS1, now part of %default-bashrc. (home-bash-configuration) [guix-defaults?]: Update doc. [aliases]: Set %default-bash-aliases as the default value. Update doc. * doc/guix.texi (Shells Home Services): Update documentation. (Service Reference): Update example. Change-Id: I340c614983a78fd20a9c4a9705e7fc542ae9b513
2025-05-26system: Migrate sourcing bash_completion.sh to etc-bashrc-d-service-type.Maxim Cournoyer
* gnu/system.scm (operating-system-etc-service): Remove block sourcing bash_completion.sh. (%base-packages-interactive): Delete bash-completion. * gnu/services.scm (%default-etc-bashrc-d-files): New variable, which includes the bash_completion.sh file. (etc-bashrc-d-service-type): Use it. * doc/guix.texi (Service Reference): Update documentation. Change-Id: I2223a5f96f5d761148badc6be29e1c5c80465a1d
2025-05-26services: Add etc-bashrc-d-service-type.Maxim Cournoyer
* gnu/services.scm (files->bashrc-d-directory) New procedure. (etc-bashrc-d-service-type): New service type. * doc/guix.texi (Service Reference): Document it. * gnu/tests/base.scm (test-basic-os): Test it. Change-Id: Ibbb0f684de7aee296adedbce5b1192786d661af2
2025-05-26services: Add etc-profile-d-service-type.Maxim Cournoyer
* gnu/services.scm (make-files->etc-directory) (files->profile-d-entries): New procedures. (etc-profile-d-service-type): New service type. * doc/guix.texi (Service Reference): Document it. * gnu/tests/base.scm (run-basic-test): Test it. Change-Id: I45dde43a1b9603c3384b933ebd1d6e45dba146b9
2025-05-26doc: contributing: Fix grammar.Jos van den Oever
* doc/contributing.texi (Formatting Code): Fix grammar. Change-Id: I0f1304b22068146855b6148d4f0952fe32caebdb Signed-off-by: Hilton Chain <[email protected]> Modified-by: Hilton Chain <[email protected]>
2025-05-25doc: Update Guile-JSON URL.Ludovic Courtès
* doc/contributing.texi (Requirements): Update. Change-Id: I365b65da2ffc17b9140271a11e5899c4fc4ba6df
2025-05-25doc: Update URL of installation script.Ludovic Courtès
* doc/guix.texi (Binary Installation): Update URL of installation script. Change-Id: I72ec47b9510d5ec0cf27a146b2c0e6b59d42e963
2025-05-25doc: Replace Savannah URLs with Codeberg URLs.Ludovic Courtès
* doc/contributing.texi (Requirements): Update Guix web site URL. (Sending a Patch Series): Replace Savannah URLs with Codeberg URLs. (Debbugs User Interfaces): Likewise. (Commit Access): Likewise. (Updating the Guix Package): Likewise. (Coding): Likewise. (System Administration): Likewise. (Day-to-Day System Administration): Likewise. * doc/guix.texi (Web Services): Likewise. Change-Id: I5c6532f3e02e8870f869dd4ab844eed3cb0cb242
2025-05-23teams: Add “codeowners” action.Ludovic Courtès
* etc/teams.scm (team->codeowners-snippet, export-codeowners): New procedures. (main): Add “codeowners” action. * doc/contributing.texi (Teams): Document it. Change-Id: I601443981af374d85160833f7096d8c973873fb1
2025-05-23maint: Change main repository URL to git.guix.gnu.org.Ludovic Courtès
Throughout, replace “https://git.savannah.gnu.org/git/guix.git” by “https://git.guix.gnu.org/guix.git”. Change-Id: Ieb82464f92a806b85c79e629f952e68c39323740
2025-05-21gexp: Add symlink-to procedure.Sergey Trofimov
* guix/gexp.scm (symlink-to): New procedure. * doc/guix.texi (G-Expressions): Document it. Change-Id: I7c1ba3a29a4e5350cb4f196185b7171c4750b6b8 Signed-off-by: Maxim Cournoyer <[email protected]>
2025-05-21gexp: Allow file-unions with dangling symlinks.Sergey Trofimov
* guix/gexp.scm (file-union): Add #:dangling-symlinks? parameter. Change-Id: I09d44ec785fd7141b02dee2d8dc23ccc499aa933 Signed-off-by: Maxim Cournoyer <[email protected]>
2025-05-19refresh: Allow specifying a partial version via the version specification.Maxim Cournoyer
* guix/scripts/refresh.scm (update-specification->update-spec): Flag the update-spec as partial when it is prefixed with '~'. * tests/guix-refresh.sh: Test it. Remove extraneous 'guix refresh' invocation. * doc/guix.texi (Invoking guix refresh): Document it. Change-Id: Iab4482d9367105f6ffcd2d6a49148736c93d53e4 Reviewed-by: Florian Pelz <[email protected]> Reviewed-by: Ludovic Courtès <[email protected]>
2025-05-18home: services: Add readymedia.Sughosha
* gnu/home/services/upnp.scm: New file. * gnu/local.mk: Register it. * gnu/services/upnp.scm: Export readymedia-activation and readymedia-shepherd-service. (<readymedia-configuration>)[home-service?]: New field. [cache-directory]: Adjust value depending on 'for-home?'. [log-directory]: Ditto. (readymedia-shepherd-service): Adjust 'requirement' and 'start' according to 'home-service?'. (readymedia-activation): Adjust creating 'media-directories' with permissions according to 'home-service?'. * gnu/tests/upnp.scm (%readymedia-configuration-test): Configure port with %readymedia-default-port. * doc/guix.texi (Miscellaneous Home Services): Document Readymedia Service. (Miscellaneous Services): Add cross-reference. Change-Id: I5c48595d84a815d98e03c7f68a716f048903720c Signed-off-by: Ludovic Courtès <[email protected]>
2025-05-18home: Add home-restic-backup service.Giacomo Leidi
* gnu/services/backup.scm: Drop mcron obsolete export. (restic-backup-job-program): Generalize to restic-program. (lower-restic-backup-job): New procedure implementing a standard way to lower restic-backup-job records into lists. (restic-program): Implement general way to run restic commands, for example to initialize repositories. (restic-backup-configuration): Reimplement with (guix records). (restic-backup-job-{logfile,command,requirement,modules}): Add new procedures and add support for Guix Home environments. (restic-backup-job->shepherd-service): Add support for Guix Home environments. (restic-backup-service-activation): Drop procedure as now the Shepherd takes care of creating timers log file directories. (restic-backup-service-type): Drop profile and activation services extensions. * gnu/home/services/backup.scm: New file. * gnu/local.mk: Add this. * doc/guix.texi: Document this. Change-Id: Ied1c0a5756b715fba176a0e42ea154246089e6be Signed-off-by: Ludovic Courtès <[email protected]>
2025-05-16services: dnsmasq: Add stats and reload shepherd actions.Alexey Abramov
* gnu/services/dns.scm (dnsmasq-service-reload-action): New function. Implements SIGHUP handling for reloading configurations. (dnsmasq-service-stats-action): New function. Implements SIGUSR1 handling for dumping statistics. (dnsmasq-shepherd-service): Use new actions. * doc/guix.texi: Document new actions with examples. * gnu/tests/networking.scm (%test-dnsmasq): Add tests to verify the functionality of new actions. Change-Id: I31f0eb4b26a582e95f7bfdb240110c139f0e16cc Signed-off-by: Maxim Cournoyer <[email protected]> Modified-by: Maxim Cournoyer <[email protected]>
2025-05-16services: dnsmasq: Add pid-file, conf-file and conf-dir configuration fields.Alexey Abramov
* gnu/services/dns.scm (<dnsmasq-configuration>) [pid-file]: New field to specify alternate path for dnsmasq PID. [conf-file]: New field to specify one or more configuration files. [conf-dir]: New field to read configuration files from a directory. [extra-options]: Move to the end of the definition as a last resort option. (dnsmasq-shepherd-service): Use new fields instead of hardcoded values. * gnu/services/dns.scm: Export all record accessors. * doc/guix.texi: Document new configuration options. Change-Id: Iaec361e7d8bfd60af04f023f57d422b55b0c1eea Signed-off-by: Maxim Cournoyer <[email protected]> Modified-by: Maxim Cournoyer <[email protected]>
2025-05-16services: dnsmasq: Add shepherd-provision and shepherd-requirement fields.Alexey Abramov
* gnu/services/dns.scm (<dnsmasq-configuration>)[provision]: Mark filed as deprecated with a warning. Set default to #f. [shepherd-provision]: Add new field for consistency with other services. [shepherd-requirement]: Add new field. (dnsmasq-shepherd-service): Use them. * doc/guix.texi: Document these changes. * doc/guix-cookbook.texi (Custom NAT-based network for libvirt): Update example to use 'shepherd-provision' instead of 'provision'. Change-Id: Icad4d9c4be5bf58368e8c416f1fdde1f9065557d Signed-off-by: Maxim Cournoyer <[email protected]>
2025-05-13gnu: home: services: Add home-mpv-service-type.Tomas Volf
This commit adds a new service type to generate configuration file for the mpv media player. Originally I attempted to use Guix Records (via define-configuration) for this, but ran into the bug #74748, so I had to switch to procedures instead. The usage is (hopefully) sufficiently described in the documentation. When the bug is resolved, I will update it to use define-configuration instead. The full list of supported options is documented, however I decided to *not* document types and purpose for each individual fields. While I had mostly working prototype to extract the documentation from mpv, once I realized it would be few 10k of lines added, I decided it is not worth it. It would bloat the .texi file (by more than 50%), be hard to maintain and, in my opinion, would not provide enough value to justify that. The current version seems like sane middle ground. * gnu/home/services/mpv.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Register it. * doc/guix.texi (mpv Media Player): Document it. Change-Id: I2deb44799a28047cb5d67da97dc6007a9df873af
2025-05-12doc: build.scm: Handle (current-source-directory) being #f.Christopher Baines
Since this seems to be the case when the devel manual is being built on bayfront. * doc/build.scm: Use the current working directory as a fallback if (current-source-directory) is #f, and log the value of root. Change-Id: Ic43fd05a4a0822d9efb935069850f0a8cadd80aa
2025-05-12doc: Add missing heading and fix accidental duplication.Evgeny Pisemsky
* doc/guix.texi: Add missing heading for Snuik Service, fix accidental duplication of sections for Mosquitto Service. Change-Id: Id3e3a80da70e6eb47ee9c5afa69d3c48efea4754 Signed-off-by: Maxim Cournoyer <[email protected]>
2025-05-09services: Add mosquitto-service-type.Evgeny Pisemsky
* gnu/services/messaging.scm (<mosquitto-configuration>): New record type. (mosquitto-accounts): New procedure. (mosquitto-shepherd-service): New procedure. (mosquitto-service-type): New variable. * doc/guix.texi (Messaging Services): Document it. Change-Id: I3500c5b6b69084c1f4a6da66ea45bfd42c871f3f Signed-off-by: Danny Milosavljevic <[email protected]>
2025-05-09doc: Fix building documentation on Berlin.Maxim Cournoyer
This reverts 4df6eda30f92dd09a7b5839514fab971b5633a0d ("gnu: Rename `texlive-updmap.cfg' into `texlive-local-tree'.") just for doc/build.scm. As the build farm uses 'guix' as provided by the guix-daemon; an updated to the guix package and reconfiguration of Berlin would be required to fix building the latest development manual. Use the deprecated texlive-updmap.cfg binding for now. * doc/build.scm (pdf-manual): Revert to use texlive-updmap.cfg for now. Change-Id: I133deaa7a345e711a99ea469ec6fecfde9c729de
2025-05-06gnu: Rename `texlive-updmap.cfg' into `texlive-local-tree'.Nicolas Goaziou
* doc/build.scm (pdf-manual): * doc/contributing.texi (Submitting Patches): * gnu/packages/algebra.scm (pari-gp): (giac): * gnu/packages/assembly.scm (asl): * gnu/packages/audio.scm (chow-tape-model): * gnu/packages/bioconductor.scm (r-biocstyle): * gnu/packages/bioinformatics.scm (discrover): (phyml): (velvet): * gnu/packages/chemistry.scm (yaehmop): * gnu/packages/chez.scm (chez-scheme-for-racket): (stex-bootstrap): (chez-web): (chez-sockets): * gnu/packages/cran.scm (r-papaja): (r-prereg): * gnu/packages/docbook.scm (dblatex): * gnu/packages/emacs-xyz.scm (emacs-auctex): * gnu/packages/engineering.scm (fastcap): * gnu/packages/finance.scm (optionmatrix): * gnu/packages/fsf.scm (book-faif): * gnu/packages/gettext.scm (po4a): (po4a-minimal): * gnu/packages/graphics.scm (mmg): * gnu/packages/graphviz.scm (dot2tex): * gnu/packages/guile-xyz.scm (emacsy): (guile-cv): * gnu/packages/lisp.scm (sbcl): * gnu/packages/maths.scm (cddlib): (gnuplot): (itpp): (octave): (suitesparse-amd): (suitesparse-camd): (suitesparse-cholmod): (suitesparse-klu): (suitesparse-ldl): (suitesparse-mongoose): (suitesparse-spex): (suitesparse-spqr): (suitesparse-umfpack): (hypre): * gnu/packages/music.scm (lilypond): * gnu/packages/ocaml.scm (unison): (ocaml-bibtex2html): * gnu/packages/pdf.scm (extractpdfmark): * gnu/packages/photo.scm (enblend-enfuse): * gnu/packages/plotutils.scm (asymptote): * gnu/packages/python-xyz.scm (python-numpy-documentation): (python-ipython-documentation): (python-pypandoc): * gnu/packages/radio.scm (gnuradio): (libosmo-dsp): * gnu/packages/scheme.scm (mit-scheme): * gnu/packages/security-token.scm (yubico-piv-tool): * gnu/packages/sphinx.scm (python-sphinx): (python-sphinx-5): * gnu/packages/statistics.scm (r-with-tests): (r-spams): * gnu/packages/tex.scm (texlive-local-tree): Renamed from… (texlive-updmap.cfg): … this. Deprecate the latter. (texlive-biblatex-philosophy): (texlive-bropd): (texlive-fontsize): (texlive-poetrytex): (texlive-reverxii): (texlive-stix): (texlive-suftesi): (texlive-thucoursework): (texlive-ulqda): (texlive-yathesis): (texlive-makecell): (texlive-robotarm): (texlive-bbold): (texlive-babel-romansh): (texlive-polyglossia): (texlive-innerscript): (teximpatient): (texlive-xkeyval): (texlive-arabxetex): (texlive-blox): (texlive-ecgdraw): (texlive-gradientframe): (texlive-everyhook): (texlive-actuarialangle): (texlive-actuarialsymbol): (texlive-autopdf): (texlive-etaremune): (texlive-extract): (texlive-forarray): (texlive-graphicx-psmin): (texlive-ha-prosper): (texlive-namespc): (texlive-newspaper): (texlive-powerdot): (texlive-recipecard): (texlive-show2e): (texlive-tablists): (texlive-ted): (texlive-xargs): (texlive-xpeek): * gnu/packages/xdisorg.scm (xforms): * gnu/packages/algebra.scm (gap): * gnu/packages/cpp.scm (jthread): * guix/lint.scm (check-inputs-should-be-native): Rename `texlive-updmap.cfg' into `texlive-local-tree'. Change-Id: I129280807c418e57acbcbda399545ab27a9e0a33
2025-05-05environment: Add ‘--writable-root’ and default to read-only root.Ludovic Courtès
This is an incompatible change where the root file system in ‘guix shell -C’ is now read-only by default. * guix/scripts/environment.scm (show-environment-options-help) (%options): Add ‘--writable-root’. * guix/scripts/environment.scm (setup-fhs): Invoke /sbin/ldconfig; moved from… (launch-environment): … here. (launch-environment/container): Add #:writable-root? and pass it to ‘call-with-container’. Move root file system setup to #:populate-file-system. (guix-environment*): Honor ‘--writable-root’. * tests/guix-environment-container.sh: Test it. * doc/guix.texi (Invoking guix shell): Document ‘--writable-root’. (Debugging Build Failures): Mention it before “rm /bin/sh”. Change-Id: I2e8517d6f01eb8093160bffc0f9f56071ad6fee6 Reviewed-by: Maxim Cournoyer <[email protected]>
2025-05-05transformations: Git source transformations honour RECURSIVE?.Romain GARBAGE
* guix/transformations.scm (package-git-url+recursive?): New variable. (package-git-url): Remove variable. (evaluate-git-replacement-specs): Use package-git-url+recursive?. (transform-package-source-branch, transform-package-source-commit, transform-package-source-git-url): Update according to changes above. * doc/guix.texi (Package Transformation Options): Update documentation. * tests/transformations.scm: Update tests. Add tests for RECURSIVE? inheritance with WITH-COMMIT and WITH-SOURCE. Change-Id: Id6a5e6957a9955c8173b06b3e14f2986c6dfc4bc Signed-off-by: Ludovic Courtès <[email protected]>
2025-05-03scripts: home: Support extracting home-environment from Guix System declaration.Hilton Chain
* guix/scripts/home.scm (process-action): Handle operating-system declaration and extract home environment for current user. * doc/guix.texi (Guix Services)[Guix Home Service]: Document it. Change-Id: I995f79c2549e6edc76322542d0422159e0b79996 Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail>
2025-05-03nls: Update translations.Florian Pelz
* po/guix/kab.po: New file. * po/guix/LINGUAS: Add 'kab'. * po/doc/guix-cookbook.es.po: New file. * po/doc/local.mk: Add 'es' cookbook. * doc/local.mk: Add 'es' cookbook. * doc/htmlxref.cnf: Update URLs for cookbook. * doc/build.scm (%cookbook-languages): Add 'es'. * doc/guix-cookbook.texi (Top): Mention 'es' cookbook. Change-Id: I795563ee78c930248ff860a03d9ce970099429da
2025-05-02doc: Regenerate Texinfo menus.Maxim Cournoyer
Done with 'M-x texinfo-all-menus-update' in Emacs. * doc/guix.texi (Top): Regenerate menus. Change-Id: I4ae480d5e77296cb8b187b5629805b60f4a3cf02
2025-05-02services: kwallet: New service.Sergio Pastor Pérez
Change-Id: I1330ce5e1648a8ddf6ddd507255a73335d6baa51 Signed-off-by: Maxim Cournoyer <[email protected]>
2025-05-02services: postgresql-role: Add support for password files.Giacomo Leidi
This commit adds a password-file to the postgresql-role field. It allows users to provision Postgres roles with a set password. * gnu/services/databases.scm (postgresql-role): Add password-file field. (postgresql-role-configuration): Add requirement field. (postgresql-create-roles): Add support for setting passwords from a file without leaking passwords to the command line. (postgresql-role-shepherd-service): Add support for customizable requirements. (postgresql-role-service-type): Pass on postgresql-role-configuration fields values by default, this way user configured fields are not lost. * gnu/tests/databases.scm: Test it. * doc/guix.texi: Document the new field and fix the extension point example. Change-Id: I3aabaa10b0c5e826c5aa874e5649e25a3508a585 Signed-off-by: Maxim Cournoyer <[email protected]>
2025-05-02services: Normalize and improve libvirt-configuration documentation.Maxim Cournoyer
* gnu/services/virtualization.scm (libvirt-configuration): Fix typos and punctuation, and decorate with more Texinfo adornments. Remove extraneous text. Convert enumerations to sentences re-generating the Texinfo documentation with configuration->documentation doesn't require fixing these by hand after (the text is re-flowed, breaking enumerations). Mention the use of 'log-filters' is preferable to 'log-level', as commented in the defaut libvirt.conf template. * doc/guix.texi (Virtualization Services): Re-generate. Change-Id: Icc2abe21a787b4bb6ac3b35a95f6aaaf3bbda9aa
2025-04-30services/udev: Allow configuring udev to run in debug mode.Maxim Cournoyer
This re-introduces commit dd64f441d3dcff9165927b821da2b69b1fc6a24f, which had been reverted due to previously causing a system hang when debug? was enabled, a problem that appears to have been resolved within Shepherd. * gnu/services/base.scm (<udev-configuration>): <debug?>: New field. * gnu/services/base.scm (udev-shepherd-service): Use it to add '--debug' to the command line, if applicable. * doc/guix.texi (Base Services): Document it. Change-Id: I88243fb4f321ff0876dd227e3c2b22082d37cfcf
2025-04-29doc: cookbook: Fix extended example.Greg Hogan
* doc/guix-cookbook.texi (Extended example): Include missing module. Change-Id: Ibbda03344ad8762ea0c775a7eac36036c3b6200a
2025-04-26services: elogind: Split sleep.conf and port to define-configuration.Maxim Cournoyer
* gnu/services/desktop.scm (pascal-case): New procedure. (<elogind-configuration>): Rewrite in terms of define-configuration. (elogind-configuration-file): Delete. (maybe-list-of-suspend-states?, maybe-list-of-suspend-modes?) maybe-list-of-user-names?, maybe-boolean?maybe-package?) (maybe-action?, maybe-percent?, maybe-list-of-strings?) (maybe-list-of-hibernation-modes?, maybe-non-negative-integer?) (non-negative-integer?, percent?, char-set:user-name, user-name?) (list-of-user-names?, %elogind-actions, action?, %linux-suspend-states) (string->symbol/maybe, suspend-state?, list-of-suspend-states?) (%linux-suspend-modes, suspend-mode?, list-of-suspend-modes?) (%linux-hibernation-modes, hibernation-mode?, list-of-hibernation-modes?) (elogind-deprecated-empty-serializer, list-of-file-likes?) (elogind-serialize-boolean, elogind-base-serializer, elogind-serialize-action) (elogind-serialize-non-negative-integer, elogind-serialize-percent) (elogind-list-serializer, elogind-serialize-list-of-strings) (elogind-serialize-list-of-user-names, elogind-serialize-list-of-suspend-states) (elogind-serialize-list-of-suspend-modes) (elogind-serialize-list-of-hibernation-modes) (%elogind-configuration-sleep-fields, logind.conf, sleep.conf): New procedures. (elogind-etc-directory): Create the main configuration files there too. (elogind-dbus-service): Adjust for package accessor name change. (pam-extension-procedure, elogind-shepherd-service) (elogind-service-type): Likewise. (shepherd-configuration-action*): New procedure. * doc/guix.texi (Desktop Services): Fully document configuration options. Fixes: https://issues.guix.gnu.org/77806 Change-Id: I8767891871d83e58d64995ec986a7d01689fa6d8 Reported-by: Ludovic Courtès <[email protected]>