Subject: [PATCH] gnu: Export xorg variables for startx.

From: John Soo <[email-masked]>
Date: Sun, 03 Jan 2021 08:27:36 -0800

Hi Guix,

I wanted to try using startx instead of a display manager.  I finally
got it to work, but it required at very least these patches.  I also had
to create a new service type but I think that it needs more work to be
put in upstream.

Is startx something we want to support?  It seems like the user should
be able to construct a system as the they see fit.

What do you think?

- John

>From 8ab08a2ca7e29c53468d72577e0b3b8286d652b5 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Mon, 30 Mar 2020 03:33:08 -0700
Subject: [PATCH 1/4] gnu: xinit: Specify xinputs in configure flags.

* gnu/packages/xorg.scm (xinit):[arguments] Specify twm, xauth, xclock,
  xorg-server, xrdb, xorg-server, and xterm in configure flags and propagate
  them.
---
 gnu/packages/xorg.scm | 28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 42596aa0f1..d7f55394ab 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -5922,7 +5922,33 @@ The XCB util-wm module provides the following libraries:
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (propagated-inputs
-     `(("xauth" ,xauth)))
+     `(("twm" ,twm)
+       ("xauth" ,xauth)
+       ("xclock" ,xclock)
+       ("xorg-server" ,xorg-server)
+       ("xrdb" ,xrdb)
+       ("xterm" ,xterm)))
+    (arguments
+     `(#:configure-flags
+       (list
+        (string-append
+         "--with-twm="
+         (assoc-ref %build-inputs "twm") "/bin/twm")
+        (string-append
+         "--with-xauth="
+         (assoc-ref %build-inputs "xauth") "/bin/xauth")
+        (string-append
+         "--with-xclock="
+         (assoc-ref %build-inputs "xclock") "/bin/xclock")
+        (string-append
+         "--with-xrdb="
+         (assoc-ref %build-inputs "xrdb") "/bin/xrdb")
+        (string-append
+         "--with-xserver="
+         (assoc-ref %build-inputs "xorg-server") "/bin/X")
+        (string-append
+         "--with-xterm="
+         (assoc-ref %build-inputs "xterm") "/bin/xterm"))))
     (home-page "https://www.x.org/")
     (synopsis "Commands to start the X Window server")
     (description
-- 
2.29.2

>From fe434e4d4c53d9d8c27fcd8ab882aa4b027f4e17 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Wed, 1 Apr 2020 08:23:37 -0700
Subject: [PATCH 2/4] gnu: xorg-configuration-directory: Expose the function.

* gnu/services/xorg.scm (xorg-configuration-directory): Expose it.
---
 gnu/services/xorg.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 4590709187..1c76049d23 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -65,6 +65,7 @@
             xorg-configuration-server
             xorg-configuration-server-arguments
 
+            xorg-configuration-directory
             %default-xorg-modules
             %default-xorg-fonts
             xorg-wrapper
-- 
2.29.2

>From dc7da1094047ebd47c0491f2a3ec0739362e2637 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Wed, 1 Apr 2020 08:34:20 -0700
Subject: [PATCH 3/4] gnu: xorg-configuration->file: Expose the function.

* gnu/services/xorg.scm (xorg-configuration->file): Expose it.
---
 gnu/services/xorg.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 1c76049d23..fcd9b4d4f1 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -66,6 +66,8 @@
             xorg-configuration-server-arguments
 
             xorg-configuration-directory
+            xorg-configuration->file
+
             %default-xorg-modules
             %default-xorg-fonts
             xorg-wrapper
-- 
2.29.2

>From c217dcdb5a40f6b921541ebda19e78fe400ae27f Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 2 Apr 2020 03:58:07 -0700
Subject: [PATCH 4/4] gnu: %default-xorg-server-arguments: Expose variable.

* gnu/services/xorg.scm (%default-xorg-server-arguments): Expose it.
---
 gnu/services/xorg.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index fcd9b4d4f1..6a1d9e07b6 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -68,6 +68,7 @@
             xorg-configuration-directory
             xorg-configuration->file
 
+            %default-xorg-server-arguments
             %default-xorg-modules
             %default-xorg-fonts
             xorg-wrapper
-- 
2.29.2