Commit graph

3589 commits

Author SHA1 Message Date
Tobias Geerinckx-Rice
71f0676a29
privilege: Add POSIX capabilities(7) support.
* gnu/system/privilege.scm (<privileged-program>): Add a field
representing the program's POSIX capabilities.
(privileged-program-capabilities): New public procedure.
* doc/guix.texi (Privileged Programs): Document it.
* gnu/build/activation.scm (activate-privileged-programs): Take a LIBCAP
package argument providing setcap(8) to apply said capabilities.
* gnu/services.scm (privileged-program->activation-gexp): Pass said
package argument where supported.  Include privileged-program-capabilities
in the compatibility hack.
2024-08-11 02:00:00 +02:00
Tobias Geerinckx-Rice
4e58dfee6c
system: Add privileged-programs to <operating-system>.
* gnu/system.scm (<operating-system>): Add new privileged-programs
field, that defaults to…
(%default-privileged-programs): …this new variable, renamed from…
(%setuid-programs): …this, which is now defined as the empty list.
* doc/guix.texi (Setuid Programs): Rename this…
(Privileged Programs): …to this.  Adjust all refs.  Update all mentions
of ‘setuid’ (whether in prose, variable names, or code samples) to use
the new ‘privilege[d]’ terminology instead.
(operating-system Reference, X Window, Invoking guix system)
(Service Reference): Adjust likewise.
2024-08-11 02:00:00 +02:00
Tobias Geerinckx-Rice
d6c9754c56
services: setuid-program: Populate /run/privileged/bin.
Create /run/setuid-programs compatibility symlinks so that we can
migrate all users (both package and human) piecemeal at our leisure.

Apart from being symlinks, this should be a user-invisible change.

* gnu/build/activation.scm (%privileged-program-directory): New variable.
[activate-setuid-programs]: Put privileged copies in
%PRIVILEGED-PROGRAM-DIRECTORY, with compatibility symlinks to each in
%SETUID-DIRECTORY.
* gnu/services.scm (setuid-program-service-type): Update docstring.
* doc/guix.texi (Setuid Programs): Update @file{} name accordingly.
2024-08-11 02:00:00 +02:00
Tobias Geerinckx-Rice
b39a39ff60
doc: Restructure the list of desktop services.
* doc/guix.texi (Desktop Services): Use a straight list for the list of
service types, rather than hiding them in one growing paragraph of prose.
Explain their purpose in general terms beneath it.

Change-Id: I2408ccf38dd62323138854cc5aa46051d2a076ac
2024-08-11 02:00:00 +02:00
Tobias Geerinckx-Rice
38f2c90133
doc: Rewrite obsolete list of limitations.
* doc/guix.texi (Limitations): Now that KDE Plasma is available,
rewrite the seemingly-exhaustive list to be more general.

Change-Id: I41450302837c963d5f811211e5a498a04f938e55
2024-08-11 02:00:00 +02:00
Florian Pelz
91cf240308
doc: Fix punctuation and style.
Follow-up to de714bcb46.

* doc/guix.texi (Setting Up the Daemon): Fix typos.

Reported-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: Id3e49f3b401e8b9ce2aa4c2588ae33cf25e2ca2d
2024-08-16 22:54:30 +02:00
Tomas Volf
888fdfd1b1
doc: Improve example for guix-for-channels.
The example was missing the (gnu packages package-management) import, so it
did not work.  While the module was mentioned below, I overlooked the
sentence.  So add it also into the example to make it more obvious.

* doc/guix.texi (Customizing the System-Wide Guix): Add import to example.

Change-Id: Ibc5b0be87d40531397660a3b0747f83b851b004b
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2024-08-15 16:04:26 +02:00
Florian Pelz
de714bcb46
doc: Setting Up the Daemon: Give guidance to whom this section is useful.
* doc/guix.texi (Setting Up the Daemon): Specify intended audience.

Change-Id: I784c5f720aa87bddb6455e42181a1e9de5d7ec9a
2024-08-10 16:04:03 +02:00
Oleg Pykhalov
26638b8e81
services: containerd: Provision separately from docker service.
containerd can operate independently without relying on Docker for its
configuration.

* gnu/services/docker.scm (docker-configuration): Deprecate containerd field.
(containerd-configuration, containerd-service-type): New variables.
(docker-shepherd-service): Use containerd-configuration.  Delete duplicated
variable binding.  Allow to configure environment variables.
(docker-service-type): Delete extension with containerd-service-type.
* gnu/tests/docker.scm (%docker-os, %oci-os): Add containerd service.
(run-docker-test, run-docker-system-test, run-oci-container-test): Run
containerd service.
* doc/guix.texi (Miscellaneous Services): Document containerd-service-type.

Change-Id: Ife0924e50a3e0aa2302d6592dae51ed894600004
2024-08-04 11:54:50 +03:00
Rodion Goritskov
4bc49e2185
services: agate: Update options for compatibility with the current Agate version.
* gnu/services/web.scm (<agate-configuration>)[certs]: Add.
[cert]: Remove.
[key]: Remove.
[hostname]: Change from string to list.
[silent?]: Remove.
[only-tls13?]: Add.
[central-conf?]: Add.
[ed25519?]: Add.
[skip-port-check?]: Add.
(agate-shepherd-service): Change handling of addr and hostname, add new
options handling.
* doc/guix.texi (Web Services): Update.

Change-Id: Ifb4968d704627344913bb69f20636d710a4fe738
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-07-26 18:55:07 +02:00
Z572 via Guix-patches via
69b8a40365
doc: Add note about use sddm with qt5 theme.
* doc/guix.texi (X Window): Add note about use sddm with qt5 theme.

Change-Id: I57eebc696803894f154e09347283d3327db8a084
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-07-20 01:36:17 +08:00
Liliana Marie Prikler
8546ca946e
doc: Update note on Emacs packages.
* doc/guix.texi ("Emacs packages"): Expand note to talk about differences
between native compilation upstream and as used in Guix.
2024-07-07 08:04:46 +02:00
Giacomo Leidi via Guix-patches via
5ee2799cab
services: oci-container: Allow setting Shepherd actions in oci-container-configuration.
* gnu/services/docker.scm (oci-container-configuration)
[shepherd-actions]: New field.
(sanitize-shepherd-actions): sanitize it.
(oci-container-shepherd-service): use it.

* doc/guix.texi: Document it.

Change-Id: I0ca9826542be7cb8ca280a07a9bff1a262c2a8a7
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-07-05 15:12:34 +08:00
Giacomo Leidi via Guix-patches via
cb57a3fd9f
services: oci-container: Allow setting Shepherd respawn? in oci-container-configuration.
* gnu/services/docker.scm (oci-container-configuration)
[respawn?]: New field.
(oci-container-shepherd-service): use it.

* doc/guix.texi: Document it.

Change-Id: I0d6367607fd0fd41f90a54b33d80bf4d4f43dd8b
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-07-05 15:12:34 +08:00
Giacomo Leidi via Guix-patches via
7d91bd4530
services: oci-container: Allow setting Shepherd auto-start? in oci-container-configuration.
* gnu/services/docker.scm (oci-container-configuration)
[auto-start?]: New field.
(oci-container-shepherd-service): use it.

* doc/guix.texi: Document it.

Change-Id: Id093d93effbbec3e1be757f8be83cf5f62eaeda7
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-07-05 15:12:34 +08:00
Giacomo Leidi via Guix-patches via
30ba86cb71
services: oci-container: Allow setting Shepherd log-file in oci-container-configuration.
* gnu/services/docker.scm (oci-container-configuration)
[log-file]: New field.
(oci-container-shepherd-service): use it.

* doc/guix.texi: Document it.

Change-Id: Icad29ac6342b6f5bafc0d9be13a93cee99674185
2024-07-05 15:12:34 +08:00
Giacomo Leidi via Guix-patches via
f5d0c324b1
doc: Minor changes to the OCI-backed Services documentation.
* doc/guix.texi: Clarify the example and remove reduntant escapes.

Change-Id: I38f5517ae46b391ba21ae5a94c6dcc272e245036
2024-07-05 15:12:34 +08:00
Tomas Volf
76a2b9d707
services: guix: Default `channels' field to #f.
In the absence of the /etc/guix/channels.scm file, %default-channels is used
anyway.  If user manually (or by extra-special-file) created the file, we
should respect it.  This commit therefore changes the default to #f, hopefully
having zero impact on people not actively using the `channels' field.

* gnu/services/base.scm (<guix-configuration>)[channels]: Set default to #f.

Change-Id: I516c1735a037a153fabbebfc337051aaf0be2155
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-06-26 23:36:24 +02:00
Tomas Volf
398393187c
doc: Warn about extra-special-file usage in /etc.
* doc/guix.texi (Base Services)[extra-special-file]: Add warning regarding
files in /etc.

Change-Id: Ic45465c8712d61caeed42d7912777368e8763a1a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-06-26 23:34:59 +02:00
Ludovic Courtès
0a220c1599
services: shepherd: Support “free-form” services.
* gnu/services/shepherd.scm (<shepherd-service>)[free-form]: New field.
[start]: Add default value.
(shepherd-service-file): Rename to…
(shepherd-service-file/regular): … this.
(shepherd-service-file/free-form): New procedure.
(shepherd-service-file): Dispatch to one of the two procedures above.
* doc/guix.texi (Shepherd Services): Document the ‘free-form’ field.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>

Change-Id: I206374e950ef6d1e4a996c0f507fb5fcd9cadde3
2024-06-26 22:51:25 +02:00
Ludovic Courtès
0fdac5f036
doc: Introduce mumi before referring to it.
* doc/contributing.texi (Debbugs User Interfaces): Introduce mumi in the
body of the text rather than a footnote since the “Command-Line
Interface” section assumes it has already been introduced.
(Command-Line Interface, Emacs Interface): Capitalize titles.

Change-Id: I0e87cd48b6158582016734afe71c716c548c1639
2024-06-26 22:49:36 +02:00
Richard Sent
da3e71f472
services: web: Improve nginx formatting for extra-content.
When extra-content is a list, add 4 space indentation and a newline to every
line. If it's a string, continue inserting it directly. This makes the list
serialization behavior more consistent with other services.

* gnu/services/web (default-nginx-config): Support lists.
* doc/guix.texi (Web Services)[nginx-configuration]: Document it.

Change-Id: Iec8614ba3cfc37292a566197e8d39b352b04846a
Signed-off-by: Christopher Baines <mail@cbaines.net>
2024-06-26 15:11:52 +01:00
Richard Sent
5f88f71c2d
doc: Add message for common error about make check-system.
* doc/contributing.texi (Running the Test Suite): Mention that make clean-go
may need to be run before running make check-system when previous builds were
run with different work trees.

Change-Id: I4b68d3a05f1425505816db969284487d725840d6
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Fixes: https://issues.guix.gnu.org/47573.
2024-06-24 08:51:45 -04:00
Tomas Volf
fc921acbef
doc: Improve description of nginx's configuration.
* doc/guix.texi (Web Services)[nginx-server-configuration]: Document semantics
of raw-content field.
[nginx-location-configuration]: Document semantics of body field.

Change-Id: I1e699d085a27f2615190de1e1973146da4ab193d
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-06-24 08:51:45 -04:00
Simon Tournier
d19d5447cd
doc: contributing: Mention 'guix git authenticate'.
Follow up of 73b3f941d7.

* doc/contributing.texi (Applying for Commit Access): Update accordingly with
the removal of 'make authenticate'.

Change-Id: Id945c484f6265c76d4eb803369a7fbd9f797434f
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-06-24 08:51:42 -04:00
Ludovic Courtès
e6facbe069
gnu: grub: Update to 2.12.
* gnu/packages/bootloaders.scm (grub): Update to 2.12.
[source](patches): Remove ‘grub-ignore-metadata-csum-seed.patch’.
(snippet): Create ‘grub-core/extra_deps.lst’.  Replace “exit 99”
by “exit 77”.
(grub-coreboot): Update value of ‘XFAIL_TESTS’.
* doc/guix.texi (Keyboard Layout and Networking and Partitioning): Update
accordingly (it should now be fine to use LUKS2).
* gnu/packages/patches/grub-ignore-metadata-csum-seed.patch: Remove.
* gnu/local.mk (dist_patch_DATA): Remove it.

Change-Id: Ia31b3b7e0a2e7de42d30229733e9c196fcd12fd9
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-06-24 08:51:41 -04:00
Richard Sent
ff9942dcc1
doc: Prepend ISC to DHCP client references.
This makes it clearer that this service uses the ISC's dhclient implementation
and does not support DHCP clients that have different command line interfaces.

* doc/guix.texi (Networking Setup): Prepend ISC to all DHCP client references.

Change-Id: I750ef2ffb4b23445c4a2b97aaa44eba56458f430
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-06-24 08:50:49 -04:00
Richard Sent
b539e5ae39
services: networking: Allow dhcp-client to use a config file.
* gnu/services/networking.scm (dhcp-client-configuration) [config-file]: New
field.
(dhcp-client-configuration-config-file): New accessor.
(dhcp-client-shepherd-service): Use the config file when invoking
dhclient if supplied.
* doc/guix.texi: Document it.

Change-Id: I286de4ddf59c5e606bf1fe0a7510570869e62b1a
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-06-24 08:50:45 -04:00
Tomas Volf
603d523fc3
doc: Fix Reviewed-by format.
The documentation does not have a space between `e' and `<', which is not how
people use it, as can be seen from git log.  So adjust the format to match the
reality.

* doc/contributing.texi (Reviewing the Work of Others): Fix format for
Reviewed-by.

Change-Id: Ib863536db72b885cf34927323cb4ebc52a8db2ed
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-06-24 08:34:44 -04:00
Juliana Sims
b49e556b9e
services: radicale: Use define-configuration.
* doc/guix.texi (radicale-configuration): Update documentation to reflect new
configuration, add new symbols.
* gnu/services/mail.scm (%default-radicale-config-file): Delete.
(radicale-auth-configuration, radicale-auth-configuration?)
(radicale-encoding-configuration, radicale-encoding-configuration?)
(radicale-logging-configuration, radicale-logging-configuration?)
(radicale-rights-configuration, radicale-rights-configuration?)
(radicale-server-configuration, radicale-server-configuration?)
(radicale-storage-configuration, radicale-storage-configuration?):
New configuration types and corresponding predicates.
(radicale-configuration, radicale-configuration?): Use define-configuration.
(radicale-activation, radicale-shepherd-service): Update to new
configuration format.
(radicale-activation): Use user-defined values for service files.
(radicale-service-type): Capitalize "Radicale" in description.

Change-Id: Ic88b8ff2750e3d658f6c7cee02d33417aa8ee6d2
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2024-06-23 10:09:01 +02:00
Richard Sent
5d39cbdfff
doc: Fix typo in Guix Home Service
* doc/guix.texi (Guix Home Service): Change home-service-type to
guix-home-service-type in example.

Change-Id: Ief7f71c9e6494ced20ccda3bb2643f01eabe8441
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-06-22 21:51:02 +08:00
Sergey Trofimov
10d8bbdabb
services: dnsmasq: Add escape hatch.
* gnu/service/dns.scm: (<dnsmasq-configuration>)[extra-options]: Add.
* doc/guix.texi: Document (<dnsmasq-configuration>)[extra-options].

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I7d2df7aa5d3b041b69b2f8b3e311a7328c28a3be
2024-06-13 22:43:59 +02:00
Ludovic Courtès
086fe7ef25
doc: Use a symbol for Cuirass specification names.
* doc/guix.texi (Continuous Integration): Change ‘name’ field of
‘specification’ to be a symbol, as written in upstream Cuirass doc.

Change-Id: I0a8cddfb8ab47f627a01459393aaf346028bb3f6
2024-06-13 11:34:33 +02:00
Arun Isaac
f65bbca6e4
doc: Refer to mumi send-email in Submitting Patches.
* doc/contributing.texi (Submitting Patches): Refer to mumi send-email.

Change-Id: I009cdc306220ef63e6641fac69d3453ab169bfa2
2024-06-12 22:14:41 +01:00
Arun Isaac
d25bb39c51
doc: Add mumi CLI concept index entries.
* doc/contributing.texi (Debbugs User Interfaces)[Command-line interface]: Add
mumi CLI concept index entries.

Change-Id: Ic2e67226c18e87a7360b938476a662aae76dd58e
2024-06-12 22:14:41 +01:00
Arun Isaac
cb1c12156e
doc: Document mumi am, compose and www subcommands.
* doc/contributing.texi (Debbugs User Interfaces)[Command-line interface]:
Document mumi am, compose and www subcommands.
* doc/guix.texi: Bump copyright year.

Change-Id: I28bde9454ad35115ed60fe4d6ffa35fad599b2d1
2024-06-12 22:14:41 +01:00
Nguyễn Gia Phong
039da35176
doc: Update field name in gitile-configuration.
* doc/guix.texi (gitile-configuration): Update field name
  nginx-server-block to nginx.

Change-Id: I215d3d57c1cb88271c580fa1426a661477a775f7
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-06-12 00:21:52 +02:00
Denis 'GNUtoo' Carikli
0f9fe721be
doc: Binary Installation: Add Parabola packages.
* doc/guix.texi (Binary Installation): Add Parabola packages.

Co-authored by: Florian Pelz <pelzflorian@pelzflorian.de>
Change-Id: Id646152c54de0a958740314b09fdcf6af898e22e
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2024-06-06 23:38:31 +02:00
Denis 'GNUtoo' Carikli
902a55e1dc
doc: Binary Installation: Mention Trisquel package.
* doc/guix.texi (Binary Installation): Also mention Trisquel package.

Change-Id: Iae6f77de43de2c6f387b99a10dcae5b9d82aaee1
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2024-06-06 23:38:31 +02:00
Florian Pelz
66eb60509d
doc: Advise system administrators to read and follow security notices.
* doc/guix.texi (Binary Installation): Prefix installation instructions
with the advice.

Change-Id: I088c7f00f4c3c8e32bdfd117ea934942930f7513
2024-06-06 23:38:17 +02:00
Richard Sent
579df5bc80
services: base: Add optional delayed mount of file-systems
Add a mechanism to only require mounting a subset of file-system entries
during early Shepherd initialization. Any file-system with additional Shepherd
service requirements (e.g. networking) is not required to provision
'file-systems.

* gnu/services/base.scm (file-system-shepherd-service): Splice
file-system-requirements into the Shepherd service requirement list.
(file-system-shepherd-services): Provision 'file-system only when file system
services without additional Shepherd requirements are started.
* gnu/system/file-systems.scm (file-system): Add shepherd-requirements field
to the file-system record. This field is used for adding additional Shepherd
requirements to a file-system Shepherd service.
* doc/guix.texi: Add documentation for file-system shepherd-requirements.

Change-Id: If0392db03d48e8820aa53df1df482c12ec72e1a5
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-06-04 12:08:34 +02:00
Florian Pelz
834a419524
nls: Update translations.
* po/doc/guix-cookbook.sv.po: New file.
* po/doc/local.mk: Add 'sv' cookbook.
* po/doc/po4a.cfg (po4a_langs): Add 'sv'.
* doc/local.mk: Add 'sv' cookbook.
* doc/htmlxref.cnf: Update URLs for cookbook.
* doc/build.scm (%cookbook-languages): Add 'sv'.
* doc/guix-cookbook.texi (Top): Mention 'sv' cookbook.

Change-Id: Ibfeb7254f583f1c8827e8c2756bbb02880bcba46
2024-06-03 00:27:12 +02:00
gemmaro
f65bd477b0
build: Use the po4a command for the translation generation.
* configure.ac (Documentation translation): Remove the po4a-translate command.
This command has been replaced by the po4a command and are not used from
anywhere.
* doc/local.mk ($(srcdir)/%D%/guix.%.texi, $(srcdir)/%D%/guix-cookbook.%.texi)
($(srcdir)/%D%/contributing.%.texi): Use the po4a command instead of the
po4a-translate for the translation generation.  This eliminates the warning of
po4a-translate; "po4a-translate is deprecated.  The unified po4a(1) program is
more convenient and less error prone."
(PO4A_PARAMS): Remove the Texinfo format option.  This option is specified in
the configuration file (po/doc/po4a.cfg).
(dummy_pot): Add a variable for the temporary POT file location.

Change-Id: I542b934c3c03b8701e9f86823191224f8b0ccf81
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2024-06-03 00:27:11 +02:00
Florian Pelz
5c4742663b
doc: cookbook: Fix direnv example.
When replacing `guix environment' with `guix shell',
I forgot to add a `--development' argument.

Follow-up to 9c3a8a380b.

* doc/guix-cookbook.texi (Environment management)
[Guix environment via direnv]: Fix example.

Change-Id: I0a0df33b3b547bfc3ada10c4648e593be6608070
2024-06-03 00:27:11 +02:00
Ludovic Courtès
8f0878da8d
services: nscd: ‘log-file’ defaults to #f.
* gnu/services/base.scm (<nscd-configuration>)[log-file]: Default to #f.
* doc/guix.texi (Base Services): Clarify documentation.

Change-Id: Ia75914fc2665db13bef688d53659083a615ebef4
2024-06-02 20:52:24 +02:00
Andrew Tropin
eac5171246
Revert "services: home: Use pairs instead of lists."
This reverts commit dbeef44f3c.

Despite the more semantically correct data type, it doesn't follow the style
of the most services and also breaks user-facing API.

Change-Id: Ib4ef4e9cd2f53ac853a5b7c7c90e57c35c99a5ea
2024-06-02 15:06:16 +04:00
Andrew Tropin
dbeef44f3c
services: home: Use pairs instead of lists.
* gnu/services/guix.scm: Use pairs instead of lists.
* doc/guix.texi: Update accordingly.
* gnu/tests/guix.scm: Update accordingly.

Change-Id: I0b8d3fa5b214add89bdb84a11fa20d1b319435f0
2024-06-02 13:38:52 +04:00
Tomas Volf
8144c587f8
home: services: Add home-startx-command-service-type.
* gnu/home/services/desktop.scm (home-startx-command-service-type): New
variable.
(startx-command-service-type): New service-type mapping.
* doc/guix.texi (Guix Home Services): Document
home-startx-command-service-type.

Change-Id: Id38b5dc7b9235e04e3a9a1b70a35b02e8fae95f0
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2024-05-30 22:40:54 +01:00
Tomas Volf
e51a930c5c
services: xorg: Add startx-command-service-type.
* gnu/services/xorg.scm (startx-command-profile-service,
startx-command-service-type): New variables.
* doc/guix.texi (X Window): Document startx-command-service-type.

Change-Id: Ia2a7c3b2d5ebf6bcfff40cb2640b17d3baf6eba0
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2024-05-30 22:40:23 +01:00
Tomas Volf
9948816819
services: xorg: Add xorg-start-command-xinit procedure.
When the user does not use any desktop environment, the typical sequence is to
log in and then type `startx' into the tty to get a window manager running.
Most distributions do provide a startx by default, but Guix has only an
xorg-start-command that is not suitable for this.

This commit adds a second procedure, xorg-start-command-xinit, that correctly
picks a virtual terminal to use, sets up XAUTHORITY and starts xinit with the
correct arguments.  That should make running Guix without a desktop
environment more approachable.

* gnu/services/xorg.scm (xorg-start-command-xinit): New public procedure.
* doc/guix.texi (X Window): Document it.

Change-Id: I17cb16093d16a5c6550b1766754700d4fe014ae9
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2024-05-30 18:23:34 +01:00