unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#72406] [PATCH emacs-team WIP 2/4] build-system: emacs: Make emacs the default variant.
  2024-07-31 19:58 [bug#72406] [PATCH emacs-team WIP 0/4] Simplify creation of emacs package variants Liliana Marie Prikler
@ 2024-07-31 18:41 ` Liliana Marie Prikler
  2024-07-31 18:42 ` [bug#72406] [PATCH emacs-team WIP 3/4] build-system: emacs: Define common variants Liliana Marie Prikler
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-07-31 18:41 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* guix/build-system/emacs.scm (resolve-emacs): New variable.
(default-emacs): Use it.  Change to ‘emacs’ instead of ‘emacs-minimal’.
---
 guix/build-system/emacs.scm | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/guix/build-system/emacs.scm b/guix/build-system/emacs.scm
index 3a11738496..88304b9ce1 100644
--- a/guix/build-system/emacs.scm
+++ b/guix/build-system/emacs.scm
@@ -49,11 +49,13 @@ (define %emacs-build-system-modules
     (guix build emacs-utils)
     ,@%gnu-build-system-modules))
 
-(define (default-emacs)
-  "Return the default Emacs package."
+(define* (resolve-emacs name)
+  "Lazily resolve the emacs package by variable NAME."
   ;; Lazily resolve the binding to avoid a circular dependency.
   (let ((emacs-mod (resolve-interface '(gnu packages emacs))))
-    (module-ref emacs-mod 'emacs-minimal)))
+    (module-ref emacs-mod name)))
+
+(define (default-emacs) (resolve-emacs 'emacs))
 
 (define* (lower name
                 #:key source inputs native-inputs outputs system target
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP 3/4] build-system: emacs: Define common variants.
  2024-07-31 19:58 [bug#72406] [PATCH emacs-team WIP 0/4] Simplify creation of emacs package variants Liliana Marie Prikler
  2024-07-31 18:41 ` [bug#72406] [PATCH emacs-team WIP 2/4] build-system: emacs: Make emacs the default variant Liliana Marie Prikler
@ 2024-07-31 18:42 ` Liliana Marie Prikler
  2024-07-31 19:54 ` [bug#72406] [PATCH emacs-team WIP 4/4] etc: Provide snippet for defining emacs variants Liliana Marie Prikler
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-07-31 18:42 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* guix/build-system/emacs.scm (package-with-emacs-minimal)
(package-with-emacs-next, package-with-emacs-pgtk): New variables.
---
 guix/build-system/emacs.scm | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/guix/build-system/emacs.scm b/guix/build-system/emacs.scm
index 88304b9ce1..74bb047e63 100644
--- a/guix/build-system/emacs.scm
+++ b/guix/build-system/emacs.scm
@@ -31,7 +31,11 @@ (define-module (guix build-system emacs)
   #:use-module (guix build-system gnu)
   #:export (%emacs-build-system-modules
             emacs-build
-            emacs-build-system)
+            emacs-build-system
+            ;; Common variants.
+            package-with-emacs-minimal
+            package-with-emacs-next
+            package-with-emacs-pgtk)
   #:re-export (%default-include         ;for convenience
                %default-exclude))
 
@@ -181,4 +185,19 @@ (define* (package-with-explicit-emacs emacs old-prefix new-prefix
 
   (package-mapping transform cut?))
 
+(define package-with-emacs-minimal
+  (package-with-explicit-emacs (delay (resolve-emacs 'emacs-minimal))
+                               "emacs-" "emacs-minimal-"
+                               #:variant-property 'emacs-minimal-variant))
+
+(define package-with-emacs-pgtk
+  (package-with-explicit-emacs (delay (resolve-emacs 'emacs-pgtk))
+                               "emacs-" "emacs-pgtk-"
+                               #:variant-property 'emacs-pgtk-variant))
+
+(define package-with-emacs-next
+  (package-with-explicit-emacs (delay (resolve-emacs 'emacs-next))
+                               "emacs-" "emacs-next-"
+                               #:variant-property 'emacs-next-variant))
+
 ;;; emacs.scm ends here
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP 4/4] etc: Provide snippet for defining emacs variants.
  2024-07-31 19:58 [bug#72406] [PATCH emacs-team WIP 0/4] Simplify creation of emacs package variants Liliana Marie Prikler
  2024-07-31 18:41 ` [bug#72406] [PATCH emacs-team WIP 2/4] build-system: emacs: Make emacs the default variant Liliana Marie Prikler
  2024-07-31 18:42 ` [bug#72406] [PATCH emacs-team WIP 3/4] build-system: emacs: Define common variants Liliana Marie Prikler
@ 2024-07-31 19:54 ` Liliana Marie Prikler
  2024-07-31 19:57 ` [bug#72406] [PATCH emacs-team WIP 1/4] build-system: emacs: Define package-with-explicit-emacs Liliana Marie Prikler
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-07-31 19:54 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* etc/snippets/tempel/scheme-mode (emacs-variants...): New snippet.
---
 etc/snippets/tempel/scheme-mode | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/etc/snippets/tempel/scheme-mode b/etc/snippets/tempel/scheme-mode
index 249f4ce8e3..5ad9fd48a7 100644
--- a/etc/snippets/tempel/scheme-mode
+++ b/etc/snippets/tempel/scheme-mode
@@ -14,6 +14,14 @@ scheme-mode
  n  > "(description \"" p "\")"
  n  > "(license license:" (p "unknown") ")))" n)
 
+(emacs-variants...
+ "(define-public emacs-next-" (s name)
+ n> "(package-with-emacs-next emacs-" (s name) "))" n n
+ "(define-public emacs-minimal-" (s name)
+ n> "(package-with-emacs-minimal emacs-" (s name) "))" n n
+ "(define-public emacs-pgtk-" (s name)
+ n> "(package-with-emacs-pgtk emacs-" (s name) "))")
+
 (origin...
  "(origin"
  n> "(method " (p "url-fetch" method) ")"
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP 1/4] build-system: emacs: Define package-with-explicit-emacs.
  2024-07-31 19:58 [bug#72406] [PATCH emacs-team WIP 0/4] Simplify creation of emacs package variants Liliana Marie Prikler
                   ` (2 preceding siblings ...)
  2024-07-31 19:54 ` [bug#72406] [PATCH emacs-team WIP 4/4] etc: Provide snippet for defining emacs variants Liliana Marie Prikler
@ 2024-07-31 19:57 ` Liliana Marie Prikler
  2024-08-01  3:23 ` [bug#72406] [PATCH emacs-team WIP 0/4] Simplify creation of emacs package variants Suhail Singh
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
  5 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-07-31 19:57 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2967 bytes --]

* guix/build-system/emacs.scm (package-with-explicit-emacs): New procedure.
---
 guix/build-system/emacs.scm | 51 +++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/guix/build-system/emacs.scm b/guix/build-system/emacs.scm
index ebf97a5344..3a11738496 100644
--- a/guix/build-system/emacs.scm
+++ b/guix/build-system/emacs.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
 ;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
+;;; Copyright © 2024 Liliana Marie Prikler <liliana.prikler@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -128,4 +129,54 @@ (define emacs-build-system
     (description "The build system for Emacs packages")
     (lower lower)))
 
+(define* (package-with-explicit-emacs emacs old-prefix new-prefix
+                                      #:key variant-property)
+  "Return a procedure of one argument, P.  The procedure creates a package with
+the same fields as P, which is assumed to use EMACS-BUILD-SYSTEM, such that
+it is compiled with EMACS instead.  The inputs are changed recursively
+accordingly.  If the name of P starts with OLD-PREFIX, this is replaced by
+NEW-PREFIX; otherwise, NEW-PREFIX is prepended to the name.
+
+When VARIANT-PROPERTY is present, it is used as a key to search for
+pre-defined variants of this transformation recorded in the 'properties' field
+of packages.  The property value must be the promise of a package.  This is a
+convenient way for package writers to force the transformation to use
+pre-defined variants."
+  (define package-variant
+    (if variant-property
+        (lambda (package)
+          (assq-ref (package-properties package)
+                    variant-property))
+        (const #f)))
+
+  (define (transform pkg)
+    (cond
+     ;; If VARIANT-PROPERTY is present, use that.
+     ((package-variant pkg)
+      => force)
+
+     ;; Otherwise build the new package object graph.
+     ((eq? (package-build-system pkg) emacs-build-system)
+      (package/inherit pkg
+        (location (package-location pkg))
+        (name (let ((name (package-name pkg)))
+                (string-append new-prefix
+                               (if (string-prefix? old-prefix name)
+                                   (substring name
+                                              (string-length old-prefix))
+                                   name))))
+        (arguments
+         (let ((emacs (if (promise? emacs)
+                          (force emacs)
+                          emacs)))
+           (ensure-keyword-arguments (package-arguments pkg)
+                                     `(#:emacs ,emacs))))))
+     (else pkg)))
+
+  (define (cut? pkg)
+    (or (not (eq? (package-build-system pkg) emacs-build-system))
+        (package-variant pkg)))
+
+  (package-mapping transform cut?))
+
 ;;; emacs.scm ends here
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP 0/4] Simplify creation of emacs package variants
@ 2024-07-31 19:58 Liliana Marie Prikler
  2024-07-31 18:41 ` [bug#72406] [PATCH emacs-team WIP 2/4] build-system: emacs: Make emacs the default variant Liliana Marie Prikler
                   ` (5 more replies)
  0 siblings, 6 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-07-31 19:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

Hi Guix,

this has been a long TODO for emacs-team, which became even more urgent with
the recent bugs concerning Emacs native compilation and a way for providing
grafts to it.  With this series, we can make natively-compiled Emacs packages
substitutable just like their byte-compiled alternatives – to this end,
we also make plain emacs the default for emacs-build-system and provide
procedures to create emacs-next-*, emacs-minimal-*, and emacs-pgtk-* variants
of packages.

What's still left to do in this series is actually defining all of them.
There's quite a number of packages to go over, not all of which build using
emacs-build-system.  And of course, building N variants of every Emacs package
will not make the load for CI lighter, so let's keep N small, shall we? :)

Cheers

Liliana Marie Prikler (4):
  build-system: emacs: Define package-with-explicit-emacs.
  build-system: emacs: Make emacs the default variant.
  build-system: emacs: Define common variants.
  etc: Provide snippet for defining emacs variants.

 etc/snippets/tempel/scheme-mode |  8 ++++
 guix/build-system/emacs.scm     | 80 +++++++++++++++++++++++++++++++--
 2 files changed, 84 insertions(+), 4 deletions(-)


base-commit: fee360f85384fb06f7d0c46891126b1f85c9c740
-- 
2.45.2





^ permalink raw reply	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP 0/4] Simplify creation of emacs package variants
  2024-07-31 19:58 [bug#72406] [PATCH emacs-team WIP 0/4] Simplify creation of emacs package variants Liliana Marie Prikler
                   ` (3 preceding siblings ...)
  2024-07-31 19:57 ` [bug#72406] [PATCH emacs-team WIP 1/4] build-system: emacs: Define package-with-explicit-emacs Liliana Marie Prikler
@ 2024-08-01  3:23 ` Suhail Singh
  2024-08-01  4:32   ` Liliana Marie Prikler
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
  5 siblings, 1 reply; 44+ messages in thread
From: Suhail Singh @ 2024-08-01  3:23 UTC (permalink / raw)
  To: Liliana Marie Prikler; +Cc: 72406, gemmaro.dev, cox.katherine.e+guix, andrew

Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

> With this series, we can make natively-compiled Emacs packages
> substitutable just like their byte-compiled alternatives – to this
> end, we also make plain emacs the default for emacs-build-system

I don't follow.  What's the advantage to making `emacs' the default for
emacs-build-system as opposed to `emacs-minimal' ?  If this is to enable
native-compilation, could that not be done via `emacs-no-x' instead?
`emacs' seems to bring in a number of additional inputs, and it's not
clear to me that they make a better default.

I propose that the patch to change the defaults for the
emacs-build-system should perhaps be tackled in a different issue than
the patch series that provides procedures to create variants of
packages.

> and provide procedures to create emacs-next-*, emacs-minimal-*, and
> emacs-pgtk-* variants of packages.

These seem useful.  However, it may help to have an example of one of
these being used.

If you split the patch series such that the current issue doesn't alter
the default for the emacs-build-system, then it might help to only
provide the procedure for creating an emacs-no-x-* variant (since they
are pretty similar), and use it for a package like emacs-org and/or
emacs-magit.

> What's still left to do in this series is actually defining all of them.
> There's quite a number of packages to go over, not all of which build using
> emacs-build-system.

For the packages that don't use the emacs-build-system today, is the
idea to switch them to using it?  If so, it might help to review that
list.

> And of course, building N variants of every Emacs package will not
> make the load for CI lighter, so let's keep N small, shall we? :)

If I am understanding correctly, it seems N can be 1 most of the time
(corresponding to one of the "current" variants).  Sometimes we may need
a "next" variant, but in those cases a "current" variant likely wouldn't
suffice.

It's not clear that there's much utility in having multiple "current"
variants, but perhaps that can be discussed at a later date (when and if
such a change is introduced).

-- 
Suhail




^ permalink raw reply	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP 0/4] Simplify creation of emacs package variants
  2024-08-01  3:23 ` [bug#72406] [PATCH emacs-team WIP 0/4] Simplify creation of emacs package variants Suhail Singh
@ 2024-08-01  4:32   ` Liliana Marie Prikler
  2024-08-01  6:02     ` Suhail Singh
  0 siblings, 1 reply; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-01  4:32 UTC (permalink / raw)
  To: Suhail Singh; +Cc: 72406, gemmaro.dev, cox.katherine.e+guix, andrew

Am Mittwoch, dem 31.07.2024 um 23:23 -0400 schrieb Suhail Singh:
> Liliana Marie Prikler <liliana.prikler@gmail.com> writes:
> 
> > With this series, we can make natively-compiled Emacs packages
> > substitutable just like their byte-compiled alternatives – to this
> > end, we also make plain emacs the default for emacs-build-system
> 
> I don't follow.  What's the advantage to making `emacs' the default
> for emacs-build-system as opposed to `emacs-minimal' ?  If this is to
> enable native-compilation, could that not be done via `emacs-no-x'
> instead? `emacs' seems to bring in a number of additional inputs, and
> it's not clear to me that they make a better default.
> 
> I propose that the patch to change the defaults for the
> emacs-build-system should perhaps be tackled in a different issue
> than the patch series that provides procedures to create variants of
> packages.
None of the emacsen are native-comp-compatible to each other.  
By design: they have different feature sets, so they get different
tags.

For package naming, "emacs" should mean "emacs", not "emacs-minimal" or
"emacs-no-x".

> > and provide procedures to create emacs-next-*, emacs-minimal-*, and
> > emacs-pgtk-* variants of packages.
> 
> These seem useful.  However, it may help to have an example of one of
> these being used.
Example: I am personally using emacs-pgtk.

> If you split the patch series such that the current issue doesn't
> alter the default for the emacs-build-system, then it might help to
> only provide the procedure for creating an emacs-no-x-* variant
> (since they are pretty similar), and use it for a package like emacs-
> org and/or emacs-magit.
Sure, we could provide that procedure – for now I only provided those
that I'd plan to build on CI.

> > What's still left to do in this series is actually defining all of
> > them.  There's quite a number of packages to go over, not all of
> > which build using emacs-build-system.
> 
> For the packages that don't use the emacs-build-system today, is the
> idea to switch them to using it?  If so, it might help to review that
> list.
No, they would have to be special-cased.  There's a bunch of things
emacs-build-system can't account for, which are solved by a simple
Makefile.  If anything, we'd extend the procedure to also capture
those.

> > And of course, building N variants of every Emacs package will not
> > make the load for CI lighter, so let's keep N small, shall we? :)
> 
> If I am understanding correctly, it seems N can be 1 most of the time
> (corresponding to one of the "current" variants).  Sometimes we may
> need a "next" variant, but in those cases a "current" variant likely
> wouldn't suffice.
N should be the number of Emacsen in practical use by the Guix
community, which is currently >= 2.

Cheers




^ permalink raw reply	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP 0/4] Simplify creation of emacs package variants
  2024-08-01  4:32   ` Liliana Marie Prikler
@ 2024-08-01  6:02     ` Suhail Singh
  2024-08-01 16:54       ` Liliana Marie Prikler
  0 siblings, 1 reply; 44+ messages in thread
From: Suhail Singh @ 2024-08-01  6:02 UTC (permalink / raw)
  To: Liliana Marie Prikler
  Cc: 72406, gemmaro.dev, cox.katherine.e+guix, Suhail Singh, andrew

Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

>> I propose that the patch to change the defaults for the
>> emacs-build-system should perhaps be tackled in a different issue
>> than the patch series that provides procedures to create variants of
>> packages.
> None of the emacsen are native-comp-compatible to each other.  
> By design: they have different feature sets, so they get different
> tags.

I didn't realize they were ABI incompatible.  Okay.

> For package naming, "emacs" should mean "emacs", not "emacs-minimal" or
> "emacs-no-x".
>
>> > and provide procedures to create emacs-next-*, emacs-minimal-*, and
>> > emacs-pgtk-* variants of packages.
>> 
>> These seem useful.  However, it may help to have an example of one of
>> these being used.
> Example: I am personally using emacs-pgtk.

I meant that it would be helpful to see an example of, say,
package-with-emacs-pgtk in the patch series.

-- 
Suhail




^ permalink raw reply	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP 0/4] Simplify creation of emacs package variants
  2024-08-01  6:02     ` Suhail Singh
@ 2024-08-01 16:54       ` Liliana Marie Prikler
  2024-08-01 19:40         ` Suhail Singh
  0 siblings, 1 reply; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-01 16:54 UTC (permalink / raw)
  To: Suhail Singh; +Cc: 72406, gemmaro.dev, cox.katherine.e+guix, andrew

Am Donnerstag, dem 01.08.2024 um 02:02 -0400 schrieb Suhail Singh:
> I meant that it would be helpful to see an example of, say,
> package-with-emacs-pgtk in the patch series.
That's why I wrote that this is still left to do for the series.
There's a snippet included – starting at the top of emacs-xyz with
emacs-ac-ispell, it yields

#+begin_src scheme
(define-public emacs-next-ac-ispell
  (package-with-emacs-next emacs-ac-ispell))

(define-public emacs-minimal-ac-ispell
  (package-with-emacs-minimal emacs-ac-ispell))

(define-public emacs-pgtk-ac-ispell
  (package-with-emacs-pgtk emacs-ac-ispell))
#+end_src

without the org-mode code block.

Cheers




^ permalink raw reply	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP 0/4] Simplify creation of emacs package variants
  2024-08-01 16:54       ` Liliana Marie Prikler
@ 2024-08-01 19:40         ` Suhail Singh
  0 siblings, 0 replies; 44+ messages in thread
From: Suhail Singh @ 2024-08-01 19:40 UTC (permalink / raw)
  To: Liliana Marie Prikler
  Cc: 72406, gemmaro.dev, cox.katherine.e+guix, Suhail Singh, andrew

Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

> There's a snippet included – starting at the top of emacs-xyz with
> emacs-ac-ispell, it yields
>
> #+begin_src scheme
> (define-public emacs-next-ac-ispell
>   (package-with-emacs-next emacs-ac-ispell))
>
> (define-public emacs-minimal-ac-ispell
>   (package-with-emacs-minimal emacs-ac-ispell))
>
> (define-public emacs-pgtk-ac-ispell
>   (package-with-emacs-pgtk emacs-ac-ispell))
> #+end_src
>
> without the org-mode code block.

Thank you for elaborating.  I had difficulty understanding the template.
This looks good.  It's not too verbose, and yet still greppable.

-- 
Suhail




^ permalink raw reply	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 01/24] build-system: emacs: Define package-with-explicit-emacs.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-09-03 15:18     ` Simon Tournier
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 02/24] build-system: emacs: Make emacs the default variant Liliana Marie Prikler
                     ` (23 subsequent siblings)
  24 siblings, 1 reply; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2967 bytes --]

* guix/build-system/emacs.scm (package-with-explicit-emacs): New procedure.
---
 guix/build-system/emacs.scm | 51 +++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/guix/build-system/emacs.scm b/guix/build-system/emacs.scm
index ebf97a5344..3a11738496 100644
--- a/guix/build-system/emacs.scm
+++ b/guix/build-system/emacs.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
 ;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
+;;; Copyright © 2024 Liliana Marie Prikler <liliana.prikler@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -128,4 +129,54 @@ (define emacs-build-system
     (description "The build system for Emacs packages")
     (lower lower)))
 
+(define* (package-with-explicit-emacs emacs old-prefix new-prefix
+                                      #:key variant-property)
+  "Return a procedure of one argument, P.  The procedure creates a package with
+the same fields as P, which is assumed to use EMACS-BUILD-SYSTEM, such that
+it is compiled with EMACS instead.  The inputs are changed recursively
+accordingly.  If the name of P starts with OLD-PREFIX, this is replaced by
+NEW-PREFIX; otherwise, NEW-PREFIX is prepended to the name.
+
+When VARIANT-PROPERTY is present, it is used as a key to search for
+pre-defined variants of this transformation recorded in the 'properties' field
+of packages.  The property value must be the promise of a package.  This is a
+convenient way for package writers to force the transformation to use
+pre-defined variants."
+  (define package-variant
+    (if variant-property
+        (lambda (package)
+          (assq-ref (package-properties package)
+                    variant-property))
+        (const #f)))
+
+  (define (transform pkg)
+    (cond
+     ;; If VARIANT-PROPERTY is present, use that.
+     ((package-variant pkg)
+      => force)
+
+     ;; Otherwise build the new package object graph.
+     ((eq? (package-build-system pkg) emacs-build-system)
+      (package/inherit pkg
+        (location (package-location pkg))
+        (name (let ((name (package-name pkg)))
+                (string-append new-prefix
+                               (if (string-prefix? old-prefix name)
+                                   (substring name
+                                              (string-length old-prefix))
+                                   name))))
+        (arguments
+         (let ((emacs (if (promise? emacs)
+                          (force emacs)
+                          emacs)))
+           (ensure-keyword-arguments (package-arguments pkg)
+                                     `(#:emacs ,emacs))))))
+     (else pkg)))
+
+  (define (cut? pkg)
+    (or (not (eq? (package-build-system pkg) emacs-build-system))
+        (package-variant pkg)))
+
+  (package-mapping transform cut?))
+
 ;;; emacs.scm ends here
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 02/24] build-system: emacs: Make emacs the default variant.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 01/24] build-system: emacs: Define package-with-explicit-emacs Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-09-03 15:29     ` Simon Tournier
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 03/24] build-system: emacs: Define common variants Liliana Marie Prikler
                     ` (22 subsequent siblings)
  24 siblings, 1 reply; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* guix/build-system/emacs.scm (resolve-emacs): New variable.
(default-emacs): Use it.  Change to ‘emacs’ instead of ‘emacs-minimal’.
---
 guix/build-system/emacs.scm | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/guix/build-system/emacs.scm b/guix/build-system/emacs.scm
index 3a11738496..88304b9ce1 100644
--- a/guix/build-system/emacs.scm
+++ b/guix/build-system/emacs.scm
@@ -49,11 +49,13 @@ (define %emacs-build-system-modules
     (guix build emacs-utils)
     ,@%gnu-build-system-modules))
 
-(define (default-emacs)
-  "Return the default Emacs package."
+(define* (resolve-emacs name)
+  "Lazily resolve the emacs package by variable NAME."
   ;; Lazily resolve the binding to avoid a circular dependency.
   (let ((emacs-mod (resolve-interface '(gnu packages emacs))))
-    (module-ref emacs-mod 'emacs-minimal)))
+    (module-ref emacs-mod name)))
+
+(define (default-emacs) (resolve-emacs 'emacs))
 
 (define* (lower name
                 #:key source inputs native-inputs outputs system target
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 03/24] build-system: emacs: Define common variants.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 01/24] build-system: emacs: Define package-with-explicit-emacs Liliana Marie Prikler
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 02/24] build-system: emacs: Make emacs the default variant Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-09-03 15:21     ` Simon Tournier
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 04/24] build-system: emacs: Handle variants in elpa naming Liliana Marie Prikler
                     ` (21 subsequent siblings)
  24 siblings, 1 reply; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* guix/build-system/emacs.scm (package-with-emacs-minimal)
(package-with-emacs-next, package-with-emacs-pgtk): New variables.
---
 guix/build-system/emacs.scm | 29 ++++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/guix/build-system/emacs.scm b/guix/build-system/emacs.scm
index 88304b9ce1..9ab8b493a7 100644
--- a/guix/build-system/emacs.scm
+++ b/guix/build-system/emacs.scm
@@ -31,7 +31,13 @@ (define-module (guix build-system emacs)
   #:use-module (guix build-system gnu)
   #:export (%emacs-build-system-modules
             emacs-build
-            emacs-build-system)
+            emacs-build-system
+            package-with-explicit-emacs
+            ;; Common variants.
+            package-with-emacs-minimal
+            package-with-emacs-next
+            package-with-emacs-no-x-toolkit
+            package-with-emacs-pgtk)
   #:re-export (%default-include         ;for convenience
                %default-exclude))
 
@@ -181,4 +187,25 @@ (define* (package-with-explicit-emacs emacs old-prefix new-prefix
 
   (package-mapping transform cut?))
 
+(define package-with-emacs-minimal
+  (package-with-explicit-emacs (delay (resolve-emacs 'emacs-minimal))
+                               "emacs-" "emacs-minimal-"
+                               #:variant-property 'emacs-minimal-variant))
+
+(define package-with-emacs-next
+  (package-with-explicit-emacs (delay (resolve-emacs 'emacs-next))
+                               "emacs-" "emacs-next-"
+                               #:variant-property 'emacs-next-variant))
+
+;; We prefer emacs-minimal, but sometimes the "minimal" variant still needs
+;; X support.
+(define package-with-emacs-no-x-toolkit
+  (package-with-explicit-emacs (delay (resolve-emacs 'emacs-no-x-toolkit))
+                               "emacs-" "emacs-no-x-toolkit-"))
+
+(define package-with-emacs-pgtk
+  (package-with-explicit-emacs (delay (resolve-emacs 'emacs-pgtk))
+                               "emacs-" "emacs-pgtk-"
+                               #:variant-property 'emacs-pgtk-variant))
+
 ;;; emacs.scm ends here
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 04/24] build-system: emacs: Handle variants in elpa naming.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
                     ` (2 preceding siblings ...)
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 03/24] build-system: emacs: Define common variants Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 05/24] etc: Provide snippet for defining emacs variants Liliana Marie Prikler
                     ` (20 subsequent siblings)
  24 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* guix/build/emacs-build-system.scm (%emacs-prefix): New variable.
(package-name-version->elpa-name-version): Infer the prefix to strip from the
emacs used to compile the package.
---
 guix/build/emacs-build-system.scm | 25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)

diff --git a/guix/build/emacs-build-system.scm b/guix/build/emacs-build-system.scm
index aa083c6409..1894ac4c23 100644
--- a/guix/build/emacs-build-system.scm
+++ b/guix/build/emacs-build-system.scm
@@ -316,16 +316,29 @@ (define* (validate-compiled-autoloads #:key outputs #:allow-other-keys)
          (autoloads (find-files out "-autoloads.elc$")))
     (emacs-batch-eval (format #f "(mapc #'load '~s)" autoloads))))
 
-(define (emacs-package? name)
-  "Check if NAME correspond to the name of an Emacs package."
-  (string-prefix? "emacs-" name))
+(define %emacs-prefix
+  (make-parameter #f))
 
 (define (package-name-version->elpa-name-version name-ver)
   "Convert the Guix package NAME-VER to the corresponding ELPA name-version
 format.  Essentially drop the prefix used in Guix."
-  (if (emacs-package? name-ver)  ; checks for "emacs-" prefix
-      (string-drop name-ver (string-length "emacs-"))
-      name-ver))
+  ;; Get the preferred emacs prefix
+  (or (%emacs-prefix)
+      (%emacs-prefix
+       (let ((emacs (if (string-prefix? "/" (%emacs)) ; absolute file name
+                        (%emacs)
+                        (which "emacs"))))
+         (string-append
+          (package-name->name+version
+           (strip-store-file-name (dirname (dirname emacs))))
+          "-"))))
+
+  (cond
+   ((string-prefix? (%emacs-prefix) name-ver)
+    (string-drop name-ver (string-length (%emacs-prefix))))
+   ((string-prefix? "emacs-" name-ver)
+    (string-drop name-ver (string-length "emacs-")))
+   (else name-ver)))
 
 (define (store-directory->elpa-name-version store-dir)
   "Given a store directory STORE-DIR return the part of the basename after the
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 05/24] etc: Provide snippet for defining emacs variants.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
                     ` (3 preceding siblings ...)
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 04/24] build-system: emacs: Handle variants in elpa naming Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 06/24] gnu: emacs-libgit: Build variants Liliana Marie Prikler
                     ` (19 subsequent siblings)
  24 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* etc/snippets/tempel/scheme-mode (emacs-variants...): New snippet.
---
 etc/snippets/tempel/scheme-mode | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/etc/snippets/tempel/scheme-mode b/etc/snippets/tempel/scheme-mode
index 249f4ce8e3..b8237d1ef5 100644
--- a/etc/snippets/tempel/scheme-mode
+++ b/etc/snippets/tempel/scheme-mode
@@ -14,6 +14,14 @@ scheme-mode
  n  > "(description \"" p "\")"
  n  > "(license license:" (p "unknown") ")))" n)
 
+(emacs-variants...
+ "(define-public emacs-minimal-" (s name)
+ n> "(package-with-emacs-minimal emacs-" (s name) "))" n n
+ "(define-public emacs-next-" (s name)
+ n> "(package-with-emacs-next emacs-" (s name) "))" n n
+ "(define-public emacs-pgtk-" (s name)
+ n> "(package-with-emacs-pgtk emacs-" (s name) "))")
+
 (origin...
  "(origin"
  n> "(method " (p "url-fetch" method) ")"
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 06/24] gnu: emacs-libgit: Build variants.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
                     ` (4 preceding siblings ...)
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 05/24] etc: Provide snippet for defining emacs variants Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-09-03 15:32     ` Simon Tournier
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 07/24] gnu: emacs-eweouz: " Liliana Marie Prikler
                     ` (18 subsequent siblings)
  24 siblings, 1 reply; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (emacs-libgit)[native-inputs]: Replace emacs-no-x
with emacs.
[properties]: Add ‘next-variant’ and ‘pgtk-variant’.
(emacs-next-libgit, emacs-pgtk-libgit): New variables.
---
 gnu/packages/emacs-xyz.scm | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 2ff1ed4bf0..ce92c12885 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -56,7 +56,7 @@
 ;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
 ;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
 ;;; Copyright © 2019 Stephen Webber <montokapro@gmail.com>
-;;; Copyright © 2019, 2021 Liliana Marie Prikler <liliana.prikler@gmail.com>
+;;; Copyright © 2019, 2021, 2024 Liliana Marie Prikler <liliana.prikler@gmail.com>
 ;;; Copyright © 2019 David Wilson <david@daviwil.com>
 ;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com>
 ;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
@@ -1645,14 +1645,29 @@ (define-public emacs-libgit
             (add-after 'emacs-build 'validate-compiled-autoloads
               (assoc-ref emacs:%standard-phases 'validate-compiled-autoloads)))))
       (native-inputs
-       (list emacs-no-x git-minimal pkg-config))
+       (list emacs git-minimal pkg-config))
       (inputs
        (list libgit2))
       (home-page "https://github.com/magit/libegit2")
       (synopsis "Emacs bindings for libgit2")
       (description "This is an experimental module written in C providing
 libgit2 bindings for Emacs, intended to boost the performance of Magit.")
-      (license license:gpl2+))))
+      (license license:gpl2+)
+      (properties
+       `((next-variant . ,(delay emacs-next-libgit))
+         (pgtk-variant . ,(delay emacs-pgtk-libgit)))))))
+
+(define-public emacs-next-libgit
+  (package/inherit emacs-libgit
+    (name "emacs-next-libgit")
+    (native-inputs (modify-inputs (package-inputs emacs-libgit)
+                     (replace "emacs" emacs-next)))))
+
+(define-public emacs-pgtk-libgit
+  (package/inherit emacs-libgit
+    (name "emacs-pgtk-libgit")
+    (native-inputs (modify-inputs (package-inputs emacs-libgit)
+                     (replace "emacs" emacs-pgtk)))))
 
 (define-public emacs-llm
   (package
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 08/24] gnu: emacs-tablist: Define variants.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
                     ` (6 preceding siblings ...)
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 07/24] gnu: emacs-eweouz: " Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 09/24] gnu: emacs-pdf-tools: Build variants Liliana Marie Prikler
                     ` (16 subsequent siblings)
  24 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (emacs-minimal-tablist, emacs-next-tablist)
(emacs-pgtk-tablist): New variables.
---
 gnu/packages/emacs-xyz.scm | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 0ec3d4a240..f1fa21e034 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -5788,6 +5788,15 @@ (define-public emacs-tablist
 @code{tablist-mode} or @code{tablist-minor-mode} commands.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-tablist
+  (package-with-emacs-minimal emacs-tablist))
+
+(define-public emacs-next-tablist
+  (package-with-emacs-next emacs-tablist))
+
+(define-public emacs-pgtk-tablist
+  (package-with-emacs-pgtk emacs-tablist))
+
 (define-public emacs-djvu
   (package
     (name "emacs-djvu")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 10/24] gnu: emacs-fontaine: Reindent.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
                     ` (8 preceding siblings ...)
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 09/24] gnu: emacs-pdf-tools: Build variants Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 14/24] gnu: emacs-geiser: Define variants Liliana Marie Prikler
                     ` (14 subsequent siblings)
  24 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (emacs-fontaine): Reindent.
---
 gnu/packages/emacs-xyz.scm | 38 +++++++++++++++++++-------------------
 1 file changed, 19 insertions(+), 19 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 68520a2622..9e4a050378 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -5341,26 +5341,26 @@ (define-public emacs-font-lock-studio
 the Font Lock keywords.")
       (license license:gpl3+))))
 
- (define-public emacs-fontaine
-   (package
-     (name "emacs-fontaine")
-     (version "2.0.0")
-     (source (origin
-               (method git-fetch)
-               (uri (git-reference
-                     (url "https://github.com/protesilaos/fontaine")
-                     (commit version)))
-               (file-name (git-file-name name version))
-               (sha256
-                (base32
-                 "1fm6lw1jyy5vv314y2qhzcav9fmpgf333xrlwfdyi86z6z6f2fyy"))))
-     (build-system emacs-build-system)
-     (home-page "https://github.com/protesilaos/fontaine")
-     (synopsis "Set Emacs font configurations using presets")
-     (description
-      "Fontaine lets the user specify presets of font configurations
+(define-public emacs-fontaine
+  (package
+    (name "emacs-fontaine")
+    (version "2.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/protesilaos/fontaine")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1fm6lw1jyy5vv314y2qhzcav9fmpgf333xrlwfdyi86z6z6f2fyy"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/protesilaos/fontaine")
+    (synopsis "Set Emacs font configurations using presets")
+    (description
+     "Fontaine lets the user specify presets of font configurations
 and set them on demand on graphical Emacs frames.")
-     (license license:gpl3+)))
+    (license license:gpl3+)))
 
 (define-public emacs-form-feed
   (package
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 07/24] gnu: emacs-eweouz: Build variants.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
                     ` (5 preceding siblings ...)
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 06/24] gnu: emacs-libgit: Build variants Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-09-03 15:47     ` Simon Tournier
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 08/24] gnu: emacs-tablist: Define variants Liliana Marie Prikler
                     ` (17 subsequent siblings)
  24 siblings, 1 reply; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (emacs-eweouz)[native-inputs]: Replace
emacs-minimal with emacs.
[properties]: Add ‘minimal-variant’, ‘next-variant’ and ‘pgtk-variant’.
(emacs-minimal-eweouz, emacs-next-eweouz, emacs-pgtk-eweouz): New variables.
---
 gnu/packages/emacs-xyz.scm | 26 ++++++++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index ce92c12885..0ec3d4a240 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -4210,7 +4210,7 @@ (define-public emacs-eweouz
     (native-inputs
      (list autoconf
            automake
-           emacs-minimal
+           emacs
            pkg-config))
     (inputs
      (list evolution-data-server))
@@ -4220,7 +4220,29 @@ (define-public emacs-eweouz
      "Eweouz is an tool for looking up contacts from Evolution Data Server
 from Emacs.  It is similar to BBDB, except much, much simpler.")
     ;; Most things are GPLv2-only although lisp/vcard.el is GPLv2+.
-    (license (list license:gpl2 license:gpl2+))))
+    (license (list license:gpl2 license:gpl2+))
+    (properties
+     `((minimal-variant . ,(delay emacs-minimal-eweouz))
+       (next-variant . ,(delay emacs-next-eweouz))
+       (pgtk-variant . ,(delay emacs-pgtk-eweouz))))))
+
+(define-public emacs-minimal-eweouz
+  (package/inherit emacs-eweouz
+    (name "emacs-minimal-eweouz")
+    (native-inputs (modify-inputs (package-native-inputs emacs-eweouz)
+                     (replace "emacs" emacs-minimal)))))
+
+(define-public emacs-next-eweouz
+  (package/inherit emacs-eweouz
+    (name "emacs-next-eweouz")
+    (native-inputs (modify-inputs (package-native-inputs emacs-eweouz)
+                     (replace "emacs" emacs-next)))))
+
+(define-public emacs-pgtk-eweouz
+  (package/inherit emacs-eweouz
+    (name "emacs-pgtk-eweouz")
+    (native-inputs (modify-inputs (package-native-inputs emacs-eweouz)
+                     (replace "emacs" emacs-pgtk)))))
 
 (define-public emacs-beacon
   (package
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 09/24] gnu: emacs-pdf-tools: Build variants.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
                     ` (7 preceding siblings ...)
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 08/24] gnu: emacs-tablist: Define variants Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 10/24] gnu: emacs-fontaine: Reindent Liliana Marie Prikler
                     ` (15 subsequent siblings)
  24 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (emacs-pdf-tools)[native-inputs]: Replace
emacs-minimal with emacs.
[properties]: Add ‘minimal-variant’, ‘next-variant’ and ‘pgtk-variant’.
(emacs-minimal-pdf-tools, emacs-next-pdf-tools, emacs-pgtk-pdf-tools):
New variables.
---
 gnu/packages/emacs-xyz.scm | 29 +++++++++++++++++++++++++++--
 1 file changed, 27 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index f1fa21e034..68520a2622 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -5963,7 +5963,7 @@ (define-public emacs-pdf-tools
          (add-after 'emacs-install 'emacs-build
            (assoc-ref emacs:%standard-phases 'build)))))
     (native-inputs
-     (list autoconf automake emacs-minimal pkg-config))
+     (list autoconf automake emacs pkg-config))
     (inputs
      (list cairo glib libpng poppler zlib))
     (propagated-inputs
@@ -5975,7 +5975,32 @@ (define-public emacs-pdf-tools
 files.  The key difference is that pages are not pre-rendered by
 e.g. ghostscript and stored in the file-system, but rather created on-demand
 and stored in memory.")
-    (license license:gpl3+)))
+    (license license:gpl3+)
+    (properties
+     `((minimal-variant . ,(delay emacs-minimal-pdf-tools))
+       (next-variant . ,(delay emacs-next-pdf-tools))
+       (pgtk-variant . ,(delay emacs-pgtk-pdf-tools))))))
+
+(define-public emacs-minimal-pdf-tools
+  (package/inherit emacs-pdf-tools
+    (name "emacs-minimal-pdf-tools")
+    (native-inputs (modify-inputs (package-native-inputs emacs-pdf-tools)
+                     (replace "emacs" emacs-minimal)))
+    (propagated-inputs (list emacs-minimal-tablist))))
+
+(define-public emacs-next-pdf-tools
+  (package/inherit emacs-pdf-tools
+    (name "emacs-next-pdf-tools")
+    (native-inputs (modify-inputs (package-native-inputs emacs-pdf-tools)
+                     (replace "emacs" emacs-next)))
+    (propagated-inputs (list emacs-next-tablist))))
+
+(define-public emacs-pgtk-pdf-tools
+  (package/inherit emacs-pdf-tools
+    (name "emacs-pgtk-pdf-tools")
+    (native-inputs (modify-inputs (package-native-inputs emacs-pdf-tools)
+                     (replace "emacs" emacs-pgtk)))
+    (propagated-inputs (list emacs-pgtk-tablist))))
 
 (define-public emacs-saveplace-pdf-view
   (package
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 12/24] gnu: emacs-dash: Define variants.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
                     ` (10 preceding siblings ...)
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 14/24] gnu: emacs-geiser: Define variants Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 11/24] gnu: emacs-bui: " Liliana Marie Prikler
                     ` (12 subsequent siblings)
  24 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (emacs-minimal-dash, emacs-next-dash)
(emacs-pgtk-dash): New variables.
---
 gnu/packages/emacs-xyz.scm | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 9abfd79421..4e51e6378b 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -6113,6 +6113,15 @@ (define-public emacs-dash
     (description "This package provides a modern list API library for Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-dash
+  (package-with-emacs-minimal emacs-dash))
+
+(define-public emacs-next-dash
+  (package-with-emacs-next emacs-dash))
+
+(define-public emacs-pgtk-dash
+  (package-with-emacs-pgtk emacs-dash))
+
 (define-public emacs-bui
   (package
     (name "emacs-bui")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 13/24] gnu: emacs-edit-indirect: Define variants.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
                     ` (12 preceding siblings ...)
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 11/24] gnu: emacs-bui: " Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 19/24] gnu: emacspeak: Build variants Liliana Marie Prikler
                     ` (10 subsequent siblings)
  24 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (emacs-minimal-edit-indirect)
(emacs-next-edit-indirect, emacs-pgtk-edit-indirect): New variables.
---
 gnu/packages/emacs-xyz.scm | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 4e51e6378b..0cfcbec930 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -14905,6 +14905,15 @@ (define-public emacs-edit-indirect
 like @code{org-edit-src-code} but for arbitrary regions.")
     (license license:bsd-2)))
 
+(define-public emacs-minimal-edit-indirect
+  (package-with-emacs-minimal emacs-edit-indirect))
+
+(define-public emacs-next-edit-indirect
+  (package-with-emacs-next emacs-edit-indirect))
+
+(define-public emacs-pgtk-edit-indirect
+  (package-with-emacs-pgtk emacs-edit-indirect))
+
 (define-public emacs-projectile
   (package
     (name "emacs-projectile")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 11/24] gnu: emacs-bui: Define variants.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
                     ` (11 preceding siblings ...)
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 12/24] gnu: emacs-dash: " Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 13/24] gnu: emacs-edit-indirect: " Liliana Marie Prikler
                     ` (11 subsequent siblings)
  24 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (emacs-minimal-bui, emacs-next-bui)
(emacs-pgtk-bui): New variables.
---
 gnu/packages/emacs-xyz.scm | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 9e4a050378..9abfd79421 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -6137,6 +6137,15 @@ (define-public emacs-bui
 type, for example: packages, buffers, files, etc.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-bui
+  (package-with-emacs-minimal emacs-bui))
+
+(define-public emacs-next-bui
+  (package-with-emacs-next emacs-bui))
+
+(define-public emacs-pgtk-bui
+  (package-with-emacs-pgtk emacs-bui))
+
 (define-public emacs-guix
   (let ((commit "455272c5cc72ed4ba5bad13c669f024f51479a58")
         (revision "7"))
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 14/24] gnu: emacs-geiser: Define variants.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
                     ` (9 preceding siblings ...)
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 10/24] gnu: emacs-fontaine: Reindent Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 12/24] gnu: emacs-dash: " Liliana Marie Prikler
                     ` (13 subsequent siblings)
  24 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (emacs-minimal-geiser, emacs-next-geiser)
(emacs-pgtk-geiser): New variables.
---
 gnu/packages/emacs-xyz.scm | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 0cfcbec930..2004aeabb9 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -541,6 +541,15 @@ (define-public emacs-geiser
 e.g. emacs-geiser-guile for Guile.")
     (license license:bsd-3)))
 
+(define-public emacs-minimal-geiser
+  (package-with-emacs-minimal emacs-geiser))
+
+(define-public emacs-next-geiser
+  (package-with-emacs-next emacs-geiser))
+
+(define-public emacs-pgtk-geiser
+  (package-with-emacs-pgtk emacs-geiser))
+
 (define-public emacs-gptel
   (package
     (name "emacs-gptel")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 15/24] gnu: emacs-geiser-guile: Define variants.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
                     ` (16 preceding siblings ...)
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 16/24] gnu: emacs-magit-popup: Define variants Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 20/24] gnu: emacs-xelb: Build variants Liliana Marie Prikler
                     ` (6 subsequent siblings)
  24 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (emacs-minimal-geiser-guile)
(emacs-next-geiser-guile, emacs-pgtk-geiser-guile): New variables.
---
 gnu/packages/emacs-xyz.scm | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 2004aeabb9..e4b78e482b 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -651,6 +651,15 @@ (define-public emacs-geiser-guile
 a generic Scheme interaction mode for the GNU Emacs editor.")
     (license license:bsd-3)))
 
+(define-public emacs-minimal-geiser-guile
+  (package-with-emacs-minimal emacs-geiser-guile))
+
+(define-public emacs-next-geiser-guile
+  (package-with-emacs-next emacs-geiser-guile))
+
+(define-public emacs-pgtk-geiser-guile
+  (package-with-emacs-pgtk emacs-geiser-guile))
+
 (define-public emacs-ac-geiser
   (let ((commit "93818c936ee7e2f1ba1b315578bde363a7d43d05")
         (revision "0"))
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 20/24] gnu: emacs-xelb: Build variants.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
                     ` (17 preceding siblings ...)
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 15/24] gnu: emacs-geiser-guile: " Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 18/24] [WIP] gnu: emacs-dvc: " Liliana Marie Prikler
                     ` (5 subsequent siblings)
  24 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (emacs-xelb)[arguments]: Drop #:emacs.
[properties]: Add ‘minimal-variant’.
(emacs-no-x-toolkit-xelb, emacs-next-xelb, emacs-pgtk-xelb): New variables.
(emacs-xelb-no-x-toolkit): Deprecate in favour of emacs-no-x-toolkit-xelb.
---
 gnu/packages/emacs-xyz.scm | 26 +++++++++++++++++++-------
 1 file changed, 19 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 22c21340bc..b825cd26e0 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -20237,14 +20237,8 @@ (define-public emacs-xelb
                (base32
                 "12ikrnvik1n1fdc6ixx53d0z84v269wi463380k0i5zb6q8ncwpk"))))
     (build-system emacs-build-system)
-    ;; The following functions and variables needed by emacs-xelb are
-    ;; not included in emacs-minimal:
-    ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
-    ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
-    ;; x-display-pixel-width, x-display-pixel-height
     (arguments
      (list
-      #:emacs emacs
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'expand-load-path 'regenerate-el-files
@@ -20265,7 +20259,25 @@ (define-public emacs-xelb
 X11 protocol based on the XML description files from the XCB project.  It
 features an object-oriented API and permits a certain degree of concurrency.
 It should enable you to implement low-level X11 applications.")
-    (license license:gpl3+)))
+    (license license:gpl3+)
+    ;; The following functions and variables needed by emacs-xelb are
+    ;; not included in emacs-minimal:
+    ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
+    ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
+    ;; x-display-pixel-width, x-display-pixel-height
+    (properties `((minimal-variant . ,(delay emacs-no-x-toolkit-xelb))))))
+
+(define-public emacs-next-xelb
+  (package-with-emacs-next emacs-xelb))
+
+(define-public emacs-pgtk-xelb
+  (package-with-emacs-pgtk emacs-xelb))
+
+(define-public emacs-no-x-toolkit-xelb
+  (package-with-emacs-no-x-toolkit emacs-xelb))
+
+(define-public emacs-xelb-no-x-toolkit
+  (deprecated-package "emacs-xelb-no-x-toolkit" emacs-no-x-toolkit-xelb))
 
 (define-public emacs-exwm
   (package
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 17/24] gnu: emacs-guix: Build variants.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
                     ` (14 preceding siblings ...)
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 19/24] gnu: emacspeak: Build variants Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 16/24] gnu: emacs-magit-popup: Define variants Liliana Marie Prikler
                     ` (8 subsequent siblings)
  24 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (emacs-guix)[native-inputs]: Replace
emacs-minimal with emacs.
[properties]: Add ‘minimal-variant’, ‘next-variant’ and ‘pgtk-variant’.
(emacs-minimal-guix, emacs-next-guix, emacs-pgtk-guix): New variables.
---
 gnu/packages/emacs-xyz.scm | 47 ++++++++++++++++++++++++++++++++++++--
 1 file changed, 45 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index d10b2c0f1b..764b535d45 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -6216,7 +6216,7 @@ (define-public emacs-guix
                 ((assoc-ref emacs:%standard-phases 'expand-load-path)
                  #:prepend-source? #f))))))
       (native-inputs
-       (list autoconf automake emacs-minimal pkg-config texinfo))
+       (list autoconf automake emacs pkg-config texinfo))
       (inputs
        (list (lookup-package-input guix "guile")
              guix))
@@ -6235,7 +6235,50 @@ (define-public emacs-guix
 Guix package manager.  Particularly, it allows you to do various package
 management tasks from Emacs.  To begin with, run @code{M-x guix-about} or
 @code{M-x guix-help} command.")
-      (license license:gpl3+))))
+      (license license:gpl3+)
+      (properties
+       `((minimal-variant . ,(delay emacs-minimal-pdf-tools))
+         (next-variant . ,(delay emacs-next-pdf-tools))
+         (pgtk-variant . ,(delay emacs-pgtk-pdf-tools)))))))
+
+(define-public emacs-minimal-guix
+  (package/inherit emacs-guix
+    (name "emacs-minimal-guix")
+    (native-inputs (modify-inputs (package-native-inputs emacs-guix)
+                     (replace "emacs" emacs-minimal)))
+    (propagated-inputs (list emacs-minimal-bui
+                             emacs-minimal-dash
+                             emacs-minimal-edit-indirect
+                             emacs-minimal-geiser
+                             emacs-minimal-geiser-guile
+                             emacs-minimal-magit-popup
+                             guile-gcrypt))))
+
+(define-public emacs-next-guix
+  (package/inherit emacs-guix
+    (name "emacs-next-guix")
+    (native-inputs (modify-inputs (package-native-inputs emacs-guix)
+                     (replace "emacs" emacs-next)))
+    (propagated-inputs (list emacs-next-bui
+                             emacs-next-dash
+                             emacs-next-edit-indirect
+                             emacs-next-geiser
+                             emacs-next-geiser-guile
+                             emacs-next-magit-popup
+                             guile-gcrypt))))
+
+(define-public emacs-pgtk-guix
+  (package/inherit emacs-guix
+    (name "emacs-pgtk-guix")
+    (native-inputs (modify-inputs (package-native-inputs emacs-guix)
+                     (replace "emacs" emacs-pgtk)))
+    (propagated-inputs (list emacs-pgtk-bui
+                             emacs-pgtk-dash
+                             emacs-pgtk-edit-indirect
+                             emacs-pgtk-geiser
+                             emacs-pgtk-geiser-guile
+                             emacs-pgtk-magit-popup
+                             guile-gcrypt))))
 
 (define-public emacs-build-farm
   (package
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 16/24] gnu: emacs-magit-popup: Define variants.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
                     ` (15 preceding siblings ...)
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 17/24] gnu: emacs-guix: " Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 15/24] gnu: emacs-geiser-guile: " Liliana Marie Prikler
                     ` (7 subsequent siblings)
  24 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (emacs-minimal-magit-popup)
(emacs-next-magit-popup, emacs-pgtk-magit-popup): New variables.
---
 gnu/packages/emacs-xyz.scm | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index e4b78e482b..d10b2c0f1b 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1854,6 +1854,15 @@ (define-public emacs-magit-popup
 process, passing on the arguments as command line arguments.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-magit-popup
+  (package-with-emacs-minimal emacs-magit-popup))
+
+(define-public emacs-next-magit-popup
+  (package-with-emacs-next emacs-magit-popup))
+
+(define-public emacs-pgtk-magit-popup
+  (package-with-emacs-pgtk emacs-magit-popup))
+
 (define-public emacs-magit-annex
   (package
     (name "emacs-magit-annex")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 19/24] gnu: emacspeak: Build variants.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
                     ` (13 preceding siblings ...)
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 13/24] gnu: emacs-edit-indirect: " Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 17/24] gnu: emacs-guix: " Liliana Marie Prikler
                     ` (9 subsequent siblings)
  24 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (emacspeak)[properties]: Add ‘minimal-variant’,
‘next-variant’ and ‘pgtk-variant’.
(emacspeak-minimal, emacspeak-next, emacspeak-pgtk): New variables.
---
 gnu/packages/emacs-xyz.scm | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index f0fb00a697..22c21340bc 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -19296,7 +19296,29 @@ (define-public emacspeak
 information.  By seamlessly blending all aspects of the Internet such as
 Web-surfing and messaging, Emacspeak speech-enables local and remote
 information via a consistent and well-integrated user interface.")
-    (license license:gpl2+)))
+    (license license:gpl2+)
+    (properties
+     `((minimal-variant . ,(delay emacspeak-minimal))
+       (next-variant . ,(delay emacspeak-next))
+       (pgtk-variant . ,(delay emacspeak-pgtk))))))
+
+(define-public emacspeak-minimal
+  (package (inherit emacspeak)
+           (name "emacspeak-minimal")
+           (inputs (modify-inputs (package-inputs emacspeak)
+                     (replace "emacs" emacs-minimal)))))
+
+(define-public emacspeak-next
+  (package (inherit emacspeak)
+           (name "emacspeak-next")
+           (inputs (modify-inputs (package-inputs emacspeak)
+                     (replace "emacs" emacs-next)))))
+
+(define-public emacspeak-pgtk
+  (package (inherit emacspeak)
+           (name "emacspeak-pgtk")
+           (inputs (modify-inputs (package-inputs emacspeak)
+                     (replace "emacs" emacs-pgtk)))))
 
 (define-public emacs-adaptive-wrap
   (package
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 18/24] [WIP] gnu: emacs-dvc: Build variants.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
                     ` (18 preceding siblings ...)
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 20/24] gnu: emacs-xelb: Build variants Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 24/24] gnu: Build all the other emacs-* variants Liliana Marie Prikler
                     ` (4 subsequent siblings)
  24 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

XXX: Only emacs-minimal-dvc and emacs-next-dvc build currently.

* gnu/packages/emacs-xyz.scm (emacs-dvc)[native-inputs]: Replace
emacs-minimal with emacs.
[properties]: Add ‘minimal-variant’, ‘next-variant’ and ‘pgtk-variant’.
(emacs-minimal-dvc, emacs-next-dvc, emacs-pgtk-dvc): New variables.
---
 gnu/packages/emacs-xyz.scm | 26 ++++++++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 764b535d45..f0fb00a697 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -9349,14 +9349,36 @@ (define-public emacs-dvc
                   (("@itemx drop") "@item drop")
                   (("@itemx left file") "@item left file")))))))
       (native-inputs
-       (list autoconf automake emacs-minimal texinfo))
+       (list autoconf automake emacs texinfo))
       (home-page "http://xsteve.at/prg/emacs_dvc/index.html")
       (synopsis "Emacs front-end for various distributed version control systems")
       (description "DVC is a legacy Emacs front-end for a number of
 distributed version control systems.  It currently supports GNU Arch, GNU
 Bazaar, git, Mercurial, and Monotone.  It also provides some integration with
 Gnus, e.g., for applying patches received by email.")
-      (license license:gpl2+))))
+      (license license:gpl2+)
+      (properties
+       `((minimal-variant . ,(delay emacs-minimal-dvc))
+         (next-variant . ,(delay emacs-next-dvc))
+         (pgtk-variant . ,(delay emacs-pgtk-dvc)))))))
+
+(define-public emacs-minimal-dvc
+  (package/inherit emacs-dvc
+    (name "emacs-minimal-dvc")
+    (native-inputs (modify-inputs (package-native-inputs emacs-dvc)
+                     (replace "emacs" emacs-minimal)))))
+
+(define-public emacs-next-dvc
+  (package/inherit emacs-dvc
+    (name "emacs-next-dvc")
+    (native-inputs (modify-inputs (package-native-inputs emacs-dvc)
+                     (replace "emacs" emacs-next)))))
+
+(define-public emacs-pgtk-dvc
+  (package/inherit emacs-dvc
+    (name "emacs-pgtk-dvc")
+    (native-inputs (modify-inputs (package-native-inputs emacs-dvc)
+                     (replace "emacs" emacs-pgtk)))))
 
 (define-public emacs-sudo-edit
   (package
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 22/24] gnu: emacs-exwm-x: Build variants.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
                     ` (21 preceding siblings ...)
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 21/24] gnu: emacs-exwm: Build variants Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 23/24] gnu: eless: " Liliana Marie Prikler
  2024-09-03 15:51   ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Simon Tournier
  24 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (emacs-exwm-x)[arguments]: Drop #:emacs.
[properties]: Add ‘minimal-variant’.
(emacs-no-x-toolkit-exwm-x, emacs-next-exwm-x, emacs-pgtk-exwm-x):
New variables.
---
 gnu/packages/emacs-xyz.scm | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index b63bd372a3..774f18034c 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -20399,11 +20399,8 @@ (define-public emacs-exwm-x
      (list emacs-counsel emacs-exwm emacs-switch-window emacs-use-package))
     (inputs
      (list xhost dbus))
-    ;; Need emacs instead of emacs-minimal,
-    ;; for emacs's bin path will be inserted into bin/exwm-x file.
     (arguments
-     `(#:emacs ,emacs
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
          (add-after 'build 'install-xsession
            (lambda* (#:key inputs outputs #:allow-other-keys)
@@ -20439,7 +20436,18 @@ (define-public emacs-exwm-x
     (home-page "https://github.com/tumashu/exwm-x")
     (description "EXWM-X is a derivative window manager based on EXWM, with focus
 on mouse-control.")
-    (license license:gpl3+)))
+    (license license:gpl3+)
+    ;; Note: emacs binary path will be inserted into the executable.
+    (properties `((minimal-variant . ,(delay emacs-no-x-toolkit-exwm-x))))))
+
+(define-public emacs-no-x-toolkit-exwm-x
+  (package-with-emacs-no-x-toolkit emacs-exwm-x))
+
+(define-public emacs-next-exwm-x
+  (package-with-emacs-next emacs-exwm-x))
+
+(define-public emacs-pgtk-exwm-x
+  (package-with-emacs-pgtk emacs-exwm-x))
 
 (define-public emacs-gnugo
   (package
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 21/24] gnu: emacs-exwm: Build variants.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
                     ` (20 preceding siblings ...)
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 24/24] gnu: Build all the other emacs-* variants Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 22/24] gnu: emacs-exwm-x: " Liliana Marie Prikler
                     ` (2 subsequent siblings)
  24 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (emacs-exwm)[arguments]: Drop #:emacs.
[properties]: Add ‘minimal-variant’.
(emacs-no-x-toolkit-exwm, emacs-next-exwm, emacs-pgtk-exwm): New variables.
(emacs-exwm-no-x-toolkit): Deprecate in favour of emacs-no-x-toolkit-exwm.
---
 gnu/packages/emacs-xyz.scm | 29 +++++++++++------------------
 1 file changed, 11 insertions(+), 18 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index b825cd26e0..b63bd372a3 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -20302,7 +20302,6 @@ (define-public emacs-exwm
     ;; x-display-pixel-width, x-display-pixel-height
     (arguments
      (list
-      #:emacs emacs
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'build 'install-xsession
@@ -20343,26 +20342,20 @@ (define-public emacs-exwm
     (description
      "EXWM is a full-featured tiling X window manager for Emacs built on top
 of XELB.")
-    (license license:gpl3+)))
+    (license license:gpl3+)
+    (properties `((minimal-variant . ,(delay emacs-no-x-toolkit-exwm))))))
 
-(define-public emacs-xelb-no-x-toolkit
-  (package
-    (inherit emacs-xelb)
-    (name "emacs-xelb-no-x-toolkit")
-    (arguments
-     (substitute-keyword-arguments (package-arguments emacs-xelb)
-       ((#:emacs emacs) `,emacs-no-x-toolkit)))))
+(define-public emacs-next-exwm
+  (package-with-emacs-next emacs-exwm))
+
+(define-public emacs-pgtk-exwm
+  (package-with-emacs-pgtk emacs-exwm))
+
+(define-public emacs-no-x-toolkit-exwm
+  (package-with-emacs-no-x-toolkit emacs-exwm))
 
 (define-public emacs-exwm-no-x-toolkit
-  (package
-    (inherit emacs-exwm)
-    (name "emacs-exwm-no-x-toolkit")
-    (synopsis "Emacs X window manager (without an X toolkit)")
-    (propagated-inputs
-     (list emacs-xelb-no-x-toolkit))
-    (arguments
-     (substitute-keyword-arguments (package-arguments emacs-exwm)
-       ((#:emacs emacs) `,emacs-no-x-toolkit)))))
+  (deprecated-package "emacs-exwm-no-x-toolkit" emacs-no-x-toolkit-exwm))
 
 (define-public emacs-switch-window
   (package
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 24/24] gnu: Build all the other emacs-* variants.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
                     ` (19 preceding siblings ...)
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 18/24] [WIP] gnu: emacs-dvc: " Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 21/24] gnu: emacs-exwm: Build variants Liliana Marie Prikler
                     ` (3 subsequent siblings)
  24 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 725832 bytes --]

TODO: Add ChangeLog.
TODO: Add the packages that use emacs-build-system as a second build system
or extract the emacs portions of them.
---
 gnu/packages/admin.scm       |     9 +
 gnu/packages/android.scm     |     9 +
 gnu/packages/cmake.scm       |     9 +
 gnu/packages/databases.scm   |     9 +
 gnu/packages/emacs-xyz.scm   | 12878 ++++++++++++++++++++++++++++++++-
 gnu/packages/engineering.scm |     9 +
 gnu/packages/erlang.scm      |     9 +
 gnu/packages/finance.scm     |    18 +
 gnu/packages/lisp-xyz.scm    |     9 +
 gnu/packages/llvm.scm        |    18 +
 gnu/packages/mail.scm        |     9 +
 gnu/packages/potassco.scm    |     9 +
 gnu/packages/protobuf.scm    |     9 +
 gnu/packages/scheme.scm      |     9 +
 gnu/packages/statistics.scm  |     9 +
 15 files changed, 12996 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 113b8e2481..d3c6b4948c 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -3151,6 +3151,15 @@ (define-public emacs-ansible-doc
 'yaml-mode-hook #'ansible-doc-mode)}.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ansible-doc
+  (package-with-emacs-minimal emacs-ansible-doc))
+
+(define-public emacs-next-ansible-doc
+  (package-with-emacs-next emacs-ansible-doc))
+
+(define-public emacs-pgtk-ansible-doc
+  (package-with-emacs-pgtk emacs-ansible-doc))
+
 (define-public cpulimit
   (package
     (name "cpulimit")
diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index b6f37732b4..bc5676e8aa 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -1256,6 +1256,15 @@ (define-public emacs-fdroid
 emulator inside the comfort of Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-fdroid
+  (package-with-emacs-minimal emacs-fdroid))
+
+(define-public emacs-next-fdroid
+  (package-with-emacs-next emacs-fdroid))
+
+(define-public emacs-pgtk-fdroid
+  (package-with-emacs-pgtk emacs-fdroid))
+
 (define-public enjarify
   (package
     (name "enjarify")
diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 0c780fe420..eb46e65da9 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -437,6 +437,15 @@ (define-public emacs-cmake-mode
 Cmake files.  It supports syntax highlighting, indenting and refilling of
 comments.")))
 
+(define-public emacs-minimal-cmake-mode
+  (package-with-emacs-minimal emacs-cmake-mode))
+
+(define-public emacs-next-cmake-mode
+  (package-with-emacs-next emacs-cmake-mode))
+
+(define-public emacs-pgtk-cmake-mode
+  (package-with-emacs-pgtk emacs-cmake-mode))
+
 (define-public qmsetup
   (let ((commit "89fa57046241c26dfcfd97ceba174728b24bdd27")
         (revision "0"))
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 2532586bc5..2d459285e1 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -1783,6 +1783,15 @@ (define-public emacs-rec-mode
 including field and record folding.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-rec-mode
+  (package-with-emacs-minimal emacs-rec-mode))
+
+(define-public emacs-next-rec-mode
+  (package-with-emacs-next emacs-rec-mode))
+
+(define-public emacs-pgtk-rec-mode
+  (package-with-emacs-pgtk emacs-rec-mode))
+
 (define-public emacs-recutils
   (deprecated-package "emacs-recutils" emacs-rec-mode))
 
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 643d1b984b..ed18074848 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -338,6 +338,15 @@ (define-public emacs-ac-ispell
        "AC Ispell is an Ispell and Aspell completion source for Auto Complete.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ac-ispell
+  (package-with-emacs-minimal emacs-ac-ispell))
+
+(define-public emacs-next-ac-ispell
+  (package-with-emacs-next emacs-ac-ispell))
+
+(define-public emacs-pgtk-ac-ispell
+  (package-with-emacs-pgtk emacs-ac-ispell))
+
 (define-public emacs-ac-php
   (package
     (name "emacs-ac-php")
@@ -374,6 +383,15 @@ (define-public emacs-ac-php
      "This package provides Auto Complete and Company back-ends for PHP.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ac-php
+  (package-with-emacs-minimal emacs-ac-php))
+
+(define-public emacs-next-ac-php
+  (package-with-emacs-next emacs-ac-php))
+
+(define-public emacs-pgtk-ac-php
+  (package-with-emacs-pgtk emacs-ac-php))
+
 (define-public emacs-ace-jump-helm-line
   (let ((commit "1483055255df3f8ae349f7520f05b1e43ea3ed37")
         (revision "0"))
@@ -397,6 +415,15 @@ (define-public emacs-ace-jump-helm-line
        "This package allows using Ace jump to a candidate in Helm window.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ace-jump-helm-line
+  (package-with-emacs-minimal emacs-ace-jump-helm-line))
+
+(define-public emacs-next-ace-jump-helm-line
+  (package-with-emacs-next emacs-ace-jump-helm-line))
+
+(define-public emacs-pgtk-ace-jump-helm-line
+  (package-with-emacs-pgtk emacs-ace-jump-helm-line))
+
 (define-public emacs-activities
   (package
     (name "emacs-activities")
@@ -426,6 +453,15 @@ (define-public emacs-activities
 compatible.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-activities
+  (package-with-emacs-minimal emacs-activities))
+
+(define-public emacs-next-activities
+  (package-with-emacs-next emacs-activities))
+
+(define-public emacs-pgtk-activities
+  (package-with-emacs-pgtk emacs-activities))
+
 (define-public emacs-bookmark-plus
   (package
     (name "emacs-bookmark-plus")
@@ -450,6 +486,15 @@ (define-public emacs-bookmark-plus
 reading the extensive documentation about BookmarkPlus on the Emacs Wiki.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-bookmark-plus
+  (package-with-emacs-minimal emacs-bookmark-plus))
+
+(define-public emacs-next-bookmark-plus
+  (package-with-emacs-next emacs-bookmark-plus))
+
+(define-public emacs-pgtk-bookmark-plus
+  (package-with-emacs-pgtk emacs-bookmark-plus))
+
 (define-public emacs-cfrs
   (package
     (name "emacs-cfrs")
@@ -473,6 +518,15 @@ (define-public emacs-cfrs
 input via a small child-frame spawned at the position of the cursor.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-cfrs
+  (package-with-emacs-minimal emacs-cfrs))
+
+(define-public emacs-next-cfrs
+  (package-with-emacs-next emacs-cfrs))
+
+(define-public emacs-pgtk-cfrs
+  (package-with-emacs-pgtk emacs-cfrs))
+
 (define-public emacs-arei
   (package
     (name "emacs-arei")
@@ -494,6 +548,15 @@ (define-public emacs-arei
     (description "Sleek Guile IDE for Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-arei
+  (package-with-emacs-minimal emacs-arei))
+
+(define-public emacs-next-arei
+  (package-with-emacs-next emacs-arei))
+
+(define-public emacs-pgtk-arei
+  (package-with-emacs-pgtk emacs-arei))
+
 (define-public emacs-geiser
   (package
     (name "emacs-geiser")
@@ -589,6 +652,15 @@ (define-public emacs-gptel
 API key.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-gptel
+  (package-with-emacs-minimal emacs-gptel))
+
+(define-public emacs-next-gptel
+  (package-with-emacs-next emacs-gptel))
+
+(define-public emacs-pgtk-gptel
+  (package-with-emacs-pgtk emacs-gptel))
+
 (define-public emacs-chatgpt-shell
   (package
     (name "emacs-chatgpt-shell")
@@ -609,6 +681,15 @@ (define-public emacs-chatgpt-shell
      "chatgpt-shell is a comint-based ChatGPT shell for Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-chatgpt-shell
+  (package-with-emacs-minimal emacs-chatgpt-shell))
+
+(define-public emacs-next-chatgpt-shell
+  (package-with-emacs-next emacs-chatgpt-shell))
+
+(define-public emacs-pgtk-chatgpt-shell
+  (package-with-emacs-pgtk emacs-chatgpt-shell))
+
 (define-public emacs-geiser-guile
   (package
     (name "emacs-geiser-guile")
@@ -685,6 +766,15 @@ (define-public emacs-ac-geiser
       (license license:bsd-3)
       (home-page "https://github.com/xiaohanyu/ac-geiser"))))
 
+(define-public emacs-minimal-ac-geiser
+  (package-with-emacs-minimal emacs-ac-geiser))
+
+(define-public emacs-next-ac-geiser
+  (package-with-emacs-next emacs-ac-geiser))
+
+(define-public emacs-pgtk-ac-geiser
+  (package-with-emacs-pgtk emacs-ac-geiser))
+
 (define-public emacs-geiser-gauche
   ;; The latest 0.14 release has an unbound variable (geiser-scheme-dir).
   (let ((commit "96fa06aaeef18cc1b3b519e83dbb7be09eeb0d07")
@@ -732,6 +822,15 @@ (define-public emacs-geiser-gauche
 a generic Scheme interaction mode for the GNU Emacs editor.")
       (license license:expat))))
 
+(define-public emacs-minimal-geiser-gauche
+  (package-with-emacs-minimal emacs-geiser-gauche))
+
+(define-public emacs-next-geiser-gauche
+  (package-with-emacs-next emacs-geiser-gauche))
+
+(define-public emacs-pgtk-geiser-gauche
+  (package-with-emacs-pgtk emacs-geiser-gauche))
+
 (define-public emacs-geiser-racket
   (package
     (name "emacs-geiser-racket")
@@ -777,6 +876,15 @@ (define-public emacs-geiser-racket
 a generic Scheme interaction mode for the GNU Emacs editor.")
     (license license:bsd-3)))
 
+(define-public emacs-minimal-geiser-racket
+  (package-with-emacs-minimal emacs-geiser-racket))
+
+(define-public emacs-next-geiser-racket
+  (package-with-emacs-next emacs-geiser-racket))
+
+(define-public emacs-pgtk-geiser-racket
+  (package-with-emacs-pgtk emacs-geiser-racket))
+
 (define-public emacs-geiser-chez
   (package
     (name "emacs-geiser-chez")
@@ -817,6 +925,15 @@ (define-public emacs-geiser-chez
      "This package adds support for using Chez Scheme in Emacs with Geiser.")
     (license license:bsd-3)))
 
+(define-public emacs-minimal-geiser-chez
+  (package-with-emacs-minimal emacs-geiser-chez))
+
+(define-public emacs-next-geiser-chez
+  (package-with-emacs-next emacs-geiser-chez))
+
+(define-public emacs-pgtk-geiser-chez
+  (package-with-emacs-pgtk emacs-geiser-chez))
+
 (define-public emacs-vc-hgcmd
   (package
     (name "emacs-vc-hgcmd")
@@ -840,6 +957,15 @@ (define-public emacs-vc-hgcmd
 server}.  The main advantage compared to @code{vc-hg} is speed.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-vc-hgcmd
+  (package-with-emacs-minimal emacs-vc-hgcmd))
+
+(define-public emacs-next-vc-hgcmd
+  (package-with-emacs-next emacs-vc-hgcmd))
+
+(define-public emacs-pgtk-vc-hgcmd
+  (package-with-emacs-pgtk emacs-vc-hgcmd))
+
 (define-public emacs-telephone-line
   (package
     (name "emacs-telephone-line")
@@ -863,6 +989,15 @@ (define-public emacs-telephone-line
 configuration language which makes it trivial to write your own themes.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-telephone-line
+  (package-with-emacs-minimal emacs-telephone-line))
+
+(define-public emacs-next-telephone-line
+  (package-with-emacs-next emacs-telephone-line))
+
+(define-public emacs-pgtk-telephone-line
+  (package-with-emacs-pgtk emacs-telephone-line))
+
 (define-public emacs-inspector
   (let ((commit "4e85b25e3e80c9989fcf7f518606837a54d9fab6")) ;version bump
     (package
@@ -892,6 +1027,15 @@ (define-public emacs-inspector
 Common Lisp or Smalltalk, but for Emacs Lisp.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-inspector
+  (package-with-emacs-minimal emacs-inspector))
+
+(define-public emacs-next-inspector
+  (package-with-emacs-next emacs-inspector))
+
+(define-public emacs-pgtk-inspector
+  (package-with-emacs-pgtk emacs-inspector))
+
 (define-public emacs-treebundel
   (package
     (name "emacs-treebundel")
@@ -921,6 +1065,15 @@ (define-public emacs-treebundel
 git-worktrees.")
     (license license:expat)))
 
+(define-public emacs-minimal-treebundel
+  (package-with-emacs-minimal emacs-treebundel))
+
+(define-public emacs-next-treebundel
+  (package-with-emacs-next emacs-treebundel))
+
+(define-public emacs-pgtk-treebundel
+  (package-with-emacs-pgtk emacs-treebundel))
+
 (define-public emacs-tree-inspector
   (let ((commit "bbb8d2dfe84fbf857fcc1579de5a1324b09a877e"))
     (package
@@ -963,6 +1116,15 @@ (define-public emacs-tree-inspector
 object.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-tree-inspector
+  (package-with-emacs-minimal emacs-tree-inspector))
+
+(define-public emacs-next-tree-inspector
+  (package-with-emacs-next emacs-tree-inspector))
+
+(define-public emacs-pgtk-tree-inspector
+  (package-with-emacs-pgtk emacs-tree-inspector))
+
 (define-public emacs-terminal-here
   (package
     (name "emacs-terminal-here")
@@ -985,6 +1147,15 @@ (define-public emacs-terminal-here
 current buffer.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-terminal-here
+  (package-with-emacs-minimal emacs-terminal-here))
+
+(define-public emacs-next-terminal-here
+  (package-with-emacs-next emacs-terminal-here))
+
+(define-public emacs-pgtk-terminal-here
+  (package-with-emacs-pgtk emacs-terminal-here))
+
 (define-public emacs-treeview
   (let ((commit "d9c10feddf3b959e7b33ce83103e1f0a61162723")
         (revision "0"))
@@ -1007,6 +1178,15 @@ (define-public emacs-treeview
        "Abstract Emacs Lisp framework for tree navigation.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-treeview
+  (package-with-emacs-minimal emacs-treeview))
+
+(define-public emacs-next-treeview
+  (package-with-emacs-next emacs-treeview))
+
+(define-public emacs-pgtk-treeview
+  (package-with-emacs-pgtk emacs-treeview))
+
 (define-public emacs-hide-lines
   (package
     (name "emacs-hide-lines")
@@ -1028,6 +1208,15 @@ (define-public emacs-hide-lines
 expression.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-hide-lines
+  (package-with-emacs-minimal emacs-hide-lines))
+
+(define-public emacs-next-hide-lines
+  (package-with-emacs-next emacs-hide-lines))
+
+(define-public emacs-pgtk-hide-lines
+  (package-with-emacs-pgtk emacs-hide-lines))
+
 (define-public emacs-hgignore-mode
   ;; From 2021-03-14.
   ;; No releases available.
@@ -1054,6 +1243,15 @@ (define-public emacs-hgignore-mode
 system.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-hgignore-mode
+  (package-with-emacs-minimal emacs-hgignore-mode))
+
+(define-public emacs-next-hgignore-mode
+  (package-with-emacs-next emacs-hgignore-mode))
+
+(define-public emacs-pgtk-hgignore-mode
+  (package-with-emacs-pgtk emacs-hgignore-mode))
+
 (define-public emacs-hsluv
   (package
     (name "emacs-hsluv")
@@ -1082,6 +1280,15 @@ (define-public emacs-hsluv
 a neat percentage.")
     (license license:expat)))
 
+(define-public emacs-minimal-hsluv
+  (package-with-emacs-minimal emacs-hsluv))
+
+(define-public emacs-next-hsluv
+  (package-with-emacs-next emacs-hsluv))
+
+(define-public emacs-pgtk-hsluv
+  (package-with-emacs-pgtk emacs-hsluv))
+
 (define-public emacs-platformio-mode
   (package
     (name "emacs-platformio-mode")
@@ -1103,6 +1310,15 @@ (define-public emacs-platformio-mode
 uploading PlatformIO projects.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-platformio-mode
+  (package-with-emacs-minimal emacs-platformio-mode))
+
+(define-public emacs-next-platformio-mode
+  (package-with-emacs-next emacs-platformio-mode))
+
+(define-public emacs-pgtk-platformio-mode
+  (package-with-emacs-pgtk emacs-platformio-mode))
+
 (define-public emacs-hyperbole
   (package
     (name "emacs-hyperbole")
@@ -1165,6 +1381,15 @@ (define-public emacs-hyperbole
 buffers, directory trees, or the web.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-hyperbole
+  (package-with-emacs-minimal emacs-hyperbole))
+
+(define-public emacs-next-hyperbole
+  (package-with-emacs-next emacs-hyperbole))
+
+(define-public emacs-pgtk-hyperbole
+  (package-with-emacs-pgtk emacs-hyperbole))
+
 (define-public emacs-vlf
   (package
     (name "emacs-vlf")
@@ -1184,6 +1409,15 @@ (define-public emacs-vlf
 comparing large files in batches.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-vlf
+  (package-with-emacs-minimal emacs-vlf))
+
+(define-public emacs-next-vlf
+  (package-with-emacs-next emacs-vlf))
+
+(define-public emacs-pgtk-vlf
+  (package-with-emacs-pgtk emacs-vlf))
+
 (define-public emacs-hg-histedit
   ;; From 2021-03-02.
   ;; No releases available.
@@ -1210,6 +1444,15 @@ (define-public emacs-hg-histedit
 @command{hg histedit} for editing the commit history.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-hg-histedit
+  (package-with-emacs-minimal emacs-hg-histedit))
+
+(define-public emacs-next-hg-histedit
+  (package-with-emacs-next emacs-hg-histedit))
+
+(define-public emacs-pgtk-hg-histedit
+  (package-with-emacs-pgtk emacs-hg-histedit))
+
 (define-public emacs-package-build
   (package
     (name "emacs-package-build")
@@ -1230,6 +1473,15 @@ (define-public emacs-package-build
 Emacs package archive}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-package-build
+  (package-with-emacs-minimal emacs-package-build))
+
+(define-public emacs-next-package-build
+  (package-with-emacs-next emacs-package-build))
+
+(define-public emacs-pgtk-package-build
+  (package-with-emacs-pgtk emacs-package-build))
+
 (define-public emacs-paredit
   (package
     (name "emacs-paredit")
@@ -1257,6 +1509,15 @@ (define-public emacs-paredit
 when typing parentheses directly or commenting out code line by line.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-paredit
+  (package-with-emacs-minimal emacs-paredit))
+
+(define-public emacs-next-paredit
+  (package-with-emacs-next emacs-paredit))
+
+(define-public emacs-pgtk-paredit
+  (package-with-emacs-pgtk emacs-paredit))
+
 (define-public emacs-puni
   ;; No tagged release upstream
   (let ((commit "28836e98d5566172b1a94d7b38290d07b49201b2")
@@ -1283,6 +1544,15 @@ (define-public emacs-puni
 out of the box.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-puni
+  (package-with-emacs-minimal emacs-puni))
+
+(define-public emacs-next-puni
+  (package-with-emacs-next emacs-puni))
+
+(define-public emacs-pgtk-puni
+  (package-with-emacs-pgtk emacs-puni))
+
 (define-public emacs-pug-mode
   (package
     (name "emacs-pug-mode")
@@ -1308,6 +1578,15 @@ (define-public emacs-pug-mode
 is based off of Slim mode.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-pug-mode
+  (package-with-emacs-minimal emacs-pug-mode))
+
+(define-public emacs-next-pug-mode
+  (package-with-emacs-next emacs-pug-mode))
+
+(define-public emacs-pgtk-pug-mode
+  (package-with-emacs-pgtk emacs-pug-mode))
+
 (define-public emacs-sed-mode
   (package
     (name "emacs-sed-mode")
@@ -1327,6 +1606,15 @@ (define-public emacs-sed-mode
 functionalities supported are font-locking and auto-indentation.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-sed-mode
+  (package-with-emacs-minimal emacs-sed-mode))
+
+(define-public emacs-next-sed-mode
+  (package-with-emacs-next emacs-sed-mode))
+
+(define-public emacs-pgtk-sed-mode
+  (package-with-emacs-pgtk emacs-sed-mode))
+
 (define-public emacs-spaceline-all-the-icons
   (package
     (name "emacs-spaceline-all-the-icons")
@@ -1355,6 +1643,15 @@ (define-public emacs-spaceline-all-the-icons
 information in the mode line.")
     (license license:expat)))
 
+(define-public emacs-minimal-spaceline-all-the-icons
+  (package-with-emacs-minimal emacs-spaceline-all-the-icons))
+
+(define-public emacs-next-spaceline-all-the-icons
+  (package-with-emacs-next emacs-spaceline-all-the-icons))
+
+(define-public emacs-pgtk-spaceline-all-the-icons
+  (package-with-emacs-pgtk emacs-spaceline-all-the-icons))
+
 (define-public emacs-snow
   (let ((commit "35ea06f19047ac99eaff9663cb035491c4a13e07")
         (revision "0"))
@@ -1378,6 +1675,15 @@ (define-public emacs-snow
 blows at times, and snow accumulates on the terrain in the scene.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-snow
+  (package-with-emacs-minimal emacs-snow))
+
+(define-public emacs-next-snow
+  (package-with-emacs-next emacs-snow))
+
+(define-public emacs-pgtk-snow
+  (package-with-emacs-pgtk emacs-snow))
+
 (define-public emacs-spongebob
   (let ((commit "ae8ae6ba0dc57b7357ba87ff0609d27c4a0a5f51")
         (revision "0"))
@@ -1401,6 +1707,15 @@ (define-public emacs-spongebob
 buffer.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-spongebob
+  (package-with-emacs-minimal emacs-spongebob))
+
+(define-public emacs-next-spongebob
+  (package-with-emacs-next emacs-spongebob))
+
+(define-public emacs-pgtk-spongebob
+  (package-with-emacs-pgtk emacs-spongebob))
+
 (define-public emacs-prism
   (let ((commit "6046a5cf793f65ff86fe0392e0edf29ffcd57567")) ;version bump
     (package
@@ -1425,6 +1740,15 @@ (define-public emacs-prism
 face properties and allows configuration of faces and colors.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-prism
+  (package-with-emacs-minimal emacs-prism))
+
+(define-public emacs-next-prism
+  (package-with-emacs-next emacs-prism))
+
+(define-public emacs-pgtk-prism
+  (package-with-emacs-pgtk emacs-prism))
+
 (define-public emacs-project
   (package
     (name "emacs-project")
@@ -1444,6 +1768,15 @@ (define-public emacs-project
 some utility functions, and commands using that infrastructure.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-project
+  (package-with-emacs-minimal emacs-project))
+
+(define-public emacs-next-project
+  (package-with-emacs-next emacs-project))
+
+(define-public emacs-pgtk-project
+  (package-with-emacs-pgtk emacs-project))
+
 ;; Package has no release.  Version is extracted from "Version:" keyword in
 ;; main file.
 (define-public emacs-project-mode-line-tag
@@ -1470,6 +1803,15 @@ (define-public emacs-project-mode-line-tag
 its mode line.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-project-mode-line-tag
+  (package-with-emacs-minimal emacs-project-mode-line-tag))
+
+(define-public emacs-next-project-mode-line-tag
+  (package-with-emacs-next emacs-project-mode-line-tag))
+
+(define-public emacs-pgtk-project-mode-line-tag
+  (package-with-emacs-pgtk emacs-project-mode-line-tag))
+
 (define-public emacs-project-tab-groups
   (let ((commit "2658405d5f3c539fbd9ccf95297a016a2c91816a")
         (revision "1"))
@@ -1494,6 +1836,15 @@ (define-public emacs-project-tab-groups
 separate, named tab groups.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-project-tab-groups
+  (package-with-emacs-minimal emacs-project-tab-groups))
+
+(define-public emacs-next-project-tab-groups
+  (package-with-emacs-next emacs-project-tab-groups))
+
+(define-public emacs-pgtk-project-tab-groups
+  (package-with-emacs-pgtk emacs-project-tab-groups))
+
 (define-public emacs-golden-ratio
   (let ((commit "375c9f287dfad68829582c1e0a67d0c18119dab9")
         (revision "0"))
@@ -1518,6 +1869,15 @@ (define-public emacs-golden-ratio
 size.")
       (license license:expat))))
 
+(define-public emacs-minimal-golden-ratio
+  (package-with-emacs-minimal emacs-golden-ratio))
+
+(define-public emacs-next-golden-ratio
+  (package-with-emacs-next emacs-golden-ratio))
+
+(define-public emacs-pgtk-golden-ratio
+  (package-with-emacs-pgtk emacs-golden-ratio))
+
 (define-public emacs-git-modes
   (package
     (name "emacs-git-modes")
@@ -1542,6 +1902,15 @@ (define-public emacs-git-modes
 @file{.git/config}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-git-modes
+  (package-with-emacs-minimal emacs-git-modes))
+
+(define-public emacs-next-git-modes
+  (package-with-emacs-next emacs-git-modes))
+
+(define-public emacs-pgtk-git-modes
+  (package-with-emacs-pgtk emacs-git-modes))
+
 (define-deprecated/public-alias git-modes emacs-git-modes)
 
 (define-public emacs-with-editor
@@ -1584,6 +1953,15 @@ (define-public emacs-with-editor
 on stdout instead of using a socket as the Emacsclient does.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-with-editor
+  (package-with-emacs-minimal emacs-with-editor))
+
+(define-public emacs-next-with-editor
+  (package-with-emacs-next emacs-with-editor))
+
+(define-public emacs-pgtk-with-editor
+  (package-with-emacs-pgtk emacs-with-editor))
+
 (define-public emacs-libgit
   (let ((commit "ab1a53a6a0120872e42582fc980e779d47de6d0e")
         (revision "1"))
@@ -1709,6 +2087,15 @@ (define-public emacs-llm
 before interacting with non-free LLMs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-llm
+  (package-with-emacs-minimal emacs-llm))
+
+(define-public emacs-next-llm
+  (package-with-emacs-next emacs-llm))
+
+(define-public emacs-pgtk-llm
+  (package-with-emacs-pgtk emacs-llm))
+
 (define-public emacs-magit
   (let ((commit "538cb2f90b5fdd04fcaacd537834f4f3c8c0720f")
         (revision "8"))
@@ -1799,6 +2186,15 @@ (define-public emacs-magit
 rebasing, and other common Git operations.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-magit
+  (package-with-emacs-minimal emacs-magit))
+
+(define-public emacs-next-magit
+  (package-with-emacs-next emacs-magit))
+
+(define-public emacs-pgtk-magit
+  (package-with-emacs-pgtk emacs-magit))
+
 (define-public emacs-magit-svn
   (package
     (name "emacs-magit-svn")
@@ -1821,6 +2217,15 @@ (define-public emacs-magit-svn
 support for Git-SVN.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-magit-svn
+  (package-with-emacs-minimal emacs-magit-svn))
+
+(define-public emacs-next-magit-svn
+  (package-with-emacs-next emacs-magit-svn))
+
+(define-public emacs-pgtk-magit-svn
+  (package-with-emacs-pgtk emacs-magit-svn))
+
 (define-public emacs-magit-popup
   (package
     (name "emacs-magit-popup")
@@ -1884,6 +2289,15 @@ (define-public emacs-magit-annex
      "Magit-annex adds a few git-annex operations to the Magit interface.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-magit-annex
+  (package-with-emacs-minimal emacs-magit-annex))
+
+(define-public emacs-next-magit-annex
+  (package-with-emacs-next emacs-magit-annex))
+
+(define-public emacs-pgtk-magit-annex
+  (package-with-emacs-pgtk emacs-magit-annex))
+
 (define-public emacs-malyon
   (package
     (name "emacs-malyon")
@@ -1906,6 +2320,15 @@ (define-public emacs-malyon
 code files.")
     (license license:expat)))
 
+(define-public emacs-minimal-malyon
+  (package-with-emacs-minimal emacs-malyon))
+
+(define-public emacs-next-malyon
+  (package-with-emacs-next emacs-malyon))
+
+(define-public emacs-pgtk-malyon
+  (package-with-emacs-pgtk emacs-malyon))
+
 (define-public emacs-mct
   (package
     (name "emacs-mct")
@@ -1943,6 +2366,15 @@ (define-public emacs-mct
     (license (list license:gpl3+
                    license:fdl1.3+)))) ; GFDLv1.3+ for the manual
 
+(define-public emacs-minimal-mct
+  (package-with-emacs-minimal emacs-mct))
+
+(define-public emacs-next-mct
+  (package-with-emacs-next emacs-mct))
+
+(define-public emacs-pgtk-mct
+  (package-with-emacs-pgtk emacs-mct))
+
 (define-public emacs-meyvn
   (let ((commit "f2b809da1d1bf66f1a215a0e5c64f95d10118b76")) ;version bump
     (package
@@ -1971,6 +2403,15 @@ (define-public emacs-meyvn
        "This package provides an Emacs client for the @url{https://meyvn.org, Meyvn} build tool.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-meyvn
+  (package-with-emacs-minimal emacs-meyvn))
+
+(define-public emacs-next-meyvn
+  (package-with-emacs-next emacs-meyvn))
+
+(define-public emacs-pgtk-meyvn
+  (package-with-emacs-pgtk emacs-meyvn))
+
 (define-public emacs-fzf
   (let ((commit "21912ebc7e1084aa88c9d8b7715e782a3978ed23")
         (revision "0"))
@@ -2003,6 +2444,15 @@ (define-public emacs-fzf
 purpose finder.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-fzf
+  (package-with-emacs-minimal emacs-fzf))
+
+(define-public emacs-next-fzf
+  (package-with-emacs-next emacs-fzf))
+
+(define-public emacs-pgtk-fzf
+  (package-with-emacs-pgtk emacs-fzf))
+
 (define-public emacs-pacfiles-mode
   (package
     (name "emacs-pacfiles-mode")
@@ -2024,6 +2474,15 @@ (define-public emacs-pacfiles-mode
 files left by ArchLinux's pacman.")
     (license license:expat)))
 
+(define-public emacs-minimal-pacfiles-mode
+  (package-with-emacs-minimal emacs-pacfiles-mode))
+
+(define-public emacs-next-pacfiles-mode
+  (package-with-emacs-next emacs-pacfiles-mode))
+
+(define-public emacs-pgtk-pacfiles-mode
+  (package-with-emacs-pgtk emacs-pacfiles-mode))
+
 (define-public emacs-palimpsest
   (package
     (name "emacs-palimpsest")
@@ -2046,6 +2505,15 @@ (define-public emacs-palimpsest
 bottom, or top, of the buffer, or to a trash file.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-palimpsest
+  (package-with-emacs-minimal emacs-palimpsest))
+
+(define-public emacs-next-palimpsest
+  (package-with-emacs-next emacs-palimpsest))
+
+(define-public emacs-pgtk-palimpsest
+  (package-with-emacs-pgtk emacs-palimpsest))
+
 (define-public emacs-minions
   (package
     (name "emacs-minions")
@@ -2078,6 +2546,15 @@ (define-public emacs-minions
 @code{(global-set-key [S-down-mouse-3] 'minions-minor-modes-menu)}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-minions
+  (package-with-emacs-minimal emacs-minions))
+
+(define-public emacs-next-minions
+  (package-with-emacs-next emacs-minions))
+
+(define-public emacs-pgtk-minions
+  (package-with-emacs-pgtk emacs-minions))
+
 (define-public emacs-nano-modeline
   (let ((commit "04676d57a1e602123a593836745a744d1b2028fb")) ;version bump
     (package
@@ -2100,6 +2577,15 @@ (define-public emacs-nano-modeline
 displayed at the bottom or at the top.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-nano-modeline
+  (package-with-emacs-minimal emacs-nano-modeline))
+
+(define-public emacs-next-nano-modeline
+  (package-with-emacs-next emacs-nano-modeline))
+
+(define-public emacs-pgtk-nano-modeline
+  (package-with-emacs-pgtk emacs-nano-modeline))
+
 (define-public emacs-moody
   (package
     (name "emacs-moody")
@@ -2126,6 +2612,15 @@ (define-public emacs-moody
 then only the color of the mode line changes when a window becomes in-/active.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-moody
+  (package-with-emacs-minimal emacs-moody))
+
+(define-public emacs-next-moody
+  (package-with-emacs-next emacs-moody))
+
+(define-public emacs-pgtk-moody
+  (package-with-emacs-pgtk emacs-moody))
+
 (define-public emacs-acme-theme
   (let ((commit "7c408d111c5e451ecb8fdd5f76cf7d8074aec793")
         (revision "0"))
@@ -2149,6 +2644,15 @@ (define-public emacs-acme-theme
 inspired by Plan 9 Acme and the Sam text editor.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-acme-theme
+  (package-with-emacs-minimal emacs-acme-theme))
+
+(define-public emacs-next-acme-theme
+  (package-with-emacs-next emacs-acme-theme))
+
+(define-public emacs-pgtk-acme-theme
+  (package-with-emacs-pgtk emacs-acme-theme))
+
 (define-public emacs-theme-magic
   ;; No tagged release upstream, but the commit below correspond to the 0.2.3
   ;; release.
@@ -2194,6 +2698,15 @@ (define-public emacs-theme-magic
 theme to the current session.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-theme-magic
+  (package-with-emacs-minimal emacs-theme-magic))
+
+(define-public emacs-next-theme-magic
+  (package-with-emacs-next emacs-theme-magic))
+
+(define-public emacs-pgtk-theme-magic
+  (package-with-emacs-pgtk emacs-theme-magic))
+
 (define-public emacs-vscode-dark-plus
   (package
     (name "emacs-vscode-dark-plus")
@@ -2215,6 +2728,15 @@ (define-public emacs-vscode-dark-plus
 color scheme used by Visual Studio Code.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-vscode-dark-plus
+  (package-with-emacs-minimal emacs-vscode-dark-plus))
+
+(define-public emacs-next-vscode-dark-plus
+  (package-with-emacs-next emacs-vscode-dark-plus))
+
+(define-public emacs-pgtk-vscode-dark-plus
+  (package-with-emacs-pgtk emacs-vscode-dark-plus))
+
 (define-public emacs-theme-sorcery
   (let ((revision "0")
         (commit "5a1c4445b9e6e09589a299a9962a6973272a0c2f"))
@@ -2239,6 +2761,15 @@ (define-public emacs-theme-sorcery
 Apprentice and Sourcerer.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-theme-sorcery
+  (package-with-emacs-minimal emacs-theme-sorcery))
+
+(define-public emacs-next-theme-sorcery
+  (package-with-emacs-next emacs-theme-sorcery))
+
+(define-public emacs-pgtk-theme-sorcery
+  (package-with-emacs-pgtk emacs-theme-sorcery))
+
 (define-public emacs-suneater-theme
   (package
     (name "emacs-suneater-theme")
@@ -2261,6 +2792,15 @@ (define-public emacs-suneater-theme
 theme but now takes more inspiration from the Nano theme.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-suneater-theme
+  (package-with-emacs-minimal emacs-suneater-theme))
+
+(define-public emacs-next-suneater-theme
+  (package-with-emacs-next emacs-suneater-theme))
+
+(define-public emacs-pgtk-suneater-theme
+  (package-with-emacs-pgtk emacs-suneater-theme))
+
 (define-public emacs-adwaita-dark-theme
   (package
     (name "emacs-adwaita-dark-theme")
@@ -2281,6 +2821,15 @@ (define-public emacs-adwaita-dark-theme
      "This package provides an Adwaita-inspired dark color scheme for Emacs.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-adwaita-dark-theme
+  (package-with-emacs-minimal emacs-adwaita-dark-theme))
+
+(define-public emacs-next-adwaita-dark-theme
+  (package-with-emacs-next emacs-adwaita-dark-theme))
+
+(define-public emacs-pgtk-adwaita-dark-theme
+  (package-with-emacs-pgtk emacs-adwaita-dark-theme))
+
 (define-public emacs-treepy
   (package
     (name "emacs-treepy")
@@ -2303,6 +2852,15 @@ (define-public emacs-treepy
 clojure.walk and clojure.zip respectively.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-treepy
+  (package-with-emacs-minimal emacs-treepy))
+
+(define-public emacs-next-treepy
+  (package-with-emacs-next emacs-treepy))
+
+(define-public emacs-pgtk-treepy
+  (package-with-emacs-pgtk emacs-treepy))
+
 (define-public emacs-typing
   (let ((commit "a2ef25dde2d8eb91bd9c0c6164cb5208208647fa")
         (revision "0"))
@@ -2327,6 +2885,15 @@ (define-public emacs-typing
 you will die.  The game builds the list of words from the active buffer.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-typing
+  (package-with-emacs-minimal emacs-typing))
+
+(define-public emacs-next-typing
+  (package-with-emacs-next emacs-typing))
+
+(define-public emacs-pgtk-typing
+  (package-with-emacs-pgtk emacs-typing))
+
 (define-public emacs-speed-type
   (package
     (name "emacs-speed-type")
@@ -2366,6 +2933,15 @@ (define-public emacs-speed-type
 accuracy) while you are typing.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-speed-type
+  (package-with-emacs-minimal emacs-speed-type))
+
+(define-public emacs-next-speed-type
+  (package-with-emacs-next emacs-speed-type))
+
+(define-public emacs-pgtk-speed-type
+  (package-with-emacs-pgtk emacs-speed-type))
+
 (define-public emacs-graphql
   (let ((commit "b57b5ca5d2d0837e1fb4a4f30c051d5f3e643f0f")) ;version bump
     (package
@@ -2403,6 +2979,15 @@ (define-public emacs-graphql
 deliver data to mobile and web apps.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-graphql
+  (package-with-emacs-minimal emacs-graphql))
+
+(define-public emacs-next-graphql
+  (package-with-emacs-next emacs-graphql))
+
+(define-public emacs-pgtk-graphql
+  (package-with-emacs-pgtk emacs-graphql))
+
 (define-public emacs-graphql-mode
   ;; No tagged commit.  No "Version" keyword either.
   (let ((commit "9bed568ec86242dbe30bdbab324aa0eb2cd9bf08")
@@ -2431,6 +3016,15 @@ (define-public emacs-graphql-mode
 automatically opened with this mode.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-graphql-mode
+  (package-with-emacs-minimal emacs-graphql-mode))
+
+(define-public emacs-next-graphql-mode
+  (package-with-emacs-next emacs-graphql-mode))
+
+(define-public emacs-pgtk-graphql-mode
+  (package-with-emacs-pgtk emacs-graphql-mode))
+
 (define-public emacs-ghq
   (package
     (name "emacs-ghq")
@@ -2465,6 +3059,15 @@ (define-public emacs-ghq
 organizing remote Go repository clones.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ghq
+  (package-with-emacs-minimal emacs-ghq))
+
+(define-public emacs-next-ghq
+  (package-with-emacs-next emacs-ghq))
+
+(define-public emacs-pgtk-ghq
+  (package-with-emacs-pgtk emacs-ghq))
+
 (define-public emacs-ghub
   (package
     (name "emacs-ghub")
@@ -2512,6 +3115,15 @@ (define-public emacs-ghub
 handful of functions that are not resource-specific.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ghub
+  (package-with-emacs-minimal emacs-ghub))
+
+(define-public emacs-next-ghub
+  (package-with-emacs-next emacs-ghub))
+
+(define-public emacs-pgtk-ghub
+  (package-with-emacs-pgtk emacs-ghub))
+
 (define-public emacs-typit
   (package
     (name "emacs-typit")
@@ -2537,6 +3149,15 @@ (define-public emacs-typit
 until time is up.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-typit
+  (package-with-emacs-minimal emacs-typit))
+
+(define-public emacs-next-typit
+  (package-with-emacs-next emacs-typit))
+
+(define-public emacs-pgtk-typit
+  (package-with-emacs-pgtk emacs-typit))
+
 (define-public emacs-scribble-mode
   (let ((commit "217945d54de5e4bb207033f2116baa28f5c5ecf2")
         (revision "2"))
@@ -2560,6 +3181,15 @@ (define-public emacs-scribble-mode
 for editing Racket's Scribble documentation syntax in Emacs.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-scribble-mode
+  (package-with-emacs-minimal emacs-scribble-mode))
+
+(define-public emacs-next-scribble-mode
+  (package-with-emacs-next emacs-scribble-mode))
+
+(define-public emacs-pgtk-scribble-mode
+  (package-with-emacs-pgtk emacs-scribble-mode))
+
 (define-public emacs-shroud
   (package
     (name "emacs-shroud")
@@ -2630,6 +3260,15 @@ (define-public emacs-solidity
 a constant work in progress as the language itself also progresses.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-solidity
+  (package-with-emacs-minimal emacs-solidity))
+
+(define-public emacs-next-solidity
+  (package-with-emacs-next emacs-solidity))
+
+(define-public emacs-pgtk-solidity
+  (package-with-emacs-pgtk emacs-solidity))
+
 (define-public emacs-unpackaged-el
   (let ((commit "746801a677ada6cd6fa076e423aa0953779f3fad")
         (revision "3"))
@@ -2664,6 +3303,15 @@ (define-public emacs-unpackaged-el
 replacement.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-unpackaged-el
+  (package-with-emacs-minimal emacs-unpackaged-el))
+
+(define-public emacs-next-unpackaged-el
+  (package-with-emacs-next emacs-unpackaged-el))
+
+(define-public emacs-pgtk-unpackaged-el
+  (package-with-emacs-pgtk emacs-unpackaged-el))
+
 (define-public emacs-haskell-mode
   (package
     (name "emacs-haskell-mode")
@@ -2757,6 +3405,15 @@ (define-public emacs-haskell-mode
 programs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-haskell-mode
+  (package-with-emacs-minimal emacs-haskell-mode))
+
+(define-public emacs-next-haskell-mode
+  (package-with-emacs-next emacs-haskell-mode))
+
+(define-public emacs-pgtk-haskell-mode
+  (package-with-emacs-pgtk emacs-haskell-mode))
+
 (define-public emacs-dante
   (package
     (name "emacs-dante")
@@ -2786,6 +3443,15 @@ (define-public emacs-dante
 supports type hints, definition-jumping, completion, and more.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-dante
+  (package-with-emacs-minimal emacs-dante))
+
+(define-public emacs-next-dante
+  (package-with-emacs-next emacs-dante))
+
+(define-public emacs-pgtk-dante
+  (package-with-emacs-pgtk emacs-dante))
+
 (define-public emacs-flexoki-themes
   (let ((commit "1b871e57e989d58a793cbfef7b4996a6bd47ba9f")) ;version bump
     (package
@@ -2808,6 +3474,15 @@ (define-public emacs-flexoki-themes
 on the Flexoki colour scheme by Steph Ango.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-flexoki-themes
+  (package-with-emacs-minimal emacs-flexoki-themes))
+
+(define-public emacs-next-flexoki-themes
+  (package-with-emacs-next emacs-flexoki-themes))
+
+(define-public emacs-pgtk-flexoki-themes
+  (package-with-emacs-pgtk emacs-flexoki-themes))
+
 (define-public emacs-flycheck
   (package
     (name "emacs-flycheck")
@@ -2856,6 +3531,15 @@ (define-public emacs-flycheck
 provides an optional IDE-like error list.")
     (license license:gpl3+)))                     ;+GFDLv1.3+ for the manual
 
+(define-public emacs-minimal-flycheck
+  (package-with-emacs-minimal emacs-flycheck))
+
+(define-public emacs-next-flycheck
+  (package-with-emacs-next emacs-flycheck))
+
+(define-public emacs-pgtk-flycheck
+  (package-with-emacs-pgtk emacs-flycheck))
+
 (define-public emacs-flycheck-clj-kondo
   (let ((commit "e38c67ba9db1ea1cbe1b61ab39b506c05efdcdbf")
         (revision "1"))
@@ -2879,6 +3563,15 @@ (define-public emacs-flycheck-clj-kondo
        "This package integrates Clj-kondo with Emacs via Flycheck.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-flycheck-clj-kondo
+  (package-with-emacs-minimal emacs-flycheck-clj-kondo))
+
+(define-public emacs-next-clj-kondo
+  (package-with-emacs-next emacs-flycheck-clj-kondo))
+
+(define-public emacs-pgtk-clj-kondo
+  (package-with-emacs-pgtk emacs-flycheck-clj-kondo))
+
 (define-public emacs-fb2-reader
   (let ((commit "9836db284749e0cef4c43c2cb5358c82ae9b8589")) ; version bump
     (package
@@ -2928,6 +3621,15 @@ (define-public emacs-fb2-reader
 FictionBook2 (@file{.fb2} and @file{.fb2.zip} files) ebooks.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-fb2-reader
+  (package-with-emacs-minimal emacs-fb2-reader))
+
+(define-public emacs-next-fb2-reader
+  (package-with-emacs-next emacs-fb2-reader))
+
+(define-public emacs-pgtk-fb2-reader
+  (package-with-emacs-pgtk emacs-fb2-reader))
+
 (define-public emacs-flymake-collection
   (package
     (name "emacs-flymake-collection")
@@ -2966,6 +3668,15 @@ (define-public emacs-flymake-collection
 modes.")
     (license license:expat)))
 
+(define-public emacs-minimal-flymake-collection
+  (package-with-emacs-minimal emacs-flymake-collection))
+
+(define-public emacs-next-flymake-collection
+  (package-with-emacs-next emacs-flymake-collection))
+
+(define-public emacs-pgtk-flymake-collection
+  (package-with-emacs-pgtk emacs-flymake-collection))
+
 (define-public emacs-flymake-guile
   (package
     (name "emacs-flymake-guile")
@@ -2989,6 +3700,15 @@ (define-public emacs-flymake-guile
 compile}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-flymake-guile
+  (package-with-emacs-minimal emacs-flymake-guile))
+
+(define-public emacs-next-flymake-guile
+  (package-with-emacs-next emacs-flymake-guile))
+
+(define-public emacs-pgtk-flymake-guile
+  (package-with-emacs-pgtk emacs-flymake-guile))
+
 (define-public emacs-flymake-perlcritic
   (let ((commit "c11fee87370d8bd889a6c00d4f689fd5f08f2922")
         (revision "0"))
@@ -3021,6 +3741,15 @@ (define-public emacs-flymake-perlcritic
 perform static analysis of Perl code.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-flymake-perlcritic
+  (package-with-emacs-minimal emacs-flymake-perlcritic))
+
+(define-public emacs-next-flymake-perlcritic
+  (package-with-emacs-next emacs-flymake-perlcritic))
+
+(define-public emacs-pgtk-flymake-perlcritic
+  (package-with-emacs-pgtk emacs-flymake-perlcritic))
+
 (define-public emacs-flymake-popon
   (package
     (name "emacs-flymake-popon")
@@ -3044,6 +3773,15 @@ (define-public emacs-flymake-popon
     (description "This package shows Flymake diagnostics on cursor hover.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-flymake-popon
+  (package-with-emacs-minimal emacs-flymake-popon))
+
+(define-public emacs-next-flymake-popon
+  (package-with-emacs-next emacs-flymake-popon))
+
+(define-public emacs-pgtk-flymake-popon
+  (package-with-emacs-pgtk emacs-flymake-popon))
+
 (define-public emacs-flymake-flycheck
   (package
     (name "emacs-flymake-flycheck")
@@ -3065,6 +3803,15 @@ (define-public emacs-flymake-flycheck
 checker runs, and Flymake will receive its errors.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-flymake-flycheck
+  (package-with-emacs-minimal emacs-flymake-flycheck))
+
+(define-public emacs-next-flymake-flycheck
+  (package-with-emacs-next emacs-flymake-flycheck))
+
+(define-public emacs-pgtk-flymake-flycheck
+  (package-with-emacs-pgtk emacs-flymake-flycheck))
+
 (define-public emacs-flymake-quickdef
   ;; This particular commit includes bug fixes on top of 1.0.0 release.
   (let ((version "1.0.0")
@@ -3090,6 +3837,15 @@ (define-public emacs-flymake-quickdef
 boilerplate code from defining new Flymake backend functions.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-flymake-quickdef
+  (package-with-emacs-minimal emacs-flymake-quickdef))
+
+(define-public emacs-next-flymake-quickdef
+  (package-with-emacs-next emacs-flymake-quickdef))
+
+(define-public emacs-pgtk-flymake-quickdef
+  (package-with-emacs-pgtk emacs-flymake-quickdef))
+
 (define-public emacs-flymake-kondor
   (package
     (name "emacs-flymake-kondor")
@@ -3109,6 +3865,15 @@ (define-public emacs-flymake-kondor
     (description "This package adds Clojure syntax checker clj-kondo.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-flymake-kondor
+  (package-with-emacs-minimal emacs-flymake-kondor))
+
+(define-public emacs-next-flymake-kondor
+  (package-with-emacs-next emacs-flymake-kondor))
+
+(define-public emacs-pgtk-flymake-kondor
+  (package-with-emacs-pgtk emacs-flymake-kondor))
+
 (define-public emacs-flymake-shellcheck
   ;; No tag, version grabbed from source .el file.
   (let ((commit "ac534e9ef15c82ac86ae65fe5004d29dbc8c92c7")
@@ -3147,6 +3912,15 @@ (define-public emacs-flymake-shellcheck
 scripts.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-flymake-shellcheck
+  (package-with-emacs-minimal emacs-flymake-shellcheck))
+
+(define-public emacs-next-flymake-shellcheck
+  (package-with-emacs-next emacs-flymake-shellcheck))
+
+(define-public emacs-pgtk-flymake-shellcheck
+  (package-with-emacs-pgtk emacs-flymake-shellcheck))
+
 (define-public emacs-a
   (package
     (name "emacs-a")
@@ -3169,6 +3943,15 @@ (define-public emacs-a
 index is considered the key).")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-a
+  (package-with-emacs-minimal emacs-a))
+
+(define-public emacs-next-a
+  (package-with-emacs-next emacs-a))
+
+(define-public emacs-pgtk-a
+  (package-with-emacs-pgtk emacs-a))
+
 (define-public emacs-abyss-theme
   (package
     (name "emacs-abyss-theme")
@@ -3193,6 +3976,15 @@ (define-public emacs-abyss-theme
 for red/green colour blind users.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-abyss-theme
+  (package-with-emacs-minimal emacs-abyss-theme))
+
+(define-public emacs-next-abyss-theme
+  (package-with-emacs-next emacs-abyss-theme))
+
+(define-public emacs-pgtk-abyss-theme
+  (package-with-emacs-pgtk emacs-abyss-theme))
+
 (define-public emacs-ace-jump-mode
   (package
     (name "emacs-ace-jump-mode")
@@ -3216,6 +4008,15 @@ (define-public emacs-ace-jump-mode
 directly.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ace-jump-mode
+  (package-with-emacs-minimal emacs-ace-jump-mode))
+
+(define-public emacs-next-ace-jump-mode
+  (package-with-emacs-next emacs-ace-jump-mode))
+
+(define-public emacs-pgtk-ace-jump-mode
+  (package-with-emacs-pgtk emacs-ace-jump-mode))
+
 (define-public emacs-ahg
   ;; No tags; commit from 2021-04-12.
   (let ((commit "77bc2a628df006dcd2dc359ac12acdf8091a1356")
@@ -3240,6 +4041,15 @@ (define-public emacs-ahg
 Distributed @acronym{Source Control Management, SCM} system.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ahg
+  (package-with-emacs-minimal emacs-ahg))
+
+(define-public emacs-next-ahg
+  (package-with-emacs-next emacs-ahg))
+
+(define-public emacs-pgtk-ahg
+  (package-with-emacs-pgtk emacs-ahg))
+
 (define-public emacs-alarm-clock
   (package
     (name "emacs-alarm-clock")
@@ -3275,6 +4085,15 @@ (define-public emacs-alarm-clock
     (description "Alarm Clock provides an alarm clock for Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-alarm-clock
+  (package-with-emacs-minimal emacs-alarm-clock))
+
+(define-public emacs-next-alarm-clock
+  (package-with-emacs-next emacs-alarm-clock))
+
+(define-public emacs-pgtk-alarm-clock
+  (package-with-emacs-pgtk emacs-alarm-clock))
+
 (define-public emacs-anaphora
   (package
     (name "emacs-anaphora")
@@ -3300,6 +4119,15 @@ (define-public emacs-anaphora
 in certain cases.  It also enables recursion for anonymous functions.")
     (license license:public-domain)))
 
+(define-public emacs-minimal-anaphora
+  (package-with-emacs-minimal emacs-anaphora))
+
+(define-public emacs-next-anaphora
+  (package-with-emacs-next emacs-anaphora))
+
+(define-public emacs-pgtk-anaphora
+  (package-with-emacs-pgtk emacs-anaphora))
+
 (define-public emacs-xah-fly-keys
   (let ((commit "e81f8143e9f7b8e55fa549ec6113048e4959b96e"))
     (package
@@ -3323,6 +4151,15 @@ (define-public emacs-xah-fly-keys
 and ease-of-key score.  Most frequently used commands have most easy keys.")
       (license license:gpl3))))
 
+(define-public emacs-minimal-xah-fly-keys
+  (package-with-emacs-minimal emacs-xah-fly-keys))
+
+(define-public emacs-next-xah-fly-keys
+  (package-with-emacs-next emacs-xah-fly-keys))
+
+(define-public emacs-pgtk-xah-fly-keys
+  (package-with-emacs-pgtk emacs-xah-fly-keys))
+
 (define-public emacs-xr
   (package
     (name "emacs-xr")
@@ -3351,6 +4188,15 @@ (define-public emacs-xr
 @code{skip-chars-backward}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-xr
+  (package-with-emacs-minimal emacs-xr))
+
+(define-public emacs-next-xr
+  (package-with-emacs-next emacs-xr))
+
+(define-public emacs-pgtk-xr
+  (package-with-emacs-pgtk emacs-xr))
+
 (define-public emacs-ample-regexps
   (let ((commit "153969ce547afe410b8986f01c9ed4087c9cd20b")
         (revision "2"))
@@ -3380,6 +4226,15 @@ (define-public emacs-ample-regexps
 and reused.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ample-regexps
+  (package-with-emacs-minimal emacs-ample-regexps))
+
+(define-public emacs-next-ample-regexps
+  (package-with-emacs-next emacs-ample-regexps))
+
+(define-public emacs-pgtk-ample-regexps
+  (package-with-emacs-pgtk emacs-ample-regexps))
+
 (define-public emacs-airline-themes
   (package
     (name "emacs-airline-themes")
@@ -3402,6 +4257,15 @@ (define-public emacs-airline-themes
      "This is a port of the themes in Vim-airline to Emacs Powerline.")
     (license license:expat)))
 
+(define-public emacs-minimal-airline-themes
+  (package-with-emacs-minimal emacs-airline-themes))
+
+(define-public emacs-next-airline-themes
+  (package-with-emacs-next emacs-airline-themes))
+
+(define-public emacs-pgtk-airline-themes
+  (package-with-emacs-pgtk emacs-airline-themes))
+
 (define-public emacs-ample-theme
   (let ((commit "536966adf882446165a1f756830028faa792c7a9")
         (revision "1"))
@@ -3426,6 +4290,15 @@ (define-public emacs-ample-theme
 terminals.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ample-theme
+  (package-with-emacs-minimal emacs-ample-theme))
+
+(define-public emacs-next-ample-theme
+  (package-with-emacs-next emacs-ample-theme))
+
+(define-public emacs-pgtk-ample-theme
+  (package-with-emacs-pgtk emacs-ample-theme))
+
 (define-public emacs-reformatter
   (package
     (name "emacs-reformatter")
@@ -3448,6 +4321,15 @@ (define-public emacs-reformatter
 optional minor mode which can apply this command automatically on save.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-reformatter
+  (package-with-emacs-minimal emacs-reformatter))
+
+(define-public emacs-next-reformatter
+  (package-with-emacs-next emacs-reformatter))
+
+(define-public emacs-pgtk-reformatter
+  (package-with-emacs-pgtk emacs-reformatter))
+
 (define-public emacs-language-id
   (package
     (name "emacs-language-id")
@@ -3468,6 +4350,15 @@ (define-public emacs-language-id
     (home-page "https://github.com/lassik/emacs-language-id")
     (license license:isc)))
 
+(define-public emacs-minimal-language-id
+  (package-with-emacs-minimal emacs-language-id))
+
+(define-public emacs-next-language-id
+  (package-with-emacs-next emacs-language-id))
+
+(define-public emacs-pgtk-language-id
+  (package-with-emacs-pgtk emacs-language-id))
+
 (define-public emacs-format-all-the-code
   (package
     (name "emacs-format-all-the-code")
@@ -3493,6 +4384,15 @@ (define-public emacs-format-all-the-code
     (home-page "https://github.com/lassik/emacs-format-all-the-code")
     (license license:expat)))
 
+(define-public emacs-minimal-format-all-the-code
+  (package-with-emacs-minimal emacs-format-all-the-code))
+
+(define-public emacs-next-format-all-the-code
+  (package-with-emacs-next emacs-format-all-the-code))
+
+(define-public emacs-pgtk-format-all-the-code
+  (package-with-emacs-pgtk emacs-format-all-the-code))
+
 (define-public emacs-relative-buffers
   (let ((release "0.0.1")
         (revision "0")
@@ -3531,6 +4431,15 @@ (define-public emacs-relative-buffers
 project root.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-relative-buffers
+  (package-with-emacs-minimal emacs-relative-buffers))
+
+(define-public emacs-next-relative-buffers
+  (package-with-emacs-next emacs-relative-buffers))
+
+(define-public emacs-pgtk-relative-buffers
+  (package-with-emacs-pgtk emacs-relative-buffers))
+
 (define-public emacs-relint
   (package
     (name "emacs-relint")
@@ -3553,6 +4462,15 @@ (define-public emacs-relint
 @code{skip-chars-backward}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-relint
+  (package-with-emacs-minimal emacs-relint))
+
+(define-public emacs-next-relint
+  (package-with-emacs-next emacs-relint))
+
+(define-public emacs-pgtk-relint
+  (package-with-emacs-pgtk emacs-relint))
+
 (define-public emacs-bug-hunter
   (let ((commit "b88d981afa9154b236c5a3a83b50d5889d46c6a7")
         (revision "1"))
@@ -3578,6 +4496,15 @@ (define-public emacs-bug-hunter
 @file{init.el} or @file{.emacs}).")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-bug-hunter
+  (package-with-emacs-minimal emacs-bug-hunter))
+
+(define-public emacs-next-bug-hunter
+  (package-with-emacs-next emacs-bug-hunter))
+
+(define-public emacs-pgtk-bug-hunter
+  (package-with-emacs-pgtk emacs-bug-hunter))
+
 (define-public emacs-w3m
   ;; Emacs-w3m follows a "rolling release" model.
   (package
@@ -3683,6 +4610,15 @@ (define-public emacs-wget
      "Emacs-wget is an emacs interface for the wget file downloader.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-wget
+  (package-with-emacs-minimal emacs-wget))
+
+(define-public emacs-next-wget
+  (package-with-emacs-next emacs-wget))
+
+(define-public emacs-pgtk-wget
+  (package-with-emacs-pgtk emacs-wget))
+
 (define-public emacs-eww-lnum
   (package
     (name "emacs-eww-lnum")
@@ -3706,6 +4642,15 @@ (define-public emacs-eww-lnum
 incrementally confined in Isearch manner.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-eww-lnum
+  (package-with-emacs-minimal emacs-eww-lnum))
+
+(define-public emacs-next-eww-lnum
+  (package-with-emacs-next emacs-eww-lnum))
+
+(define-public emacs-pgtk-eww-lnum
+  (package-with-emacs-pgtk emacs-eww-lnum))
+
 (define-public emacs-dnt
   (let ((commit "d28d232d682094ab79cfa78c97668c6ebd327c8c")
         (revision "1"))
@@ -3730,6 +4675,15 @@ (define-public emacs-dnt
 podcasts) in Emacs.")
       (license (list license:gpl3+)))))
 
+(define-public emacs-minimal-dnt
+  (package-with-emacs-minimal emacs-dnt))
+
+(define-public emacs-next-dnt
+  (package-with-emacs-next emacs-dnt))
+
+(define-public emacs-pgtk-dnt
+  (package-with-emacs-pgtk emacs-dnt))
+
 (define emacs-emms-print-metadata
   (package
     (name "emacs-emms-print-metadata")
@@ -3829,6 +4783,15 @@ (define-public emacs-emms
            perl-image-exiftool
            opus-tools))))
 
+(define-public emacs-minimal-emms
+  (package-with-emacs-minimal emacs-emms))
+
+(define-public emacs-next-emms
+  (package-with-emacs-next emacs-emms))
+
+(define-public emacs-pgtk-emms
+  (package-with-emacs-pgtk emacs-emms))
+
 (define-public emacs-emms-mode-line-cycle
   (package
     (name "emacs-emms-mode-line-cycle")
@@ -3853,6 +4816,15 @@ (define-public emacs-emms-mode-line-cycle
 within a specified width.  It is useful for displaying long track titles.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-emms-mode-line-cycle
+  (package-with-emacs-minimal emacs-emms-mode-line-cycle))
+
+(define-public emacs-next-emms-mode-line-cycle
+  (package-with-emacs-next emacs-emms-mode-line-cycle))
+
+(define-public emacs-pgtk-emms-mode-line-cycle
+  (package-with-emacs-pgtk emacs-emms-mode-line-cycle))
+
 (define-public emacs-emprise
   (package
     (name "emacs-emprise")
@@ -3877,6 +4849,15 @@ (define-public emacs-emprise
 Selectrum.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-emprise
+  (package-with-emacs-minimal emacs-emprise))
+
+(define-public emacs-next-emprise
+  (package-with-emacs-next emacs-emprise))
+
+(define-public emacs-pgtk-emprise
+  (package-with-emacs-pgtk emacs-emprise))
+
 (define-public emacs-empv
   (package
     (name "emacs-empv")
@@ -3912,6 +4893,15 @@ (define-public emacs-empv
 library manager.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-empv
+  (package-with-emacs-minimal emacs-empv))
+
+(define-public emacs-next-empv
+  (package-with-emacs-next emacs-empv))
+
+(define-public emacs-pgtk-empv
+  (package-with-emacs-pgtk emacs-empv))
+
 (define-public emacs-marginalia-emprise
   (package
     (name "emacs-marginalia-emprise")
@@ -3935,6 +4925,15 @@ (define-public emacs-marginalia-emprise
 playback status, artist name and title for Emprise using Marginalia.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-marginalia-emprise
+  (package-with-emacs-minimal emacs-marginalia-emprise))
+
+(define-public emacs-next-marginalia-emprise
+  (package-with-emacs-next emacs-marginalia-emprise))
+
+(define-public emacs-pgtk-marginalia-emprise
+  (package-with-emacs-pgtk emacs-marginalia-emprise))
+
 (define-public emacs-eradio
   (let ((commit "47769986c79def84307921f0277e9bb2714756c2")
         (revision "0"))
@@ -3959,6 +4958,15 @@ (define-public emacs-eradio
 required.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-eradio
+  (package-with-emacs-minimal emacs-eradio))
+
+(define-public emacs-next-eradio
+  (package-with-emacs-next emacs-eradio))
+
+(define-public emacs-pgtk-eradio
+  (package-with-emacs-pgtk emacs-eradio))
+
 (define-public emacs-ace-link
   (package
     (name "emacs-ace-link")
@@ -3987,6 +4995,15 @@ (define-public emacs-ace-link
 letter to each link using avy.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ace-link
+  (package-with-emacs-minimal emacs-ace-link))
+
+(define-public emacs-next-ace-link
+  (package-with-emacs-next emacs-ace-link))
+
+(define-public emacs-pgtk-ace-link
+  (package-with-emacs-pgtk emacs-ace-link))
+
 (define-public emacs-app-launcher
   ;; XXX: Upstream did not tag any commit so far.  Base version is extracted
   ;; from Version keyword.
@@ -4012,6 +5029,15 @@ (define-public emacs-app-launcher
 installed on your machine and launch it.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-app-launcher
+  (package-with-emacs-minimal emacs-app-launcher))
+
+(define-public emacs-next-app-launcher
+  (package-with-emacs-next emacs-app-launcher))
+
+(define-public emacs-pgtk-app-launcher
+  (package-with-emacs-pgtk emacs-app-launcher))
+
 (define-public emacs-alchemist
   (package
     (name "emacs-alchemist")
@@ -4035,6 +5061,15 @@ (define-public emacs-alchemist
 code completion and project management support.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-alchemist
+  (package-with-emacs-minimal emacs-alchemist))
+
+(define-public emacs-next-alchemist
+  (package-with-emacs-next emacs-alchemist))
+
+(define-public emacs-pgtk-alchemist
+  (package-with-emacs-pgtk emacs-alchemist))
+
 (define-public emacs-auto-compile
   (package
     (name "emacs-auto-compile")
@@ -4058,6 +5093,15 @@ (define-public emacs-auto-compile
 loads outdated byte code files.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-auto-compile
+  (package-with-emacs-minimal emacs-auto-compile))
+
+(define-public emacs-next-auto-compile
+  (package-with-emacs-next emacs-auto-compile))
+
+(define-public emacs-pgtk-auto-compile
+  (package-with-emacs-pgtk emacs-auto-compile))
+
 (define-public emacs-auto-sudoedit
   (package
     (name "emacs-auto-sudoedit")
@@ -4081,6 +5125,15 @@ (define-public emacs-auto-sudoedit
 @command{sudo} if it cannot write to it.")
     (license license:expat)))
 
+(define-public emacs-minimal-auto-sudoedit
+  (package-with-emacs-minimal emacs-auto-sudoedit))
+
+(define-public emacs-next-auto-sudoedit
+  (package-with-emacs-next emacs-auto-sudoedit))
+
+(define-public emacs-pgtk-auto-sudoedit
+  (package-with-emacs-pgtk emacs-auto-sudoedit))
+
 (define-public emacs-read-only-cfg
   ;; XXX: Upstream has no tagged release.  Version is extracted from keyword
   ;; in main file.
@@ -4107,6 +5160,15 @@ (define-public emacs-read-only-cfg
 directories or regex patterns.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-read-only-cfg
+  (package-with-emacs-minimal emacs-read-only-cfg))
+
+(define-public emacs-next-read-only-cfg
+  (package-with-emacs-next emacs-read-only-cfg))
+
+(define-public emacs-pgtk-read-only-cfg
+  (package-with-emacs-pgtk emacs-read-only-cfg))
+
 ;; Use latest commit since there are no tags anymore for several versions
 (define-public emacs-rebecca-theme
   (let ((commit "4b8b5aae9099185e07c2b4cac4943c7f66a3f003")
@@ -4131,6 +5193,15 @@ (define-public emacs-rebecca-theme
 the @code{Dracula} theme for Emacs and the @code{Gloom} theme for Atom.")
       (license license:expat))))
 
+(define-public emacs-minimal-rebecca-theme
+  (package-with-emacs-minimal emacs-rebecca-theme))
+
+(define-public emacs-next-rebecca-theme
+  (package-with-emacs-next emacs-rebecca-theme))
+
+(define-public emacs-pgtk-rebecca-theme
+  (package-with-emacs-pgtk emacs-rebecca-theme))
+
 (define-public emacs-bbdb
   (package
     (name "emacs-bbdb")
@@ -4158,6 +5229,15 @@ (define-public emacs-bbdb
 mode, Rmail, Gnus, MH-E, and VM).  BBDB is fully customizable.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-bbdb
+  (package-with-emacs-minimal emacs-bbdb))
+
+(define-public emacs-next-bbdb
+  (package-with-emacs-next emacs-bbdb))
+
+(define-public emacs-pgtk-bbdb
+  (package-with-emacs-pgtk emacs-bbdb))
+
 (define-public emacs-bbdb-vcard
   ;; No release since Dec 1, 2013.
   (let ((version "0.4.1") ;3d79fdb4200a64a043e203a3baac95c936095b52, not tagged
@@ -4186,6 +5266,15 @@ (define-public emacs-bbdb-vcard
 (BBDB).  Version 2.1 vCards are converted into version 3.0 on import.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-bbdb-vcard
+  (package-with-emacs-minimal emacs-bbdb-vcard))
+
+(define-public emacs-next-bbdb-vcard
+  (package-with-emacs-next emacs-bbdb-vcard))
+
+(define-public emacs-pgtk-bbdb-vcard
+  (package-with-emacs-pgtk emacs-bbdb-vcard))
+
 (define-public emacs-eweouz
   (package
     (name "emacs-eweouz")
@@ -4293,6 +5382,15 @@ (define-public emacs-beacon
 shine on top of your cursor so you know where it is.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-beacon
+  (package-with-emacs-minimal emacs-beacon))
+
+(define-public emacs-next-beacon
+  (package-with-emacs-next emacs-beacon))
+
+(define-public emacs-pgtk-beacon
+  (package-with-emacs-pgtk emacs-beacon))
+
 (define-public emacs-paradox
   (let ((commit "96401577ed02f433debe7604e49afd478e9eda61")) ;version bump
     (package
@@ -4319,6 +5417,15 @@ (define-public emacs-paradox
 customizability and asynchronous upgrading.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-paradox
+  (package-with-emacs-minimal emacs-paradox))
+
+(define-public emacs-next-paradox
+  (package-with-emacs-next emacs-paradox))
+
+(define-public emacs-pgtk-paradox
+  (package-with-emacs-pgtk emacs-paradox))
+
 (define-public emacs-carp
   (let ((commit "17d3d84963434233997626850195f205882bf0df")
         (revision "0"))
@@ -4344,6 +5451,15 @@ (define-public emacs-carp
 listing type errors via Flycheck, as well as REPL support for Carp.")
       (license license:asl2.0))))
 
+(define-public emacs-minimal-carp
+  (package-with-emacs-minimal emacs-carp))
+
+(define-public emacs-next-carp
+  (package-with-emacs-next emacs-carp))
+
+(define-public emacs-pgtk-carp
+  (package-with-emacs-pgtk emacs-carp))
+
 (define-public emacs-coterm
   (package
     (name "emacs-coterm")
@@ -4368,6 +5484,15 @@ (define-public emacs-coterm
 -nw}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-coterm
+  (package-with-emacs-minimal emacs-coterm))
+
+(define-public emacs-next-coterm
+  (package-with-emacs-next emacs-coterm))
+
+(define-public emacs-pgtk-coterm
+  (package-with-emacs-pgtk emacs-coterm))
+
 (define-public emacs-counsel-bbdb
   (package
     (name "emacs-counsel-bbdb")
@@ -4397,6 +5522,15 @@ (define-public emacs-counsel-bbdb
 you can press @samp{C-M-n} to input multiple email addresses.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-counsel-bbdb
+  (package-with-emacs-minimal emacs-counsel-bbdb))
+
+(define-public emacs-next-counsel-bbdb
+  (package-with-emacs-next emacs-counsel-bbdb))
+
+(define-public emacs-pgtk-counsel-bbdb
+  (package-with-emacs-pgtk emacs-counsel-bbdb))
+
 (define-public emacs-bluetooth
   (package
     (name "emacs-bluetooth")
@@ -4422,6 +5556,15 @@ (define-public emacs-bluetooth
 also includes a pairing agent.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-bluetooth
+  (package-with-emacs-minimal emacs-bluetooth))
+
+(define-public emacs-next-bluetooth
+  (package-with-emacs-next emacs-bluetooth))
+
+(define-public emacs-pgtk-bluetooth
+  (package-with-emacs-pgtk emacs-bluetooth))
+
 (define-public emacs-aggressive-indent
   (package
     (name "emacs-aggressive-indent")
@@ -4442,6 +5585,15 @@ (define-public emacs-aggressive-indent
 than @code{electric-indent-mode}.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-aggressive-indent
+  (package-with-emacs-minimal emacs-aggressive-indent))
+
+(define-public emacs-next-aggressive-indent
+  (package-with-emacs-next emacs-aggressive-indent))
+
+(define-public emacs-pgtk-aggressive-indent
+  (package-with-emacs-pgtk emacs-aggressive-indent))
+
 (define-public emacs-gc-stats
   (package
     (name "emacs-gc-stats")
@@ -4466,6 +5618,15 @@ (define-public emacs-gc-stats
 before uploading-it is just a text file.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-gc-stats
+  (package-with-emacs-minimal emacs-gc-stats))
+
+(define-public emacs-next-gc-stats
+  (package-with-emacs-next emacs-gc-stats))
+
+(define-public emacs-pgtk-gc-stats
+  (package-with-emacs-pgtk emacs-gc-stats))
+
 (define-public emacs-gcmh
   ;; No tagged release upstream, but the commit below correspond to the 0.2.1
   ;; release.
@@ -4492,6 +5653,15 @@ (define-public emacs-gcmh
 is set.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-gcmh
+  (package-with-emacs-minimal emacs-gcmh))
+
+(define-public emacs-next-gcmh
+  (package-with-emacs-next emacs-gcmh))
+
+(define-public emacs-pgtk-gcmh
+  (package-with-emacs-pgtk emacs-gcmh))
+
 (define-public emacs-ctrlf
   (package
     (name "emacs-ctrlf")
@@ -4515,6 +5685,15 @@ (define-public emacs-ctrlf
 web browsers, but follows the flow and keybindings of Isearch.")
     (license license:expat)))
 
+(define-public emacs-minimal-ctrlf
+  (package-with-emacs-minimal emacs-ctrlf))
+
+(define-public emacs-next-ctrlf
+  (package-with-emacs-next emacs-ctrlf))
+
+(define-public emacs-pgtk-ctrlf
+  (package-with-emacs-pgtk emacs-ctrlf))
+
 (define-public emacs-dhall-mode
   ;; There is no proper release.  The base version is extracted from the
   ;; "Version" keyword in the main file.
@@ -4551,6 +5730,15 @@ (define-public emacs-dhall-mode
 @end itemize")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-dhall-mode
+  (package-with-emacs-minimal emacs-dhall-mode))
+
+(define-public emacs-next-dhall-mode
+  (package-with-emacs-next emacs-dhall-mode))
+
+(define-public emacs-pgtk-dhall-mode
+  (package-with-emacs-pgtk emacs-dhall-mode))
+
 (define-public emacs-link-hint
   ;; Last release was in 2015.
   (let ((commit "83cd0489b16f013647d0507ef20905a0a91db433")
@@ -4577,6 +5765,15 @@ (define-public emacs-link-hint
 links.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-link-hint
+  (package-with-emacs-minimal emacs-link-hint))
+
+(define-public emacs-next-link-hint
+  (package-with-emacs-next emacs-link-hint))
+
+(define-public emacs-pgtk-link-hint
+  (package-with-emacs-pgtk emacs-link-hint))
+
 (define-public emacs-ag
   (package
     (name "emacs-ag")
@@ -4622,6 +5819,15 @@ (define-public emacs-ag
 rather than the contents of files.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ag
+  (package-with-emacs-minimal emacs-ag))
+
+(define-public emacs-next-ag
+  (package-with-emacs-next emacs-ag))
+
+(define-public emacs-pgtk-ag
+  (package-with-emacs-pgtk emacs-ag))
+
 (define-public emacs-aio
   (package
     (name "emacs-aio")
@@ -4651,6 +5857,15 @@ (define-public emacs-aio
 while paused.")
     (license license:unlicense)))
 
+(define-public emacs-minimal-aio
+  (package-with-emacs-minimal emacs-aio))
+
+(define-public emacs-next-aio
+  (package-with-emacs-next emacs-aio))
+
+(define-public emacs-pgtk-aio
+  (package-with-emacs-pgtk emacs-aio))
+
 (define-public emacs-async
   (package
     (name "emacs-async")
@@ -4679,6 +5894,15 @@ (define-public emacs-async
 as a library for other Emacs packages.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-async
+  (package-with-emacs-minimal emacs-async))
+
+(define-public emacs-next-async
+  (package-with-emacs-next emacs-async))
+
+(define-public emacs-pgtk-async
+  (package-with-emacs-pgtk emacs-async))
+
 (define-public emacs-auctex
   (package
     (name "emacs-auctex")
@@ -4695,7 +5919,6 @@ (define-public emacs-auctex
     ;; ('emacs-minimal' does not provide dbus).
     (arguments
      (list
-      #:emacs emacs
       #:include #~(cons* "^images/" "^latex/" %default-include)
       #:exclude #~(cons "^latex/README" %default-exclude)
       #:phases
@@ -4732,6 +5955,15 @@ (define-public emacs-auctex
 or XEmacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-auctex
+  (package-with-emacs-minimal emacs-auctex))
+
+(define-public emacs-next-auctex
+  (package-with-emacs-next emacs-auctex))
+
+(define-public emacs-pgtk-auctex
+  (package-with-emacs-pgtk emacs-auctex))
+
 (define-public emacs-latex-extra
   (let ((commit "a81e7588448f85c5fcc3f3fc71cf957d0928a656")
         (revision "0"))
@@ -4768,6 +6000,15 @@ (define-public emacs-latex-extra
 as brings user experience improvements.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-latex-extra
+  (package-with-emacs-minimal emacs-latex-extra))
+
+(define-public emacs-next-latex-extra
+  (package-with-emacs-next emacs-latex-extra))
+
+(define-public emacs-pgtk-latex-extra
+  (package-with-emacs-pgtk emacs-latex-extra))
+
 (define-public emacs-autothemer
   (let ((commit "8f72afc6dba5ad7cc3a201a084fd20571f945d2e")) ;version bump
     (package
@@ -4800,6 +6041,15 @@ (define-public emacs-autothemer
 a set of simplified face specifications and a user-supplied color palette.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-autothemer
+  (package-with-emacs-minimal emacs-autothemer))
+
+(define-public emacs-next-autothemer
+  (package-with-emacs-next emacs-autothemer))
+
+(define-public emacs-pgtk-autothemer
+  (package-with-emacs-pgtk emacs-autothemer))
+
 (define-public emacs-howm
   (package
     (name "emacs-howm")
@@ -4834,6 +6084,15 @@ (define-public emacs-howm
 searches.  Unlike code@{emacs-wiki.el}, it can be combined with any format.")
     (license license:gpl1+)))
 
+(define-public emacs-minimal-howm
+  (package-with-emacs-minimal emacs-howm))
+
+(define-public emacs-next-howm
+  (package-with-emacs-next emacs-howm))
+
+(define-public emacs-pgtk-howm
+  (package-with-emacs-pgtk emacs-howm))
+
 (define-public emacs-bm
   (package
     (name "emacs-bm")
@@ -4860,6 +6119,15 @@ (define-public emacs-bm
 the ability to jump forward and backward to the next bookmark.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-bm
+  (package-with-emacs-minimal emacs-bm))
+
+(define-public emacs-next-bm
+  (package-with-emacs-next emacs-bm))
+
+(define-public emacs-pgtk-bm
+  (package-with-emacs-pgtk emacs-bm))
+
 (define-public emacs-calfw
   (package
     (name "emacs-calfw")
@@ -4884,6 +6152,15 @@ (define-public emacs-calfw
 Emacs buffer.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-calfw
+  (package-with-emacs-minimal emacs-calfw))
+
+(define-public emacs-next-calfw
+  (package-with-emacs-next emacs-calfw))
+
+(define-public emacs-pgtk-calfw
+  (package-with-emacs-pgtk emacs-calfw))
+
 (define-public emacs-caml
   (package
     (name "emacs-caml")
@@ -4912,6 +6189,15 @@ (define-public emacs-caml
 @end itemize")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-caml
+  (package-with-emacs-minimal emacs-caml))
+
+(define-public emacs-next-caml
+  (package-with-emacs-next emacs-caml))
+
+(define-public emacs-pgtk-caml
+  (package-with-emacs-pgtk emacs-caml))
+
 (define-public emacs-caps-lock
   (package
     (name "emacs-caps-lock")
@@ -4931,6 +6217,15 @@ (define-public emacs-caps-lock
 Lock key.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-caps-lock
+  (package-with-emacs-minimal emacs-caps-lock))
+
+(define-public emacs-next-caps-lock
+  (package-with-emacs-next emacs-caps-lock))
+
+(define-public emacs-pgtk-caps-lock
+  (package-with-emacs-pgtk emacs-caps-lock))
+
 (define-public emacs-chocolate-theme
   (let ((commit "ccc05f7ad96d3d1332727689bf6250443adc7ec0")
         (revision "0"))
@@ -4956,6 +6251,15 @@ (define-public emacs-chocolate-theme
 Emacs.")
       (license license:gpl3))))
 
+(define-public emacs-minimal-chocolate-theme
+  (package-with-emacs-minimal emacs-chocolate-theme))
+
+(define-public emacs-next-chocolate-theme
+  (package-with-emacs-next emacs-chocolate-theme))
+
+(define-public emacs-pgtk-chocolate-theme
+  (package-with-emacs-pgtk emacs-chocolate-theme))
+
 (define-public emacs-chronometrist
   (package
     (name "emacs-chronometrist")
@@ -5007,6 +6311,15 @@ (define-public emacs-chronometrist
     ;; Software is dual-licensed.
     (license (list license:unlicense license:wtfpl2))))
 
+(define-public emacs-minimal-chronometrist
+  (package-with-emacs-minimal emacs-chronometrist))
+
+(define-public emacs-next-chronometrist
+  (package-with-emacs-next emacs-chronometrist))
+
+(define-public emacs-pgtk-chronometrist
+  (package-with-emacs-pgtk emacs-chronometrist))
+
 (define-public emacs-citeproc-el
   (package
     (name "emacs-citeproc-el")
@@ -5021,8 +6334,6 @@ (define-public emacs-citeproc-el
        (sha256
         (base32 "1l74c2f2xjzsp3i331sw3db4fhbvdbwyd856j1ygldwrh4rli9ml"))))
     (build-system emacs-build-system)
-    (arguments
-     `(#:emacs ,emacs))                 ;need libxml support
     (propagated-inputs
      (list emacs-compat
            emacs-dash
@@ -5040,6 +6351,15 @@ (define-public emacs-citeproc-el
 of bibliographic references.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-citeproc-el
+  (package-with-emacs-minimal emacs-citeproc-el))
+
+(define-public emacs-next-citeproc-el
+  (package-with-emacs-next emacs-citeproc-el))
+
+(define-public emacs-pgtk-citeproc-el
+  (package-with-emacs-pgtk emacs-citeproc-el))
+
 (define-public emacs-corfu
   (package
     (name "emacs-corfu")
@@ -5087,6 +6407,15 @@ (define-public emacs-corfu
 @code{completion-in-region} counterpart of the Vertico minibuffer UI.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-corfu
+  (package-with-emacs-minimal emacs-corfu))
+
+(define-public emacs-next-corfu
+  (package-with-emacs-next emacs-corfu))
+
+(define-public emacs-pgtk-corfu
+  (package-with-emacs-pgtk emacs-corfu))
+
 (define-public emacs-corfu-doc
   (package
     (name "emacs-corfu-doc")
@@ -5110,6 +6439,15 @@ (define-public emacs-corfu-doc
 be regarded as @code{emacs-company-quickhelp} for @code{emacs-corfu}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-corfu-doc
+  (package-with-emacs-minimal emacs-corfu-doc))
+
+(define-public emacs-next-corfu-doc
+  (package-with-emacs-next emacs-corfu-doc))
+
+(define-public emacs-pgtk-corfu-doc
+  (package-with-emacs-pgtk emacs-corfu-doc))
+
 (define-public emacs-corfu-candidate-overlay
   (package
     (name "emacs-corfu-candidate-overlay")
@@ -5134,6 +6472,15 @@ (define-public emacs-corfu-candidate-overlay
      "Simple corfu as-you-type auto-suggestion candidate overlay with a visual
  indication of whether there are many or exactly one candidate available.")))
 
+(define-public emacs-minimal-corfu-candidate-overlay
+  (package-with-emacs-minimal emacs-corfu-candidate-overlay))
+
+(define-public emacs-next-corfu-candidate-overlay
+  (package-with-emacs-next emacs-corfu-candidate-overlay))
+
+(define-public emacs-pgtk-corfu-candidate-overlay
+  (package-with-emacs-pgtk emacs-corfu-candidate-overlay))
+
 (define-public emacs-cape
   (package
     (name "emacs-cape")
@@ -5174,6 +6521,15 @@ (define-public emacs-cape
 provided by Cape can also be used by Company.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-cape
+  (package-with-emacs-minimal emacs-cape))
+
+(define-public emacs-next-cape
+  (package-with-emacs-next emacs-cape))
+
+(define-public emacs-pgtk-cape
+  (package-with-emacs-pgtk emacs-cape))
+
 (define-public emacs-direnv
   (package
     (name "emacs-direnv")
@@ -5213,6 +6569,15 @@ (define-public emacs-direnv
 environment set through Direnv.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-direnv
+  (package-with-emacs-minimal emacs-direnv))
+
+(define-public emacs-next-direnv
+  (package-with-emacs-next emacs-direnv))
+
+(define-public emacs-pgtk-direnv
+  (package-with-emacs-pgtk emacs-direnv))
+
 (define-public emacs-elf-mode
   (package
     (name "emacs-elf-mode")
@@ -5234,6 +6599,15 @@ (define-public emacs-elf-mode
 that the binary uses instead of the actual binary contents.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-elf-mode
+  (package-with-emacs-minimal emacs-elf-mode))
+
+(define-public emacs-next-elf-mode
+  (package-with-emacs-next emacs-elf-mode))
+
+(define-public emacs-pgtk-elf-mode
+  (package-with-emacs-pgtk emacs-elf-mode))
+
 (define-public emacs-ellama
   (package
     (name "emacs-ellama")
@@ -5259,6 +6633,15 @@ (define-public emacs-ellama
 your preferred text editor.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ellama
+  (package-with-emacs-minimal emacs-ellama))
+
+(define-public emacs-next-ellama
+  (package-with-emacs-next emacs-ellama))
+
+(define-public emacs-pgtk-ellama
+  (package-with-emacs-pgtk emacs-ellama))
+
 (define-public emacs-org-fc
   (package
     (name "emacs-org-fc")
@@ -5317,6 +6700,15 @@ (define-public emacs-org-fc
 calculated based on how well you remembered the contents of the card.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-fc
+  (package-with-emacs-minimal emacs-org-fc))
+
+(define-public emacs-next-org-fc
+  (package-with-emacs-next emacs-org-fc))
+
+(define-public emacs-pgtk-org-fc
+  (package-with-emacs-pgtk emacs-org-fc))
+
 (define-public emacs-font-lock+
   (let ((commit "aa1c82d05c9222b09099a0ccd7468e955497940c")
         (revision "0"))
@@ -5339,6 +6731,15 @@ (define-public emacs-font-lock+
        "This package provides enhancements to standard Font Lock library.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-font-lock+
+  (package-with-emacs-minimal emacs-font-lock+))
+
+(define-public emacs-next-font-lock+
+  (package-with-emacs-next emacs-font-lock+))
+
+(define-public emacs-pgtk-font-lock+
+  (package-with-emacs-pgtk emacs-font-lock+))
+
 (define-public emacs-font-lock-studio
   (let ((commit "12c35967b31233e06946c70627aa3152dacfe261")
         (revision "1"))
@@ -5368,6 +6769,15 @@ (define-public emacs-font-lock-studio
 the Font Lock keywords.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-font-lock-studio
+  (package-with-emacs-minimal emacs-font-lock-studio))
+
+(define-public emacs-next-font-lock-studio
+  (package-with-emacs-next emacs-font-lock-studio))
+
+(define-public emacs-pgtk-font-lock-studio
+  (package-with-emacs-pgtk emacs-font-lock-studio))
+
 (define-public emacs-fontaine
   (package
     (name "emacs-fontaine")
@@ -5389,6 +6799,15 @@ (define-public emacs-fontaine
 and set them on demand on graphical Emacs frames.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-fontaine
+  (package-with-emacs-minimal emacs-fontaine))
+
+(define-public emacs-next-fontaine
+  (package-with-emacs-next emacs-fontaine))
+
+(define-public emacs-pgtk-fontaine
+  (package-with-emacs-pgtk emacs-fontaine))
+
 (define-public emacs-form-feed
   (package
     (name "emacs-form-feed")
@@ -5412,6 +6831,15 @@ (define-public emacs-form-feed
 into mode hooks and is intended to be used that way.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-form-feed
+  (package-with-emacs-minimal emacs-form-feed))
+
+(define-public emacs-next-form-feed
+  (package-with-emacs-next emacs-form-feed))
+
+(define-public emacs-pgtk-form-feed
+  (package-with-emacs-pgtk emacs-form-feed))
+
 (define-public emacs-xcscope
   (let ((commit "d228d7593d762e457340f678d14b663ef66d7cee")
         (revision "0"))
@@ -5445,6 +6873,15 @@ (define-public emacs-xcscope
 tool.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-xcscope
+  (package-with-emacs-minimal emacs-xcscope))
+
+(define-public emacs-next-xcscope
+  (package-with-emacs-next emacs-xcscope))
+
+(define-public emacs-pgtk-xcscope
+  (package-with-emacs-pgtk emacs-xcscope))
+
 (define-public emacs-ggtags
   (package
     (name "emacs-ggtags")
@@ -5501,6 +6938,15 @@ (define-public emacs-ggtags
 @end itemize\n")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ggtags
+  (package-with-emacs-minimal emacs-ggtags))
+
+(define-public emacs-next-ggtags
+  (package-with-emacs-next emacs-ggtags))
+
+(define-public emacs-pgtk-ggtags
+  (package-with-emacs-pgtk emacs-ggtags))
+
 (define-public emacs-go-mode
   ;; XXX: Upstream did not tag last release.  The commit below matches version
   ;; bump.
@@ -5543,6 +6989,15 @@ (define-public emacs-go-mode
 written in the Go programming language.")
       (license license:bsd-3))))
 
+(define-public emacs-minimal-go-mode
+  (package-with-emacs-minimal emacs-go-mode))
+
+(define-public emacs-next-go-mode
+  (package-with-emacs-next emacs-go-mode))
+
+(define-public emacs-pgtk-go-mode
+  (package-with-emacs-pgtk emacs-go-mode))
+
 (define-public emacs-google-maps
   ;; There has been no new release tag since 2013.
   (let ((commit "2eb16ff609f5a9f8d02c15238a111fbb7db6c146")
@@ -5566,6 +7021,15 @@ (define-public emacs-google-maps
 directly inside Emacs.  It requires a Google Map Static API key to function.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-google-maps
+  (package-with-emacs-minimal emacs-google-maps))
+
+(define-public emacs-next-google-maps
+  (package-with-emacs-next emacs-google-maps))
+
+(define-public emacs-pgtk-google-maps
+  (package-with-emacs-pgtk emacs-google-maps))
+
 (define-public emacs-geoclue
   (let ((commit "f409b544be4d2cfd848f4658618374b0bc76cb3c")
         (revision "1"))
@@ -5588,6 +7052,15 @@ (define-public emacs-geoclue
 determine your current location using GeoClue2 over D-Bus.")
       (license (list license:gpl3+)))))
 
+(define-public emacs-minimal-geoclue
+  (package-with-emacs-minimal emacs-geoclue))
+
+(define-public emacs-next-geoclue
+  (package-with-emacs-next emacs-geoclue))
+
+(define-public emacs-pgtk-geoclue
+  (package-with-emacs-pgtk emacs-geoclue))
+
 (define-public emacs-nominatim
   (let ((revision "0")
         (commit "f814e16f8f4e2cfd633f52b29699a009ab704fbf"))
@@ -5610,6 +7083,15 @@ (define-public emacs-nominatim
 reverse geocode using Nominatim, a component of OpenStreetMap.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-nominatim
+  (package-with-emacs-minimal emacs-nominatim))
+
+(define-public emacs-next-nominatim
+  (package-with-emacs-next emacs-nominatim))
+
+(define-public emacs-pgtk-nominatim
+  (package-with-emacs-pgtk emacs-nominatim))
+
 (define-public emacs-org-street
   (let ((revision "0")
         (commit "17913afe01504ee0cbcf83abaca18c5c618f9b33"))
@@ -5636,6 +7118,15 @@ (define-public emacs-org-street
 returns multiple locations, a list is displayed to choose from.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-street
+  (package-with-emacs-minimal emacs-org-street))
+
+(define-public emacs-next-org-street
+  (package-with-emacs-next emacs-org-street))
+
+(define-public emacs-pgtk-org-street
+  (package-with-emacs-pgtk emacs-org-street))
+
 (define-public emacs-graphviz-dot-mode
   (package
     (name "emacs-graphviz-dot-mode")
@@ -5681,6 +7172,15 @@ (define-public emacs-graphviz-dot-mode
 using the DOT syntax, and use Graphviz to convert these files to diagrams.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-graphviz-dot-mode
+  (package-with-emacs-minimal emacs-graphviz-dot-mode))
+
+(define-public emacs-next-graphviz-dot-mode
+  (package-with-emacs-next emacs-graphviz-dot-mode))
+
+(define-public emacs-pgtk-graphviz-dot-mode
+  (package-with-emacs-pgtk emacs-graphviz-dot-mode))
+
 (define-public emacs-imenu-list
   (let ((commit "b50222378412fbe321622a84cb2b036e084c697a")
         (revision "1")
@@ -5709,6 +7209,15 @@ (define-public emacs-imenu-list
 window).")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-imenu-list
+  (package-with-emacs-minimal emacs-imenu-list))
+
+(define-public emacs-next-imenu-list
+  (package-with-emacs-next emacs-imenu-list))
+
+(define-public emacs-pgtk-imenu-list
+  (package-with-emacs-pgtk emacs-imenu-list))
+
 (define-public emacs-imenu-anywhere
   (package
     (name "emacs-imenu-anywhere")
@@ -5733,6 +7242,15 @@ (define-public emacs-imenu-anywhere
 mode buffers.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-imenu-anywhere
+  (package-with-emacs-minimal emacs-imenu-anywhere))
+
+(define-public emacs-next-imenu-anywhere
+  (package-with-emacs-next emacs-imenu-anywhere))
+
+(define-public emacs-pgtk-imenu-anywhere
+  (package-with-emacs-pgtk emacs-imenu-anywhere))
+
 (define-public emacs-mmm-mode
   (package
     (name "emacs-mmm-mode")
@@ -5752,6 +7270,15 @@ (define-public emacs-mmm-mode
 a single buffer.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-mmm-mode
+  (package-with-emacs-minimal emacs-mmm-mode))
+
+(define-public emacs-next-mmm-mode
+  (package-with-emacs-next emacs-mmm-mode))
+
+(define-public emacs-pgtk-mmm-mode
+  (package-with-emacs-pgtk emacs-mmm-mode))
+
 (define-public emacs-mmt
   (package
     (name "emacs-mmt")
@@ -5772,6 +7299,15 @@ (define-public emacs-mmt
 Lisp developers who want to write macros with convenience.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-mmt
+  (package-with-emacs-minimal emacs-mmt))
+
+(define-public emacs-next-mmt
+  (package-with-emacs-next emacs-mmt))
+
+(define-public emacs-pgtk-mmt
+  (package-with-emacs-pgtk emacs-mmt))
+
 (define-public emacs-noman
   (package
     (name "emacs-noman")
@@ -5793,6 +7329,15 @@ (define-public emacs-noman
     (home-page "https://github.com/andykuszyk/noman.el")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-noman
+  (package-with-emacs-minimal emacs-noman))
+
+(define-public emacs-next-noman
+  (package-with-emacs-next emacs-noman))
+
+(define-public emacs-pgtk-noman
+  (package-with-emacs-pgtk emacs-noman))
+
 (define-public emacs-tablist
   (package
     (name "emacs-tablist")
@@ -5869,6 +7414,15 @@ (define-public emacs-djvu
 DjVuLibre, see @url{http://djvu.sourceforge.net/}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-djvu
+  (package-with-emacs-minimal emacs-djvu))
+
+(define-public emacs-next-djvu
+  (package-with-emacs-next emacs-djvu))
+
+(define-public emacs-pgtk-djvu
+  (package-with-emacs-pgtk emacs-djvu))
+
 (define-public emacs-djvu3
   ;; Commit from 2021-06-03.
   (let ((commit "37b675be1d4d436cdd0c3b5d3f13e88b59a7bf18")
@@ -5908,6 +7462,15 @@ (define-public emacs-djvu3
 @end itemize")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-djvu3
+  (package-with-emacs-minimal emacs-djvu3))
+
+(define-public emacs-next-djvu3
+  (package-with-emacs-next emacs-djvu3))
+
+(define-public emacs-pgtk-djvu3
+  (package-with-emacs-pgtk emacs-djvu3))
+
 (define-public emacs-pabbrev
   (package
     (name "emacs-pabbrev")
@@ -5932,6 +7495,15 @@ (define-public emacs-pabbrev
 during idle time, while Emacs is doing nothing else.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-pabbrev
+  (package-with-emacs-minimal emacs-pabbrev))
+
+(define-public emacs-next-pabbrev
+  (package-with-emacs-next emacs-pabbrev))
+
+(define-public emacs-pgtk-pabbrev
+  (package-with-emacs-pgtk emacs-pabbrev))
+
 (define-public emacs-pdf-tools
   (package
     (name "emacs-pdf-tools")
@@ -6053,6 +7625,15 @@ (define-public emacs-saveplace-pdf-view
 restore the saved place.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-saveplace-pdf-view
+  (package-with-emacs-minimal emacs-saveplace-pdf-view))
+
+(define-public emacs-next-saveplace-pdf-view
+  (package-with-emacs-next emacs-saveplace-pdf-view))
+
+(define-public emacs-pgtk-saveplace-pdf-view
+  (package-with-emacs-pgtk emacs-saveplace-pdf-view))
+
 (define-public emacs-sakura-theme
   (package
     (name "emacs-sakura-theme")
@@ -6075,6 +7656,15 @@ (define-public emacs-sakura-theme
 inspired by the Deep Purple.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-sakura-theme
+  (package-with-emacs-minimal emacs-sakura-theme))
+
+(define-public emacs-next-sakura-theme
+  (package-with-emacs-next emacs-sakura-theme))
+
+(define-public emacs-pgtk-sakura-theme
+  (package-with-emacs-pgtk emacs-sakura-theme))
+
 (define-public emacs-pdfgrep
   ;; XXX: Upstream does not tag releases.  The commit below matches latest
   ;; version bump.
@@ -6112,6 +7702,15 @@ (define-public emacs-pdfgrep
 next matching page.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-pdfgrep
+  (package-with-emacs-minimal emacs-pdfgrep))
+
+(define-public emacs-next-pdfgrep
+  (package-with-emacs-next emacs-pdfgrep))
+
+(define-public emacs-pgtk-pdfgrep
+  (package-with-emacs-pgtk emacs-pdfgrep))
+
 (define-public emacs-dash
   (package
     (name "emacs-dash")
@@ -6305,6 +7904,15 @@ (define-public emacs-build-farm
 evaluations.  The entry point is @code{M-x build-farm} command.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-build-farm
+  (package-with-emacs-minimal emacs-build-farm))
+
+(define-public emacs-next-build-farm
+  (package-with-emacs-next emacs-build-farm))
+
+(define-public emacs-pgtk-build-farm
+  (package-with-emacs-pgtk emacs-build-farm))
+
 (define-public emacs-d-mode
   (package
     (name "emacs-d-mode")
@@ -6327,6 +7935,15 @@ (define-public emacs-d-mode
 code written in the D programming language.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-d-mode
+  (package-with-emacs-minimal emacs-d-mode))
+
+(define-public emacs-next-d-mode
+  (package-with-emacs-next emacs-d-mode))
+
+(define-public emacs-pgtk-d-mode
+  (package-with-emacs-pgtk emacs-d-mode))
+
 (define-public emacs-extempore-mode
   ;; Use the latest commit at time of packaging.  There are no releases or tags.
   (let ((commit "92e0fff482a0a4dc2971c39581c5ea9e84ae5e1c")
@@ -6352,6 +7969,15 @@ (define-public emacs-extempore-mode
 running Extempore process, and more.")
       (license license:bsd-2))))
 
+(define-public emacs-minimal-extempore-mode
+  (package-with-emacs-minimal emacs-extempore-mode))
+
+(define-public emacs-next-extempore-mode
+  (package-with-emacs-next emacs-extempore-mode))
+
+(define-public emacs-pgtk-extempore-mode
+  (package-with-emacs-pgtk emacs-extempore-mode))
+
 (define-public emacs-external-completion
   (package
     (name "emacs-external-completion")
@@ -6379,6 +8005,15 @@ (define-public emacs-external-completion
 completely unfeasible.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-external-completion
+  (package-with-emacs-minimal emacs-external-completion))
+
+(define-public emacs-next-external-completion
+  (package-with-emacs-next emacs-external-completion))
+
+(define-public emacs-pgtk-external-completion
+  (package-with-emacs-pgtk emacs-external-completion))
+
 (define-public emacs-kakoune
   ;; Package has no release.  Version is extracted from "Version:" keyword in
   ;; main file.
@@ -6408,6 +8043,15 @@ (define-public emacs-kakoune
 possible.")
       (license license:expat))))
 
+(define-public emacs-minimal-kakoune
+  (package-with-emacs-minimal emacs-kakoune))
+
+(define-public emacs-next-kakoune
+  (package-with-emacs-next emacs-kakoune))
+
+(define-public emacs-pgtk-kakoune
+  (package-with-emacs-pgtk emacs-kakoune))
+
 (define-public emacs-kana
   ;; Package has no release.  Version is extracted from "Version:" keyword in
   ;; main file.
@@ -6433,6 +8077,15 @@ (define-public emacs-kana
 functionality from Emacs Kanji mode if it is installed.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-kana
+  (package-with-emacs-minimal emacs-kana))
+
+(define-public emacs-next-kana
+  (package-with-emacs-next emacs-kana))
+
+(define-public emacs-pgtk-kana
+  (package-with-emacs-pgtk emacs-kana))
+
 (define-public emacs-kanji
   ;; Package has no release.  Version is extracted from "Version:" keyword in
   ;; main file.
@@ -6460,6 +8113,15 @@ (define-public emacs-kanji
 and limited version of the images provided by the KanjiVG project.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-kanji
+  (package-with-emacs-minimal emacs-kanji))
+
+(define-public emacs-next-kanji
+  (package-with-emacs-next emacs-kanji))
+
+(define-public emacs-pgtk-kanji
+  (package-with-emacs-pgtk emacs-kanji))
+
 (define-public emacs-kbd
   ;; Package has no release.  Version is extracted from "Version:" keyword in
   ;; main file.
@@ -6485,6 +8147,15 @@ (define-public emacs-kbd
 kmonad's configuration files (@file{.kbd}).")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-kbd
+  (package-with-emacs-minimal emacs-kbd))
+
+(define-public emacs-next-kbd
+  (package-with-emacs-next emacs-kbd))
+
+(define-public emacs-pgtk-kbd
+  (package-with-emacs-pgtk emacs-kbd))
+
 (define-public emacs-keycast
   (package
     (name "emacs-keycast")
@@ -6509,6 +8180,15 @@ (define-public emacs-keycast
 them whenever another command is invoked.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-keycast
+  (package-with-emacs-minimal emacs-keycast))
+
+(define-public emacs-next-keycast
+  (package-with-emacs-next emacs-keycast))
+
+(define-public emacs-pgtk-keycast
+  (package-with-emacs-pgtk emacs-keycast))
+
 (define-public emacs-keyfreq
   (package
     (name "emacs-keyfreq")
@@ -6528,6 +8208,15 @@ (define-public emacs-keyfreq
 a command.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-keyfreq
+  (package-with-emacs-minimal emacs-keyfreq))
+
+(define-public emacs-next-keyfreq
+  (package-with-emacs-next emacs-keyfreq))
+
+(define-public emacs-pgtk-keyfreq
+  (package-with-emacs-pgtk emacs-keyfreq))
+
 (define-public emacs-ligature
   (let ((commit "3d1460470736777fd8329e4bb4ac359bf4f1460a")
         (revision "1"))
@@ -6554,6 +8243,15 @@ (define-public emacs-ligature
 or if you want to ensure that some modes have no ligatures at all.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ligature
+  (package-with-emacs-minimal emacs-ligature))
+
+(define-public emacs-next-ligature
+  (package-with-emacs-next emacs-ligature))
+
+(define-public emacs-pgtk-ligature
+  (package-with-emacs-pgtk emacs-ligature))
+
 (define-public emacs-olivetti
   (package
     (name "emacs-olivetti")
@@ -6574,6 +8272,15 @@ (define-public emacs-olivetti
 in the center.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-olivetti
+  (package-with-emacs-minimal emacs-olivetti))
+
+(define-public emacs-next-olivetti
+  (package-with-emacs-next emacs-olivetti))
+
+(define-public emacs-pgtk-olivetti
+  (package-with-emacs-pgtk emacs-olivetti))
+
 (define-public emacs-undo-tree
   (package
     (name "emacs-undo-tree")
@@ -6598,6 +8305,15 @@ (define-public emacs-undo-tree
 allows easily move between them.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-undo-tree
+  (package-with-emacs-minimal emacs-undo-tree))
+
+(define-public emacs-next-undo-tree
+  (package-with-emacs-next emacs-undo-tree))
+
+(define-public emacs-pgtk-undo-tree
+  (package-with-emacs-pgtk emacs-undo-tree))
+
 (define-public emacs-undo-fu
   ;; There are no tagged releases upstream, instead we are using
   ;; the most recent commit.
@@ -6624,6 +8340,15 @@ (define-public emacs-undo-fu
 allowing you to visit all previous states of the document if you need.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-undo-fu
+  (package-with-emacs-minimal emacs-undo-fu))
+
+(define-public emacs-next-undo-fu
+  (package-with-emacs-next emacs-undo-fu))
+
+(define-public emacs-pgtk-undo-fu
+  (package-with-emacs-pgtk emacs-undo-fu))
+
 (define-public emacs-undo-fu-session
   ;; There are no tagged releases upstream, instead we are using the
   ;; most recent commit.
@@ -6662,6 +8387,15 @@ (define-public emacs-undo-fu-session
 which is restored where possible when the file is loaded again.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-undo-fu-session
+  (package-with-emacs-minimal emacs-undo-fu-session))
+
+(define-public emacs-next-undo-fu-session
+  (package-with-emacs-next emacs-undo-fu-session))
+
+(define-public emacs-pgtk-undo-fu-session
+  (package-with-emacs-pgtk emacs-undo-fu-session))
+
 (define-public emacs-s
   (package
     (name "emacs-s")
@@ -6685,6 +8419,15 @@ (define-public emacs-s
 strings.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-s
+  (package-with-emacs-minimal emacs-s))
+
+(define-public emacs-next-s
+  (package-with-emacs-next emacs-s))
+
+(define-public emacs-pgtk-s
+  (package-with-emacs-pgtk emacs-s))
+
 (define-public emacs-inflections
   (package
     (name "emacs-inflections")
@@ -6706,6 +8449,15 @@ (define-public emacs-inflections
 english words between singular and plural.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-inflections
+  (package-with-emacs-minimal emacs-inflections))
+
+(define-public emacs-next-inflections
+  (package-with-emacs-next emacs-inflections))
+
+(define-public emacs-pgtk-inflections
+  (package-with-emacs-pgtk emacs-inflections))
+
 (define-public emacs-blight
   (package
     (name "emacs-blight")
@@ -6744,6 +8496,15 @@ (define-public emacs-blight
 easily supportable, giving the same experience across environments.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-blight
+  (package-with-emacs-minimal emacs-blight))
+
+(define-public emacs-next-blight
+  (package-with-emacs-next emacs-blight))
+
+(define-public emacs-pgtk-blight
+  (package-with-emacs-pgtk emacs-blight))
+
 (define-public emacs-symon
   (package
     (name "emacs-symon")
@@ -6764,6 +8525,15 @@ (define-public emacs-symon
      "Tiny graphical system monitor for the Emacs minibuffer when idle.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-symon
+  (package-with-emacs-minimal emacs-symon))
+
+(define-public emacs-next-symon
+  (package-with-emacs-next emacs-symon))
+
+(define-public emacs-pgtk-symon
+  (package-with-emacs-pgtk emacs-symon))
+
 (define-public emacs-lemon
   (package
     (name "emacs-lemon")
@@ -6802,6 +8572,15 @@ (define-public emacs-lemon
 EXWM.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-lemon
+  (package-with-emacs-minimal emacs-lemon))
+
+(define-public emacs-next-lemon
+  (package-with-emacs-next emacs-lemon))
+
+(define-public emacs-pgtk-lemon
+  (package-with-emacs-pgtk emacs-lemon))
+
 (define-public emacs-sx
   (let ((version "20191229")
         (revision "0")
@@ -6828,6 +8607,15 @@ (define-public emacs-sx
 Stack Overflow, Super User, and other StackExchange sites.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-sx
+  (package-with-emacs-minimal emacs-sx))
+
+(define-public emacs-next-sx
+  (package-with-emacs-next emacs-sx))
+
+(define-public emacs-pgtk-sx
+  (package-with-emacs-pgtk emacs-sx))
+
 (define-public emacs-skempo
   (package
     (name "emacs-skempo")
@@ -6851,6 +8639,15 @@ (define-public emacs-skempo
 also adds tags and marks support for Skeleton, and Abbrev support for Tempo.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-skempo
+  (package-with-emacs-minimal emacs-skempo))
+
+(define-public emacs-next-skempo
+  (package-with-emacs-next emacs-skempo))
+
+(define-public emacs-pgtk-skempo
+  (package-with-emacs-pgtk emacs-skempo))
+
 (define-public emacs-toc-org
   (package
     (name "emacs-toc-org")
@@ -6872,6 +8669,15 @@ (define-public emacs-toc-org
 Markdown files.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-toc-org
+  (package-with-emacs-minimal emacs-toc-org))
+
+(define-public emacs-next-toc-org
+  (package-with-emacs-next emacs-toc-org))
+
+(define-public emacs-pgtk-toc-org
+  (package-with-emacs-pgtk emacs-toc-org))
+
 (define-public emacs-toml-mode
   (let ((version "0.1.3")
         (revision "0")
@@ -6899,6 +8705,15 @@ (define-public emacs-toml-mode
 (Tom's Obvious, Minimal Language) data format.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-toml-mode
+  (package-with-emacs-minimal emacs-toml-mode))
+
+(define-public emacs-next-toml-mode
+  (package-with-emacs-next emacs-toml-mode))
+
+(define-public emacs-pgtk-toml-mode
+  (package-with-emacs-pgtk emacs-toml-mode))
+
 (define-public emacs-twittering-mode
   (package
     (name "emacs-twittering-mode")
@@ -6920,6 +8735,15 @@ (define-public emacs-twittering-mode
 Emacs.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-twittering-mode
+  (package-with-emacs-minimal emacs-twittering-mode))
+
+(define-public emacs-next-twittering-mode
+  (package-with-emacs-next emacs-twittering-mode))
+
+(define-public emacs-pgtk-twittering-mode
+  (package-with-emacs-pgtk emacs-twittering-mode))
+
 (define-public emacs-f
   (package
     (name "emacs-f")
@@ -6942,6 +8766,15 @@ (define-public emacs-f
 files and directories.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-f
+  (package-with-emacs-minimal emacs-f))
+
+(define-public emacs-next-f
+  (package-with-emacs-next emacs-f))
+
+(define-public emacs-pgtk-f
+  (package-with-emacs-pgtk emacs-f))
+
 (define-public emacs-fountain-mode
   (package
     (name "emacs-fountain-mode")
@@ -6968,6 +8801,15 @@ (define-public emacs-fountain-mode
 using the Fountain plain text markup format.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-fountain-mode
+  (package-with-emacs-minimal emacs-fountain-mode))
+
+(define-public emacs-next-fountain-mode
+  (package-with-emacs-next emacs-fountain-mode))
+
+(define-public emacs-pgtk-fountain-mode
+  (package-with-emacs-pgtk emacs-fountain-mode))
+
 (define-public emacs-fringe-helper
   (let ((commit "ef4a9c023bae18ec1ddd7265f1f2d6d2e775efdd")
         (revision "1"))
@@ -6996,6 +8838,15 @@ (define-public emacs-fringe-helper
 representation.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-fringe-helper
+  (package-with-emacs-minimal emacs-fringe-helper))
+
+(define-public emacs-next-fringe-helper
+  (package-with-emacs-next emacs-fringe-helper))
+
+(define-public emacs-pgtk-fringe-helper
+  (package-with-emacs-pgtk emacs-fringe-helper))
+
 (define-public emacs-git-gutter
   (let ((commit "ec28e85d237065cb3c28db4b66d129da6d309f9c")
         (revision "0"))
@@ -7024,6 +8875,15 @@ (define-public emacs-git-gutter
 display and behaviour is easily customisable.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-git-gutter
+  (package-with-emacs-minimal emacs-git-gutter))
+
+(define-public emacs-next-git-gutter
+  (package-with-emacs-next emacs-git-gutter))
+
+(define-public emacs-pgtk-git-gutter
+  (package-with-emacs-pgtk emacs-git-gutter))
+
 (define-public emacs-git-gutter-fringe
   (let ((commit "648cb5b57faec55711803cdc9434e55a733c3eba")
         (revision "2"))
@@ -7049,6 +8909,15 @@ (define-public emacs-git-gutter-fringe
 window.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-git-gutter-fringe
+  (package-with-emacs-minimal emacs-git-gutter-fringe))
+
+(define-public emacs-next-git-gutter-fringe
+  (package-with-emacs-next emacs-git-gutter-fringe))
+
+(define-public emacs-pgtk-git-gutter-fringe
+  (package-with-emacs-pgtk emacs-git-gutter-fringe))
+
 (define-public emacs-git-link
   (package
     (name "emacs-git-link")
@@ -7075,6 +8944,15 @@ (define-public emacs-git-link
 the URL for a commit.  URLs are added to the kill ring.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-git-link
+  (package-with-emacs-minimal emacs-git-link))
+
+(define-public emacs-next-git-link
+  (package-with-emacs-next emacs-git-link))
+
+(define-public emacs-pgtk-git-link
+  (package-with-emacs-pgtk emacs-git-link))
+
 (define-public emacs-frowny
   (package
     (name "emacs-frowny")
@@ -7097,6 +8975,15 @@ (define-public emacs-frowny
 @code{electric-pair-mode}, @code{paredit-mode}, and others.")
     (license license:public-domain)))
 
+(define-public emacs-minimal-frowny
+  (package-with-emacs-minimal emacs-frowny))
+
+(define-public emacs-next-frowny
+  (package-with-emacs-next emacs-frowny))
+
+(define-public emacs-pgtk-frowny
+  (package-with-emacs-pgtk emacs-frowny))
+
 (define-public emacs-apache-mode
   (package
     (name "emacs-apache-mode")
@@ -7120,6 +9007,15 @@ (define-public emacs-apache-mode
 This mode supports Apache HTTP Server 2.4 and major modules.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-apache-mode
+  (package-with-emacs-minimal emacs-apache-mode))
+
+(define-public emacs-next-apache-mode
+  (package-with-emacs-next emacs-apache-mode))
+
+(define-public emacs-pgtk-apache-mode
+  (package-with-emacs-pgtk emacs-apache-mode))
+
 (define-public emacs-apheleia
   (package
     (name "emacs-apheleia")
@@ -7142,6 +9038,15 @@ (define-public emacs-apheleia
 saving won't move point back to the beginning of the buffer.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-apheleia
+  (package-with-emacs-minimal emacs-apheleia))
+
+(define-public emacs-next-apheleia
+  (package-with-emacs-next emacs-apheleia))
+
+(define-public emacs-pgtk-apheleia
+  (package-with-emacs-pgtk emacs-apheleia))
+
 (define-public emacs-git-timemachine
   (package
     (name "emacs-git-timemachine")
@@ -7163,6 +9068,15 @@ (define-public emacs-git-timemachine
 of files under Git version control from within Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-git-timemachine
+  (package-with-emacs-minimal emacs-git-timemachine))
+
+(define-public emacs-next-git-timemachine
+  (package-with-emacs-next emacs-git-timemachine))
+
+(define-public emacs-pgtk-git-timemachine
+  (package-with-emacs-pgtk emacs-git-timemachine))
+
 (define-public emacs-minitest
   (package
     (name "emacs-minitest")
@@ -7192,6 +9106,15 @@ (define-public emacs-minitest
 This package also includes relevant snippets for yasnippet.")
     (license license:expat)))
 
+(define-public emacs-minimal-minitest
+  (package-with-emacs-minimal emacs-minitest))
+
+(define-public emacs-next-minitest
+  (package-with-emacs-next emacs-minitest))
+
+(define-public emacs-pgtk-minitest
+  (package-with-emacs-pgtk emacs-minitest))
+
 (define-public emacs-gdscript-mode
   (package
     (name "emacs-gdscript-mode")
@@ -7215,6 +9138,15 @@ (define-public emacs-gdscript-mode
 and code formatting.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-gdscript-mode
+  (package-with-emacs-minimal emacs-gdscript-mode))
+
+(define-public emacs-next-gdscript-mode
+  (package-with-emacs-next emacs-gdscript-mode))
+
+(define-public emacs-pgtk-gdscript-mode
+  (package-with-emacs-pgtk emacs-gdscript-mode))
+
 (define-public emacs-el-mock
   (let ((commit "6cfbc9de8f1927295dca6864907fe4156bd71910")
         (revision "1"))
@@ -7239,6 +9171,15 @@ (define-public emacs-el-mock
 Expectations, but it can be used in other contexts.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-el-mock
+  (package-with-emacs-minimal emacs-el-mock))
+
+(define-public emacs-next-el-mock
+  (package-with-emacs-next emacs-el-mock))
+
+(define-public emacs-pgtk-el-mock
+  (package-with-emacs-pgtk emacs-el-mock))
+
 (define-public emacs-ecukes
   (package
     (name "emacs-ecukes")
@@ -7270,6 +9211,15 @@ (define-public emacs-ecukes
 intended to be.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ecukes
+  (package-with-emacs-minimal emacs-ecukes))
+
+(define-public emacs-next-ecukes
+  (package-with-emacs-next emacs-ecukes))
+
+(define-public emacs-pgtk-ecukes
+  (package-with-emacs-pgtk emacs-ecukes))
+
 (define-public emacs-ef-themes
   (package
     (name "emacs-ef-themes")
@@ -7293,6 +9243,15 @@ (define-public emacs-ef-themes
 something with a bit more flair than the Modus themes.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ef-themes
+  (package-with-emacs-minimal emacs-ef-themes))
+
+(define-public emacs-next-ef-themes
+  (package-with-emacs-next emacs-ef-themes))
+
+(define-public emacs-pgtk-ef-themes
+  (package-with-emacs-pgtk emacs-ef-themes))
+
 (define-public emacs-espuds
   (package
     (name "emacs-espuds")
@@ -7315,6 +9274,15 @@ (define-public emacs-espuds
 definitions for testing with the Ecukes framework.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-espuds
+  (package-with-emacs-minimal emacs-espuds))
+
+(define-public emacs-next-espuds
+  (package-with-emacs-next emacs-espuds))
+
+(define-public emacs-pgtk-espuds
+  (package-with-emacs-pgtk emacs-espuds))
+
 (define-public emacs-spark
   (let ((version "20160503")  ; no proper tag, use date of commit
         (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025")
@@ -7340,6 +9308,15 @@ (define-public emacs-spark
 port of @code{cl-spark} to Emacs Lisp.")
       (license license:expat))))
 
+(define-public emacs-minimal-spark
+  (package-with-emacs-minimal emacs-spark))
+
+(define-public emacs-next-spark
+  (package-with-emacs-next emacs-spark))
+
+(define-public emacs-pgtk-spark
+  (package-with-emacs-pgtk emacs-spark))
+
 (define-public emacs-spray
   (let ((version "0.0.2") (revision "0")
         (commit "74d9dcfa2e8b38f96a43de9ab0eb13364300cb46"))
@@ -7363,6 +9340,15 @@ (define-public emacs-spray
 the buffer to show one word at a time.  Adjust speed / pause as needed.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-spray
+  (package-with-emacs-minimal emacs-spray))
+
+(define-public emacs-next-spray
+  (package-with-emacs-next emacs-spray))
+
+(define-public emacs-pgtk-spray
+  (package-with-emacs-pgtk emacs-spray))
+
 (define-public emacs-es-mode
   (package
     (name "emacs-es-mode")
@@ -7391,6 +9377,15 @@ (define-public emacs-es-mode
 mode, which displays information about Elasticsearch clusters.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-es-mode
+  (package-with-emacs-minimal emacs-es-mode))
+
+(define-public emacs-next-es-mode
+  (package-with-emacs-next emacs-es-mode))
+
+(define-public emacs-pgtk-es-mode
+  (package-with-emacs-pgtk emacs-es-mode))
+
 (define-public emacs-expand-region
   (package
     (name "emacs-expand-region")
@@ -7413,6 +9408,15 @@ (define-public emacs-expand-region
 @code{er/contract-region} if you expand too far.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-expand-region
+  (package-with-emacs-minimal emacs-expand-region))
+
+(define-public emacs-next-expand-region
+  (package-with-emacs-next emacs-expand-region))
+
+(define-public emacs-pgtk-expand-region
+  (package-with-emacs-pgtk emacs-expand-region))
+
 (define-public emacs-explain-pause-mode
   (let ((commit "2356c8c3639cbeeb9751744dbe737267849b4b51")
         (revision "0"))
@@ -7454,6 +9458,15 @@ (define-public emacs-explain-pause-mode
 interface to pause.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-explain-pause-mode
+  (package-with-emacs-minimal emacs-explain-pause-mode))
+
+(define-public emacs-next-explain-pause-mode
+  (package-with-emacs-next emacs-explain-pause-mode))
+
+(define-public emacs-pgtk-explain-pause-mode
+  (package-with-emacs-pgtk emacs-explain-pause-mode))
+
 (define-public emacs-filladapt
   (package
     (name "emacs-filladapt")
@@ -7488,6 +9501,15 @@ (define-public emacs-filladapt
 generally filled correctly with no fuss.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-filladapt
+  (package-with-emacs-minimal emacs-filladapt))
+
+(define-public emacs-next-filladapt
+  (package-with-emacs-next emacs-filladapt))
+
+(define-public emacs-pgtk-filladapt
+  (package-with-emacs-pgtk emacs-filladapt))
+
 (define-public emacs-fill-column-indicator
   (package
     (name "emacs-fill-column-indicator")
@@ -7509,6 +9531,15 @@ (define-public emacs-fill-column-indicator
 column by drawing a thin line down the length of the editing window.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-fill-column-indicator
+  (package-with-emacs-minimal emacs-fill-column-indicator))
+
+(define-public emacs-next-fill-column-indicator
+  (package-with-emacs-next emacs-fill-column-indicator))
+
+(define-public emacs-pgtk-fill-column-indicator
+  (package-with-emacs-pgtk emacs-fill-column-indicator))
+
 (define-public emacs-grep-a-lot
   (package
     (name "emacs-grep-a-lot")
@@ -7529,6 +9560,15 @@ (define-public emacs-grep-a-lot
      "This Emacs package allows managing multiple grep buffers.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-grep-a-lot
+  (package-with-emacs-minimal emacs-grep-a-lot))
+
+(define-public emacs-next-grep-a-lot
+  (package-with-emacs-next emacs-grep-a-lot))
+
+(define-public emacs-pgtk-grep-a-lot
+  (package-with-emacs-pgtk emacs-grep-a-lot))
+
 (define-public emacs-fd
   (package
     (name "emacs-fd")
@@ -7549,6 +9589,15 @@ (define-public emacs-fd
 result.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-fd
+  (package-with-emacs-minimal emacs-fd))
+
+(define-public emacs-next-fd
+  (package-with-emacs-next emacs-fd))
+
+(define-public emacs-pgtk-fd
+  (package-with-emacs-pgtk emacs-fd))
+
 (define-public emacs-ripgrep
   (package
     (name "emacs-ripgrep")
@@ -7579,6 +9628,15 @@ (define-public emacs-ripgrep
 @command{ripgrep} command line tool.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-ripgrep
+  (package-with-emacs-minimal emacs-ripgrep))
+
+(define-public emacs-next-ripgrep
+  (package-with-emacs-next emacs-ripgrep))
+
+(define-public emacs-pgtk-ripgrep
+  (package-with-emacs-pgtk emacs-ripgrep))
+
 (define-public emacs-rg
   (package
     (name "emacs-rg")
@@ -7614,6 +9672,15 @@ (define-public emacs-rg
 then refine or modify the search results.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-rg
+  (package-with-emacs-minimal emacs-rg))
+
+(define-public emacs-next-rg
+  (package-with-emacs-next emacs-rg))
+
+(define-public emacs-pgtk-rg
+  (package-with-emacs-pgtk emacs-rg))
+
 (define-public emacs-inf-ruby
   (package
     (name "emacs-inf-ruby")
@@ -7637,6 +9704,15 @@ (define-public emacs-inf-ruby
 appropriate console.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-inf-ruby
+  (package-with-emacs-minimal emacs-inf-ruby))
+
+(define-public emacs-next-inf-ruby
+  (package-with-emacs-next emacs-inf-ruby))
+
+(define-public emacs-pgtk-inf-ruby
+  (package-with-emacs-pgtk emacs-inf-ruby))
+
 ;; Package has no release.  Version is extracted from "Version:" keyword in
 ;; main file.
 (define-public emacs-zeno-theme
@@ -7662,6 +9738,15 @@ (define-public emacs-zeno-theme
 Emacs, inspired by @code{Dracula} theme.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-zeno-theme
+  (package-with-emacs-minimal emacs-zeno-theme))
+
+(define-public emacs-next-zeno-theme
+  (package-with-emacs-next emacs-zeno-theme))
+
+(define-public emacs-pgtk-zeno-theme
+  (package-with-emacs-pgtk emacs-zeno-theme))
+
 (define-public emacs-zig-mode
   (let ((commit "dbc648f5bca8f3b9ca2cc7827f326f5530115144")
         (revision "0"))
@@ -7681,7 +9766,6 @@ (define-public emacs-zig-mode
       (arguments
        (list
         #:tests? #t
-        #:emacs emacs
         #:test-command #~(list "emacs" "--batch"
                                "-l" "zig-mode.el"
                                "-f" "ert-run-tests-batch-and-exit")))
@@ -7692,6 +9776,15 @@ (define-public emacs-zig-mode
 for the Zig programming language in Emacs.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-zig-mode
+  (package-with-emacs-minimal emacs-zig-mode))
+
+(define-public emacs-next-zig-mode
+  (package-with-emacs-next emacs-zig-mode))
+
+(define-public emacs-pgtk-zig-mode
+  (package-with-emacs-pgtk emacs-zig-mode))
+
 (define-public emacs-znc
   (package
     (name "emacs-znc")
@@ -7713,6 +9806,15 @@ (define-public emacs-znc
 IRC bouncer with ERC.")
     (license license:expat)))
 
+(define-public emacs-minimal-znc
+  (package-with-emacs-minimal emacs-znc))
+
+(define-public emacs-next-znc
+  (package-with-emacs-next emacs-znc))
+
+(define-public emacs-pgtk-znc
+  (package-with-emacs-pgtk emacs-znc))
+
 (define-public emacs-erc-status-sidebar
   (let ((commit "ea4189a1dbfe60117359c36e681ad7c389e2968c")
         (revision "1"))
@@ -7738,6 +9840,15 @@ (define-public emacs-erc-status-sidebar
 @code{erc-track} does in the mode line, but in an alternative format.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-erc-status-sidebar
+  (package-with-emacs-minimal emacs-erc-status-sidebar))
+
+(define-public emacs-next-erc-status-sidebar
+  (package-with-emacs-next emacs-erc-status-sidebar))
+
+(define-public emacs-pgtk-erc-status-sidebar
+  (package-with-emacs-pgtk emacs-erc-status-sidebar))
+
 (define-public emacs-shut-up
   (package
     (name "emacs-shut-up")
@@ -7758,6 +9869,15 @@ (define-public emacs-shut-up
 Emacs shell script.")
     (license license:expat)))
 
+(define-public emacs-minimal-shut-up
+  (package-with-emacs-minimal emacs-shut-up))
+
+(define-public emacs-next-shut-up
+  (package-with-emacs-next emacs-shut-up))
+
+(define-public emacs-pgtk-shut-up
+  (package-with-emacs-pgtk emacs-shut-up))
+
 (define-public emacs-undercover
   (package
     (name "emacs-undercover")
@@ -7781,6 +9901,15 @@ (define-public emacs-undercover
 Lisp.")
     (license license:expat)))
 
+(define-public emacs-minimal-undercover
+  (package-with-emacs-minimal emacs-undercover))
+
+(define-public emacs-next-undercover
+  (package-with-emacs-next emacs-undercover))
+
+(define-public emacs-pgtk-undercover
+  (package-with-emacs-pgtk emacs-undercover))
+
 (define-public emacs-paren-face
   (package
     (name "emacs-paren-face")
@@ -7808,6 +9937,15 @@ (define-public emacs-paren-face
 subconsciously blend out the parentheses.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-paren-face
+  (package-with-emacs-minimal emacs-paren-face))
+
+(define-public emacs-next-paren-face
+  (package-with-emacs-next emacs-paren-face))
+
+(define-public emacs-pgtk-paren-face
+  (package-with-emacs-pgtk emacs-paren-face))
+
 (define-public emacs-page-break-lines
   (package
     (name "emacs-page-break-lines")
@@ -7829,6 +9967,15 @@ (define-public emacs-page-break-lines
 as horizontal rules.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-page-break-lines
+  (package-with-emacs-minimal emacs-page-break-lines))
+
+(define-public emacs-next-page-break-lines
+  (package-with-emacs-next emacs-page-break-lines))
+
+(define-public emacs-pgtk-page-break-lines
+  (package-with-emacs-pgtk emacs-page-break-lines))
+
 (define-public emacs-simple-httpd
   (package
     (name "emacs-simple-httpd")
@@ -7850,6 +9997,15 @@ (define-public emacs-simple-httpd
 serve files and directory listings.")
     (license license:unlicense)))
 
+(define-public emacs-minimal-simple-httpd
+  (package-with-emacs-minimal emacs-simple-httpd))
+
+(define-public emacs-next-simple-httpd
+  (package-with-emacs-next emacs-simple-httpd))
+
+(define-public emacs-pgtk-simple-httpd
+  (package-with-emacs-pgtk emacs-simple-httpd))
+
 (define-public emacs-skewer-mode
   (package
     (name "emacs-skewer-mode")
@@ -7876,6 +10032,15 @@ (define-public emacs-skewer-mode
 in Lisp modes.")
     (license license:unlicense)))
 
+(define-public emacs-minimal-skewer-mode
+  (package-with-emacs-minimal emacs-skewer-mode))
+
+(define-public emacs-next-skewer-mode
+  (package-with-emacs-next emacs-skewer-mode))
+
+(define-public emacs-pgtk-skewer-mode
+  (package-with-emacs-pgtk emacs-skewer-mode))
+
 (define-public emacs-litable
   (let ((commit "b0278f3f8dcff424bfbdfdefb545b1fbff33206f"))
     (package
@@ -7898,6 +10063,15 @@ (define-public emacs-litable
       (description "This package provides dynamic evaluation in Emacs.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-litable
+  (package-with-emacs-minimal emacs-litable))
+
+(define-public emacs-next-litable
+  (package-with-emacs-next emacs-litable))
+
+(define-public emacs-pgtk-litable
+  (package-with-emacs-pgtk emacs-litable))
+
 (define-public emacs-literate-elisp
   (package
     (name "emacs-literate-elisp")
@@ -7919,6 +10093,15 @@ (define-public emacs-literate-elisp
 Emacs can load Org files as Lisp source files directly.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-literate-elisp
+  (package-with-emacs-minimal emacs-literate-elisp))
+
+(define-public emacs-next-literate-elisp
+  (package-with-emacs-next emacs-literate-elisp))
+
+(define-public emacs-pgtk-literate-elisp
+  (package-with-emacs-pgtk emacs-literate-elisp))
+
 (define-public emacs-calc-currency
   (let ((commit "7021d892ef38b01b875082aba4bae2517ce47ae6")
         (revision "0"))
@@ -7952,6 +10135,15 @@ (define-public emacs-calc-currency
 Calc by fetching exchange rates backends.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-calc-currency
+  (package-with-emacs-minimal emacs-calc-currency))
+
+(define-public emacs-next-calc-currency
+  (package-with-emacs-next emacs-calc-currency))
+
+(define-public emacs-pgtk-calc-currency
+  (package-with-emacs-pgtk emacs-calc-currency))
+
 (define-public emacs-literate-calc-mode
   (let ((commit "ba7d22140a165b0fdd900a8d04916115ca6ab8ff")
         (revision "2"))
@@ -7980,6 +10172,15 @@ (define-public emacs-literate-calc-mode
 other markup language major modes.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-literate-calc-mode
+  (package-with-emacs-minimal emacs-literate-calc-mode))
+
+(define-public emacs-next-literate-calc-mode
+  (package-with-emacs-next emacs-literate-calc-mode))
+
+(define-public emacs-pgtk-literate-calc-mode
+  (package-with-emacs-pgtk emacs-literate-calc-mode))
+
 (define-public emacs-standard-dirs
   (package
     (name "emacs-standard-dirs")
@@ -8003,6 +10204,15 @@ (define-public emacs-standard-dirs
 configuration, cache, and other data.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-standard-dirs
+  (package-with-emacs-minimal emacs-standard-dirs))
+
+(define-public emacs-next-standard-dirs
+  (package-with-emacs-next emacs-standard-dirs))
+
+(define-public emacs-pgtk-standard-dirs
+  (package-with-emacs-pgtk emacs-standard-dirs))
+
 (define-public emacs-string-inflection
   (package
     (name "emacs-string-inflection")
@@ -8037,6 +10247,15 @@ (define-public emacs-string-inflection
 @end enumerate\n")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-string-inflection
+  (package-with-emacs-minimal emacs-string-inflection))
+
+(define-public emacs-next-string-inflection
+  (package-with-emacs-next emacs-string-inflection))
+
+(define-public emacs-pgtk-string-inflection
+  (package-with-emacs-pgtk emacs-string-inflection))
+
 (define-public emacs-stripe-buffer
   (package
     (name "emacs-stripe-buffer")
@@ -8058,6 +10277,15 @@ (define-public emacs-stripe-buffer
 tables.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-stripe-buffer
+  (package-with-emacs-minimal emacs-stripe-buffer))
+
+(define-public emacs-next-stripe-buffer
+  (package-with-emacs-next emacs-stripe-buffer))
+
+(define-public emacs-pgtk-stripe-buffer
+  (package-with-emacs-pgtk emacs-stripe-buffer))
+
 (define-public emacs-org-beautify-theme
   ;; Latest release (0.4) is not tagged, use commit hash.
   (let ((commit "df6a1114fda313e1689363e196c8284fbe2a2738")
@@ -8083,6 +10311,15 @@ (define-public emacs-org-beautify-theme
 boxes, and more.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-beautify-theme
+  (package-with-emacs-minimal emacs-org-beautify-theme))
+
+(define-public emacs-next-org-beautify-theme
+  (package-with-emacs-next emacs-org-beautify-theme))
+
+(define-public emacs-pgtk-org-beautify-theme
+  (package-with-emacs-pgtk emacs-org-beautify-theme))
+
 (define-public emacs-org-books
   (package
     (name "emacs-org-books")
@@ -8111,6 +10348,15 @@ (define-public emacs-org-books
      "Org Books is a tool for managing reading lists in an Org mode file.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-books
+  (package-with-emacs-minimal emacs-org-books))
+
+(define-public emacs-next-org-books
+  (package-with-emacs-next emacs-org-books))
+
+(define-public emacs-pgtk-org-books
+  (package-with-emacs-pgtk emacs-org-books))
+
 (define-public emacs-org-chef
   ;; Upstream does not tag version bumps.  Version is extracted from "Version"
   ;; keyword in main file.
@@ -8138,6 +10384,15 @@ (define-public emacs-org-chef
 allrecipes.com.")
       (license license:expat))))
 
+(define-public emacs-minimal-org-chef
+  (package-with-emacs-minimal emacs-org-chef))
+
+(define-public emacs-next-org-chef
+  (package-with-emacs-next emacs-org-chef))
+
+(define-public emacs-pgtk-org-chef
+  (package-with-emacs-pgtk emacs-org-chef))
+
 (define-public emacs-org-inline-pdf
   (package
     (name "emacs-org-inline-pdf")
@@ -8169,6 +10424,15 @@ (define-public emacs-org-inline-pdf
 inline PDF preview in Org buffers by using @command{pdf2svg}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-inline-pdf
+  (package-with-emacs-minimal emacs-org-inline-pdf))
+
+(define-public emacs-next-org-inline-pdf
+  (package-with-emacs-next emacs-org-inline-pdf))
+
+(define-public emacs-pgtk-org-inline-pdf
+  (package-with-emacs-pgtk emacs-org-inline-pdf))
+
 (define-public emacs-org-rainbow-tags
   ;; Upstream didn't tag version.
   (let ((commit "c6040d228c5e8c5c6d33c7f81fc09d935ad1bcbd"))
@@ -8193,6 +10457,15 @@ (define-public emacs-org-rainbow-tags
 hash of the tag names.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-rainbow-tags
+  (package-with-emacs-minimal emacs-org-rainbow-tags))
+
+(define-public emacs-next-org-rainbow-tags
+  (package-with-emacs-next emacs-org-rainbow-tags))
+
+(define-public emacs-pgtk-org-rainbow-tags
+  (package-with-emacs-pgtk emacs-org-rainbow-tags))
+
 (define-public emacs-org-rich-yank
   (package
     (name "emacs-org-rich-yank")
@@ -8216,6 +10489,15 @@ (define-public emacs-org-rich-yank
 been copied from an Emacs major mode.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-org-rich-yank
+  (package-with-emacs-minimal emacs-org-rich-yank))
+
+(define-public emacs-next-org-rich-yank
+  (package-with-emacs-next emacs-org-rich-yank))
+
+(define-public emacs-pgtk-org-rich-yank
+  (package-with-emacs-pgtk emacs-org-rich-yank))
+
 (define-public emacs-org-fancy-priorities
   (let ((commit "819bb993b71e7253cefef7047306ab4e0f9d0a86")
         (revision "1"))
@@ -8241,6 +10523,15 @@ (define-public emacs-org-fancy-priorities
 displays the priority part of a heading as your preferred string value.")
       (license license:expat))))
 
+(define-public emacs-minimal-org-fancy-priorities
+  (package-with-emacs-minimal emacs-org-fancy-priorities))
+
+(define-public emacs-next-org-fancy-priorities
+  (package-with-emacs-next emacs-org-fancy-priorities))
+
+(define-public emacs-pgtk-org-fancy-priorities
+  (package-with-emacs-pgtk emacs-org-fancy-priorities))
+
 (define-public emacs-org-fragtog
   (package
     (name "emacs-org-fragtog")
@@ -8265,6 +10556,15 @@ (define-public emacs-org-fragtog
 your cursor steps onto them, and re-enabled when the cursor leaves.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-fragtog
+  (package-with-emacs-minimal emacs-org-fragtog))
+
+(define-public emacs-next-org-fragtog
+  (package-with-emacs-next emacs-org-fragtog))
+
+(define-public emacs-pgtk-org-fragtog
+  (package-with-emacs-pgtk emacs-org-fragtog))
+
 (define-public emacs-ob-erlang
   (let ((revision "1")
         (commit "a029c23902b4ad73b84f262a7fc5b98d87b63dfd"))
@@ -8287,6 +10587,15 @@ (define-public emacs-ob-erlang
 blocks with @code{org-babel} in @code{org-mode}.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ob-erlang
+  (package-with-emacs-minimal emacs-ob-erlang))
+
+(define-public emacs-next-ob-erlang
+  (package-with-emacs-next emacs-ob-erlang))
+
+(define-public emacs-pgtk-ob-erlang
+  (package-with-emacs-pgtk emacs-ob-erlang))
+
 (define-public emacs-ob-go
   (let ((commit "2067ed55f4c1d33a43cb3f6948609d240a8915f5")
         (revision "0"))
@@ -8323,6 +10632,15 @@ (define-public emacs-ob-go
 code.  It was created based on the usage of @code{ob-C}.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ob-go
+  (package-with-emacs-minimal emacs-ob-go))
+
+(define-public emacs-next-ob-go
+  (package-with-emacs-next emacs-ob-go))
+
+(define-public emacs-pgtk-ob-go
+  (package-with-emacs-pgtk emacs-ob-go))
+
 (define-public emacs-ob-restclient
   (let ((commit "1b021ce1c67c97fa1aa4d2c0816edb7add129e48"))
     (package
@@ -8346,6 +10664,15 @@ (define-public emacs-ob-restclient
        "This package integrates @code{restclient-mode} with Org.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ob-restclient
+  (package-with-emacs-minimal emacs-ob-restclient))
+
+(define-public emacs-next-ob-restclient
+  (package-with-emacs-next emacs-ob-restclient))
+
+(define-public emacs-pgtk-ob-restclient
+  (package-with-emacs-pgtk emacs-ob-restclient))
+
 (define-public emacs-org-now
   (let ((commit "8f6b277a73f1c66e58ccb4b7f40d406851befc91"))
     (package
@@ -8372,6 +10699,15 @@ (define-public emacs-org-now
 their original location with another.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-now
+  (package-with-emacs-minimal emacs-org-now))
+
+(define-public emacs-next-org-now
+  (package-with-emacs-next emacs-org-now))
+
+(define-public emacs-pgtk-org-now
+  (package-with-emacs-pgtk emacs-org-now))
+
 (define-public emacs-orgmdb
   (package
     (name "emacs-orgmdb")
@@ -8407,6 +10743,15 @@ (define-public emacs-orgmdb
 Org mode and some functions for interacting with the OMDb API.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-orgmdb
+  (package-with-emacs-minimal emacs-orgmdb))
+
+(define-public emacs-next-orgmdb
+  (package-with-emacs-next emacs-orgmdb))
+
+(define-public emacs-pgtk-orgmdb
+  (package-with-emacs-pgtk emacs-orgmdb))
+
 (define-public emacs-rich-minority
   (package
     (name "emacs-rich-minority")
@@ -8429,6 +10774,15 @@ (define-public emacs-rich-minority
 mode-line.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-rich-minority
+  (package-with-emacs-minimal emacs-rich-minority))
+
+(define-public emacs-next-rich-minority
+  (package-with-emacs-next emacs-rich-minority))
+
+(define-public emacs-pgtk-rich-minority
+  (package-with-emacs-pgtk emacs-rich-minority))
+
 (define-public emacs-robe
   (package
     (name "emacs-robe")
@@ -8456,6 +10810,15 @@ (define-public emacs-robe
 method and constant name completion.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-robe
+  (package-with-emacs-minimal emacs-robe))
+
+(define-public emacs-next-robe
+  (package-with-emacs-next emacs-robe))
+
+(define-public emacs-pgtk-robe
+  (package-with-emacs-pgtk emacs-robe))
+
 (define-public emacs-robot-mode
   (package
     (name "emacs-robot-mode")
@@ -8478,6 +10841,15 @@ (define-public emacs-robot-mode
 keywords and smart indentation.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-robot-mode
+  (package-with-emacs-minimal emacs-robot-mode))
+
+(define-public emacs-next-robot-mode
+  (package-with-emacs-next emacs-robot-mode))
+
+(define-public emacs-pgtk-robot-mode
+  (package-with-emacs-pgtk emacs-robot-mode))
+
 (define-public emacs-robot-log
   (package
     (name "emacs-robot-log")
@@ -8502,6 +10874,15 @@ (define-public emacs-robot-log
 next, or locate errors.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-robot-log
+  (package-with-emacs-minimal emacs-robot-log))
+
+(define-public emacs-next-robot-log
+  (package-with-emacs-next emacs-robot-log))
+
+(define-public emacs-pgtk-robot-log
+  (package-with-emacs-pgtk emacs-robot-log))
+
 (define-public emacs-robots-txt-mode
   (package
     (name "emacs-robots-txt-mode")
@@ -8522,6 +10903,15 @@ (define-public emacs-robots-txt-mode
 @file{robots.txt} files.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-robots-txt-mode
+  (package-with-emacs-minimal emacs-robots-txt-mode))
+
+(define-public emacs-next-robots-txt-mode
+  (package-with-emacs-next emacs-robots-txt-mode))
+
+(define-public emacs-pgtk-robots-txt-mode
+  (package-with-emacs-pgtk emacs-robots-txt-mode))
+
 (define-public emacs-roguel-ike
   (package
     (name "emacs-roguel-ike")
@@ -8555,6 +10945,15 @@ (define-public emacs-roguel-ike
 explorations.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-roguel-ike
+  (package-with-emacs-minimal emacs-roguel-ike))
+
+(define-public emacs-next-roguel-ike
+  (package-with-emacs-next emacs-roguel-ike))
+
+(define-public emacs-pgtk-roguel-ike
+  (package-with-emacs-pgtk emacs-roguel-ike))
+
 (define-public emacs-rspec
   (let ((commit "66ea7cc9699d6edc6115daa024818adbd85efc20")
         (revision "1"))
@@ -8586,6 +10985,15 @@ (define-public emacs-rspec
 snippets for yasnippet.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-rspec
+  (package-with-emacs-minimal emacs-rspec))
+
+(define-public emacs-next-rspec
+  (package-with-emacs-next emacs-rspec))
+
+(define-public emacs-pgtk-rspec
+  (package-with-emacs-pgtk emacs-rspec))
+
 (define-public emacs-vhdl-mode
   (package
     (name "emacs-vhdl-mode")
@@ -8607,6 +11015,15 @@ (define-public emacs-vhdl-mode
 with Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-vhdl-mode
+  (package-with-emacs-minimal emacs-vhdl-mode))
+
+(define-public emacs-next-vhdl-mode
+  (package-with-emacs-next emacs-vhdl-mode))
+
+(define-public emacs-pgtk-vhdl-mode
+  (package-with-emacs-pgtk emacs-vhdl-mode))
+
 (define-public emacs-mode-line-bell
   (package
     (name "emacs-mode-line-bell")
@@ -8629,6 +11046,15 @@ (define-public emacs-mode-line-bell
 mode-line when the bell is rung.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-mode-line-bell
+  (package-with-emacs-minimal emacs-mode-line-bell))
+
+(define-public emacs-next-mode-line-bell
+  (package-with-emacs-next emacs-mode-line-bell))
+
+(define-public emacs-pgtk-mode-line-bell
+  (package-with-emacs-pgtk emacs-mode-line-bell))
+
 (define-public emacs-mode-line-idle
   ;; Package has no release.  Version is extracted from "Version:" keyword in
   ;; main file.
@@ -8655,6 +11081,15 @@ (define-public emacs-mode-line-idle
 configuration.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-mode-line-idle
+  (package-with-emacs-minimal emacs-mode-line-idle))
+
+(define-public emacs-next-mode-line-idle
+  (package-with-emacs-next emacs-mode-line-idle))
+
+(define-public emacs-pgtk-mode-line-idle
+  (package-with-emacs-pgtk emacs-mode-line-idle))
+
 (define-public emacs-nyan-mode
   (package
     (name "emacs-nyan-mode")
@@ -8690,6 +11125,15 @@ (define-public emacs-nyan-mode
 and forwards and also animate it.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-nyan-mode
+  (package-with-emacs-minimal emacs-nyan-mode))
+
+(define-public emacs-next-nyan-mode
+  (package-with-emacs-next emacs-nyan-mode))
+
+(define-public emacs-pgtk-nyan-mode
+  (package-with-emacs-pgtk emacs-nyan-mode))
+
 (define-public emacs-smart-mode-line
   (package
     (name "emacs-smart-mode-line")
@@ -8714,6 +11158,15 @@ (define-public emacs-smart-mode-line
 truncation.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-smart-mode-line
+  (package-with-emacs-minimal emacs-smart-mode-line))
+
+(define-public emacs-next-smart-mode-line
+  (package-with-emacs-next emacs-smart-mode-line))
+
+(define-public emacs-pgtk-smart-mode-line
+  (package-with-emacs-pgtk emacs-smart-mode-line))
+
 (define-public emacs-sqlite
   ;; XXX: There is no tagged commit.
   (let ((commit "dad42b8bbca4994be1871343dd18fd6528ee5797")
@@ -8738,6 +11191,15 @@ (define-public emacs-sqlite
 It is not intended as a user interface.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-sqlite
+  (package-with-emacs-minimal emacs-sqlite))
+
+(define-public emacs-next-sqlite
+  (package-with-emacs-next emacs-sqlite))
+
+(define-public emacs-pgtk-sqlite
+  (package-with-emacs-pgtk emacs-sqlite))
+
 (define-public emacs-sqlite3-api
   (package
     (name "emacs-sqlite3-api")
@@ -8796,6 +11258,15 @@ (define-public emacs-sqlite3-api
 SQLite C interface, but should satisfy most user's needs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-sqlite3-api
+  (package-with-emacs-minimal emacs-sqlite3-api))
+
+(define-public emacs-next-sqlite3-api
+  (package-with-emacs-next emacs-sqlite3-api))
+
+(define-public emacs-pgtk-sqlite3-api
+  (package-with-emacs-pgtk emacs-sqlite3-api))
+
 (define-public emacs-pretty-speedbar
   (let ((commit "56dc9f114fcc55843e182cde1fc9d7a14c261c6a")
         (revision "0"))
@@ -8822,6 +11293,15 @@ (define-public emacs-pretty-speedbar
 be customized.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-pretty-speedbar
+  (package-with-emacs-minimal emacs-pretty-speedbar))
+
+(define-public emacs-next-pretty-speedbar
+  (package-with-emacs-next emacs-pretty-speedbar))
+
+(define-public emacs-pgtk-pretty-speedbar
+  (package-with-emacs-pgtk emacs-pretty-speedbar))
+
 (define-public emacs-sr-speedbar
   (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
         (revision "0"))
@@ -8847,6 +11327,15 @@ (define-public emacs-sr-speedbar
 the speedbar window.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-sr-speedbar
+  (package-with-emacs-minimal emacs-sr-speedbar))
+
+(define-public emacs-next-sr-speedbar
+  (package-with-emacs-next emacs-sr-speedbar))
+
+(define-public emacs-pgtk-sr-speedbar
+  (package-with-emacs-pgtk emacs-sr-speedbar))
+
 (define-public emacs-shell-switcher
   (package
     (name "emacs-shell-switcher")
@@ -8867,6 +11356,15 @@ (define-public emacs-shell-switcher
      "This package provides commands to quickly switch between shell buffers.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-shell-switcher
+  (package-with-emacs-minimal emacs-shell-switcher))
+
+(define-public emacs-next-shell-switcher
+  (package-with-emacs-next emacs-shell-switcher))
+
+(define-public emacs-pgtk-shell-switcher
+  (package-with-emacs-pgtk emacs-shell-switcher))
+
 (define-public emacs-shx
   ;; XXX: Some tests fails in the latest stable release.
   (let ((commit "b99d16f36bc278d668d8428c4bc9af77064c336a")
@@ -8906,6 +11404,15 @@ (define-public emacs-shx
 a file).")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-shx
+  (package-with-emacs-minimal emacs-shx))
+
+(define-public emacs-next-shx
+  (package-with-emacs-next emacs-shx))
+
+(define-public emacs-pgtk-shx
+  (package-with-emacs-pgtk emacs-shx))
+
 (define-public emacs-names
   (let ((commit "d8baba5360e5253938a25d3e005455b6d2d86971")
         (version "20151201.0")
@@ -8930,6 +11437,15 @@ (define-public emacs-names
        "This package provides a macro that writes your namespaces for you.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-names
+  (package-with-emacs-minimal emacs-names))
+
+(define-public emacs-next-names
+  (package-with-emacs-next emacs-names))
+
+(define-public emacs-pgtk-names
+  (package-with-emacs-pgtk emacs-names))
+
 (define-public emacs-nameless
   (package
     (name "emacs-nameless")
@@ -8951,6 +11467,15 @@ (define-public emacs-nameless
 package namespace prefix is ​​hidden by a colon.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-nameless
+  (package-with-emacs-minimal emacs-nameless))
+
+(define-public emacs-next-nameless
+  (package-with-emacs-next emacs-nameless))
+
+(define-public emacs-pgtk-nameless
+  (package-with-emacs-pgtk emacs-nameless))
+
 (define-public emacs-evil-leader
   (package
     (name "emacs-evil-leader")
@@ -8975,6 +11500,15 @@ (define-public emacs-evil-leader
 an easy way to bind keys under a configurable prefix key.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-evil-leader
+  (package-with-emacs-minimal emacs-evil-leader))
+
+(define-public emacs-next-evil-leader
+  (package-with-emacs-next emacs-evil-leader))
+
+(define-public emacs-pgtk-evil-leader
+  (package-with-emacs-pgtk emacs-evil-leader))
+
 (define-public emacs-evil-tex
   (package
     (name "emacs-evil-tex")
@@ -9004,6 +11538,15 @@ (define-public emacs-evil-tex
 @code{cdlatex}-like accents.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-evil-tex
+  (package-with-emacs-minimal emacs-evil-tex))
+
+(define-public emacs-next-evil-tex
+  (package-with-emacs-next emacs-evil-tex))
+
+(define-public emacs-pgtk-evil-tex
+  (package-with-emacs-pgtk emacs-evil-tex))
+
 (define-public emacs-evil-textobj-syntax
   (let ((commit "2d9ba8c75c754b409aea7469f46a5cfa52a872f3")
         (version "0")
@@ -9030,6 +11573,15 @@ (define-public emacs-evil-textobj-syntax
 boundaries defined by syntax highlighting.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-evil-textobj-syntax
+  (package-with-emacs-minimal emacs-evil-textobj-syntax))
+
+(define-public emacs-next-evil-textobj-syntax
+  (package-with-emacs-next emacs-evil-textobj-syntax))
+
+(define-public emacs-pgtk-evil-textobj-syntax
+  (package-with-emacs-pgtk emacs-evil-textobj-syntax))
+
 (define-public emacs-flycheck-flow
   (let ((commit "9e8e52cfc98af6a23fd906f9cb5d5d470d8cf82d")
         (version "1.1")
@@ -9057,6 +11609,15 @@ (define-public emacs-flycheck-flow
 for Flow files.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-flycheck-flow
+  (package-with-emacs-minimal emacs-flycheck-flow))
+
+(define-public emacs-next-flycheck-flow
+  (package-with-emacs-next emacs-flycheck-flow))
+
+(define-public emacs-pgtk-flycheck-flow
+  (package-with-emacs-pgtk emacs-flycheck-flow))
+
 (define-public emacs-flycheck-grammalecte
   (package
     (name "emacs-flycheck-grammalecte")
@@ -9074,7 +11635,6 @@ (define-public emacs-flycheck-grammalecte
     (arguments
      (list
       #:include #~(cons "\\.py$" %default-include)
-      #:emacs emacs-no-x                ;need libxml support
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'specify-python-location
@@ -9115,6 +11675,15 @@ (define-public emacs-flycheck-grammalecte
 repetitions for example).")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-flycheck-grammalecte
+  (package-with-emacs-minimal emacs-flycheck-grammalecte))
+
+(define-public emacs-next-flycheck-grammalecte
+  (package-with-emacs-next emacs-flycheck-grammalecte))
+
+(define-public emacs-pgtk-flycheck-grammalecte
+  (package-with-emacs-pgtk emacs-flycheck-grammalecte))
+
 (define-public emacs-flycheck-guile
   (package
     (name "emacs-flycheck-guile")
@@ -9139,6 +11708,15 @@ (define-public emacs-flycheck-guile
 compile}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-flycheck-guile
+  (package-with-emacs-minimal emacs-flycheck-guile))
+
+(define-public emacs-next-flycheck-guile
+  (package-with-emacs-next emacs-flycheck-guile))
+
+(define-public emacs-pgtk-flycheck-guile
+  (package-with-emacs-pgtk emacs-flycheck-guile))
+
 (define-public emacs-flycheck-ledger
   (package
     (name "emacs-flycheck-ledger")
@@ -9174,6 +11752,15 @@ (define-public emacs-flycheck-ledger
 errors.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-flycheck-ledger
+  (package-with-emacs-minimal emacs-flycheck-ledger))
+
+(define-public emacs-next-flycheck-ledger
+  (package-with-emacs-next emacs-flycheck-ledger))
+
+(define-public emacs-pgtk-flycheck-ledger
+  (package-with-emacs-pgtk emacs-flycheck-ledger))
+
 (define-public emacs-flycheck-rust
   (package
     (name "emacs-flycheck-rust")
@@ -9198,6 +11785,15 @@ (define-public emacs-flycheck-rust
 the current Cargo project.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-flycheck-rust
+  (package-with-emacs-minimal emacs-flycheck-rust))
+
+(define-public emacs-next-flycheck-rust
+  (package-with-emacs-next emacs-flycheck-rust))
+
+(define-public emacs-pgtk-flycheck-rust
+  (package-with-emacs-pgtk emacs-flycheck-rust))
+
 (define-public emacs-flycheck-package
   (package
     (name "emacs-flycheck-package")
@@ -9222,6 +11818,15 @@ (define-public emacs-flycheck-package
 files which are intended to be packages.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-flycheck-package
+  (package-with-emacs-minimal emacs-flycheck-package))
+
+(define-public emacs-next-flycheck-package
+  (package-with-emacs-next emacs-flycheck-package))
+
+(define-public emacs-pgtk-flycheck-package
+  (package-with-emacs-pgtk emacs-flycheck-package))
+
 (define-public emacs-flymake-proselint
   (let ((commit "9c68ee881f18f554f0ab5bbf5bee1a4b753d792b"))
     (package
@@ -9254,6 +11859,15 @@ (define-public emacs-flymake-proselint
       (description "This package adds support for @code{proselint} in Flymake.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-flymake-proselint
+  (package-with-emacs-minimal emacs-flymake-proselint))
+
+(define-public emacs-next-flymake-proselint
+  (package-with-emacs-next emacs-flymake-proselint))
+
+(define-public emacs-pgtk-flymake-proselint
+  (package-with-emacs-pgtk emacs-flymake-proselint))
+
 (define-public emacs-elisp-demos
   (package
     (name "emacs-elisp-demos")
@@ -9281,6 +11895,15 @@ (define-public emacs-elisp-demos
 respective @code{*Help*} buffers.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-elisp-demos
+  (package-with-emacs-minimal emacs-elisp-demos))
+
+(define-public emacs-next-elisp-demos
+  (package-with-emacs-next emacs-elisp-demos))
+
+(define-public emacs-pgtk-elisp-demos
+  (package-with-emacs-pgtk emacs-elisp-demos))
+
 (define-public emacs-docker-compose-mode
   (package
     (name "emacs-docker-compose-mode")
@@ -9305,6 +11928,15 @@ (define-public emacs-docker-compose-mode
 completion of relevant keywords.")
     (license license:expat)))
 
+(define-public emacs-minimal-docker-compose-mode
+  (package-with-emacs-minimal emacs-docker-compose-mode))
+
+(define-public emacs-next-docker-compose-mode
+  (package-with-emacs-next emacs-docker-compose-mode))
+
+(define-public emacs-pgtk-docker-compose-mode
+  (package-with-emacs-pgtk emacs-docker-compose-mode))
+
 (define-public emacs-dvc
   (let ((revision "591")                ;no tags or official releases
         (guix-revision "1"))
@@ -9398,7 +12030,6 @@ (define-public emacs-sudo-edit
      (list emacs-undercover))
     (arguments
      (list
-      #:emacs emacs
       #:phases
       #~(modify-phases %standard-phases
           (add-before 'check 'fix-makefile
@@ -9414,6 +12045,15 @@ (define-public emacs-sudo-edit
 user.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-sudo-edit
+  (package-with-emacs-minimal emacs-sudo-edit))
+
+(define-public emacs-next-sudo-edit
+  (package-with-emacs-next emacs-sudo-edit))
+
+(define-public emacs-pgtk-sudo-edit
+  (package-with-emacs-pgtk emacs-sudo-edit))
+
 (define-public emacs-subed
   (package
     (name "emacs-subed")
@@ -9441,6 +12081,15 @@ (define-public emacs-subed
 SubStation Alpha (@file{.ass}).")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-subed
+  (package-with-emacs-minimal emacs-subed))
+
+(define-public emacs-next-subed
+  (package-with-emacs-next emacs-subed))
+
+(define-public emacs-pgtk-subed
+  (package-with-emacs-pgtk emacs-subed))
+
 (define-public emacs-miniedit
   (package
     (name "emacs-miniedit")
@@ -9464,6 +12113,15 @@ (define-public emacs-miniedit
 @code{text-mode} enabled.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-miniedit
+  (package-with-emacs-minimal emacs-miniedit))
+
+(define-public emacs-next-miniedit
+  (package-with-emacs-next emacs-miniedit))
+
+(define-public emacs-pgtk-miniedit
+  (package-with-emacs-pgtk emacs-miniedit))
+
 (define-public emacs-ob-ipython
   (package
     (name "emacs-ob-ipython")
@@ -9486,6 +12144,15 @@ (define-public emacs-ob-ipython
 source code using IPython.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ob-ipython
+  (package-with-emacs-minimal emacs-ob-ipython))
+
+(define-public emacs-next-ob-ipython
+  (package-with-emacs-next emacs-ob-ipython))
+
+(define-public emacs-pgtk-ob-ipython
+  (package-with-emacs-pgtk emacs-ob-ipython))
+
 (define-public emacs-ob-asymptote
   (package
     (name "emacs-ob-asymptote")
@@ -9512,6 +12179,15 @@ (define-public emacs-ob-asymptote
 @end itemize")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ob-asymptote
+  (package-with-emacs-minimal emacs-ob-asymptote))
+
+(define-public emacs-next-ob-asymptote
+  (package-with-emacs-next emacs-ob-asymptote))
+
+(define-public emacs-pgtk-ob-asymptote
+  (package-with-emacs-pgtk emacs-ob-asymptote))
+
 (define-public emacs-ob-async
   (package
     (name "emacs-ob-async")
@@ -9534,6 +12210,15 @@ (define-public emacs-ob-async
 src blocks.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ob-async
+  (package-with-emacs-minimal emacs-ob-async))
+
+(define-public emacs-next-ob-async
+  (package-with-emacs-next emacs-ob-async))
+
+(define-public emacs-pgtk-ob-async
+  (package-with-emacs-pgtk emacs-ob-async))
+
 (define-public emacs-ol-notmuch
   (package
     (name "emacs-ol-notmuch")
@@ -9560,6 +12245,15 @@ (define-public emacs-ol-notmuch
 by a query, so both a link can refer to several mails.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ol-notmuch
+  (package-with-emacs-minimal emacs-ol-notmuch))
+
+(define-public emacs-next-ol-notmuch
+  (package-with-emacs-next emacs-ol-notmuch))
+
+(define-public emacs-pgtk-ol-notmuch
+  (package-with-emacs-pgtk emacs-ol-notmuch))
+
 (define-public emacs-debbugs
   (package
     (name "emacs-debbugs")
@@ -9590,6 +12284,15 @@ (define-public emacs-debbugs
 Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-debbugs
+  (package-with-emacs-minimal emacs-debbugs))
+
+(define-public emacs-next-debbugs
+  (package-with-emacs-next emacs-debbugs))
+
+(define-public emacs-pgtk-debbugs
+  (package-with-emacs-pgtk emacs-debbugs))
+
 (define-public emacs-piem
   (package
     (name "emacs-piem")
@@ -9626,6 +12329,15 @@ (define-public emacs-piem
 parts for convenience.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-piem
+  (package-with-emacs-minimal emacs-piem))
+
+(define-public emacs-next-piem
+  (package-with-emacs-next emacs-piem))
+
+(define-public emacs-pgtk-piem
+  (package-with-emacs-pgtk emacs-piem))
+
 (define-public emacs-ert-expectations
   (package
     (name "emacs-ert-expectations")
@@ -9644,6 +12356,15 @@ (define-public emacs-ert-expectations
 framework for Emacs Lisp to be used with @code{ert}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ert-expectations
+  (package-with-emacs-minimal emacs-ert-expectations))
+
+(define-public emacs-next-ert-expectations
+  (package-with-emacs-next emacs-ert-expectations))
+
+(define-public emacs-pgtk-ert-expectations
+  (package-with-emacs-pgtk emacs-ert-expectations))
+
 (define-public emacs-deferred
   (package
     (name "emacs-deferred")
@@ -9685,6 +12406,15 @@ (define-public emacs-deferred
 for asynchronous tasks.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-deferred
+  (package-with-emacs-minimal emacs-deferred))
+
+(define-public emacs-next-deferred
+  (package-with-emacs-next emacs-deferred))
+
+(define-public emacs-pgtk-deferred
+  (package-with-emacs-pgtk emacs-deferred))
+
 (define-public emacs-butler
   (package
     (name "emacs-butler")
@@ -9711,6 +12441,15 @@ (define-public emacs-butler
 build jobs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-butler
+  (package-with-emacs-minimal emacs-butler))
+
+(define-public emacs-next-butler
+  (package-with-emacs-next emacs-butler))
+
+(define-public emacs-pgtk-butler
+  (package-with-emacs-pgtk emacs-butler))
+
 (define-public emacs-zmq
   (package
     (name "emacs-zmq")
@@ -9754,6 +12493,15 @@ (define-public emacs-zmq
     (license (list license:gpl2+        ;zmq.el
                    license:gpl3+)))) ;src/emacs-module.h
 
+(define-public emacs-minimal-zmq
+  (package-with-emacs-minimal emacs-zmq))
+
+(define-public emacs-next-zmq
+  (package-with-emacs-next emacs-zmq))
+
+(define-public emacs-pgtk-zmq
+  (package-with-emacs-pgtk emacs-zmq))
+
 (define-public emacs-tup-mode
   (package
     (name "emacs-tup-mode")
@@ -9776,6 +12524,15 @@ (define-public emacs-tup-mode
 variables, and so on.  The mode also allows you to execute Tup commands.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-tup-mode
+  (package-with-emacs-minimal emacs-tup-mode))
+
+(define-public emacs-next-tup-mode
+  (package-with-emacs-next emacs-tup-mode))
+
+(define-public emacs-pgtk-tup-mode
+  (package-with-emacs-pgtk emacs-tup-mode))
+
 (define-public emacs-combobulate
   (let ((commit "c7e4670a3047c0b58dff3746577a5c8e5832cfba")
         (revision "1"))
@@ -9810,6 +12567,15 @@ (define-public emacs-combobulate
 correct movement and editing than you would otherwise have.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-combobulate
+  (package-with-emacs-minimal emacs-combobulate))
+
+(define-public emacs-next-combobulate
+  (package-with-emacs-next emacs-combobulate))
+
+(define-public emacs-pgtk-combobulate
+  (package-with-emacs-pgtk emacs-combobulate))
+
 (define-public emacs-compat
   (package
     (name "emacs-compat")
@@ -9839,6 +12605,15 @@ (define-public emacs-compat
 commands and user options are usually not implemented here.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-compat
+  (package-with-emacs-minimal emacs-compat))
+
+(define-public emacs-next-compat
+  (package-with-emacs-next emacs-compat))
+
+(define-public emacs-pgtk-compat
+  (package-with-emacs-pgtk emacs-compat))
+
 (define-public emacs-company
   (package
     (name "emacs-company")
@@ -9874,6 +12649,15 @@ (define-public emacs-company
 These are distributed in separate files and can be used individually.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-company
+  (package-with-emacs-minimal emacs-company))
+
+(define-public emacs-next-company
+  (package-with-emacs-next emacs-company))
+
+(define-public emacs-pgtk-company
+  (package-with-emacs-pgtk emacs-company))
+
 (define* (%emacs-company-box-upstream-source #:key commit version hash)
   (origin
     (method git-fetch)
@@ -9977,6 +12761,15 @@ (define-public emacs-company-box
 This package is not compatible with a TTY.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-company-box
+  (package-with-emacs-minimal emacs-company-box))
+
+(define-public emacs-next-company-box
+  (package-with-emacs-next emacs-company-box))
+
+(define-public emacs-pgtk-company-box
+  (package-with-emacs-pgtk emacs-company-box))
+
 (define-public emacs-company-posframe
   (package
     (name "emacs-company-posframe")
@@ -10002,6 +12795,15 @@ (define-public emacs-company-posframe
 languages.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-company-posframe
+  (package-with-emacs-minimal emacs-company-posframe))
+
+(define-public emacs-next-company-posframe
+  (package-with-emacs-next emacs-company-posframe))
+
+(define-public emacs-pgtk-company-posframe
+  (package-with-emacs-pgtk emacs-company-posframe))
+
 (define-public emacs-irony-mode
   (package
     (name "emacs-irony-mode")
@@ -10036,6 +12838,15 @@ (define-public emacs-irony-mode
 described on the homepage.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-irony-mode
+  (package-with-emacs-minimal emacs-irony-mode))
+
+(define-public emacs-next-irony-mode
+  (package-with-emacs-next emacs-irony-mode))
+
+(define-public emacs-pgtk-irony-mode
+  (package-with-emacs-pgtk emacs-irony-mode))
+
 (define-public emacs-irony-mode-server
   (package
     (inherit emacs-irony-mode)
@@ -10054,6 +12865,15 @@ (define-public emacs-irony-mode-server
     (build-system cmake-build-system)
     (synopsis "Server for the Emacs @dfn{irony mode}")))
 
+(define-public emacs-minimal-irony-mode-server
+  (package-with-emacs-minimal emacs-irony-mode-server))
+
+(define-public emacs-next-irony-mode-server
+  (package-with-emacs-next emacs-irony-mode-server))
+
+(define-public emacs-pgtk-irony-mode-server
+  (package-with-emacs-pgtk emacs-irony-mode-server))
+
 (define-public emacs-company-irony
   (package
     (name "emacs-company-irony")
@@ -10076,6 +12896,15 @@ (define-public emacs-company-irony
     (home-page "https://github.com/Sarcasm/company-irony")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-company-irony
+  (package-with-emacs-minimal emacs-company-irony))
+
+(define-public emacs-next-company-irony
+  (package-with-emacs-next emacs-company-irony))
+
+(define-public emacs-pgtk-company-irony
+  (package-with-emacs-pgtk emacs-company-irony))
+
 (define-public emacs-flycheck-irony
   (package
     (name "emacs-flycheck-irony")
@@ -10097,6 +12926,15 @@ (define-public emacs-flycheck-irony
     (home-page "https://github.com/Sarcasm/flycheck-irony")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-flycheck-irony
+  (package-with-emacs-minimal emacs-flycheck-irony))
+
+(define-public emacs-next-flycheck-irony
+  (package-with-emacs-next emacs-flycheck-irony))
+
+(define-public emacs-pgtk-flycheck-irony
+  (package-with-emacs-pgtk emacs-flycheck-irony))
+
 (define-public emacs-irony-eldoc
   (package
     (name "emacs-irony-eldoc")
@@ -10119,6 +12957,15 @@ (define-public emacs-irony-eldoc
     (home-page "https://github.com/ikirill/irony-eldoc")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-irony-eldoc
+  (package-with-emacs-minimal emacs-irony-eldoc))
+
+(define-public emacs-next-irony-eldoc
+  (package-with-emacs-next emacs-irony-eldoc))
+
+(define-public emacs-pgtk-irony-eldoc
+  (package-with-emacs-pgtk emacs-irony-eldoc))
+
 (define-public emacs-company-quickhelp
   (package
     (name "emacs-company-quickhelp")
@@ -10141,6 +12988,15 @@ (define-public emacs-company-quickhelp
 completion candidate when using the Company text completion framework.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-company-quickhelp
+  (package-with-emacs-minimal emacs-company-quickhelp))
+
+(define-public emacs-next-company-quickhelp
+  (package-with-emacs-next emacs-company-quickhelp))
+
+(define-public emacs-pgtk-company-quickhelp
+  (package-with-emacs-pgtk emacs-company-quickhelp))
+
 (define-public emacs-math-symbol-lists
   (package
     (name "emacs-math-symbol-lists")
@@ -10161,6 +13017,15 @@ (define-public emacs-math-symbol-lists
 @code{company-math}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-math-symbol-lists
+  (package-with-emacs-minimal emacs-math-symbol-lists))
+
+(define-public emacs-next-math-symbol-lists
+  (package-with-emacs-next emacs-math-symbol-lists))
+
+(define-public emacs-pgtk-math-symbol-lists
+  (package-with-emacs-pgtk emacs-math-symbol-lists))
+
 (define-public emacs-math-preview
   (package
     (name "emacs-math-preview")
@@ -10185,6 +13050,15 @@ (define-public emacs-math-preview
   math inline in Emacs buffers.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-math-preview
+  (package-with-emacs-minimal emacs-math-preview))
+
+(define-public emacs-next-math-preview
+  (package-with-emacs-next emacs-math-preview))
+
+(define-public emacs-pgtk-math-preview
+  (package-with-emacs-pgtk emacs-math-preview))
+
 (define-public emacs-company-coq
   (package
     (name "emacs-company-coq")
@@ -10219,6 +13093,15 @@ (define-public emacs-company-coq
 @end itemize")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-company-coq
+  (package-with-emacs-minimal emacs-company-coq))
+
+(define-public emacs-next-company-coq
+  (package-with-emacs-next emacs-company-coq))
+
+(define-public emacs-pgtk-company-coq
+  (package-with-emacs-pgtk emacs-company-coq))
+
 (define-public emacs-company-math
   (package
     (name "emacs-company-math")
@@ -10242,6 +13125,15 @@ (define-public emacs-company-math
 completion of common math symbols.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-company-math
+  (package-with-emacs-minimal emacs-company-math))
+
+(define-public emacs-next-company-math
+  (package-with-emacs-next emacs-company-math))
+
+(define-public emacs-pgtk-company-math
+  (package-with-emacs-pgtk emacs-company-math))
+
 (define-public emacs-compdef
   (let ((commit "67104a38763cc819644f711248b170a43bce151b")
         (revision "2"))
@@ -10265,6 +13157,15 @@ (define-public emacs-compdef
 @code{use-package}.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-compdef
+  (package-with-emacs-minimal emacs-compdef))
+
+(define-public emacs-next-compdef
+  (package-with-emacs-next emacs-compdef))
+
+(define-public emacs-pgtk-compdef
+  (package-with-emacs-pgtk emacs-compdef))
+
 (define-public emacs-icomplete-vertical
   (package
     (name "emacs-icomplete-vertical")
@@ -10286,6 +13187,15 @@ (define-public emacs-icomplete-vertical
 completion candidates vertically.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-icomplete-vertical
+  (package-with-emacs-minimal emacs-icomplete-vertical))
+
+(define-public emacs-next-icomplete-vertical
+  (package-with-emacs-next emacs-icomplete-vertical))
+
+(define-public emacs-pgtk-icomplete-vertical
+  (package-with-emacs-pgtk emacs-icomplete-vertical))
+
 (define-public emacs-handle
   (let ((commit "51c050bc1c6e5caf0eb47ecd985daea1db7241ab")
         (revision "2"))
@@ -10313,6 +13223,15 @@ (define-public emacs-handle
 succeeds.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-handle
+  (package-with-emacs-minimal emacs-handle))
+
+(define-public emacs-next-handle
+  (package-with-emacs-next emacs-handle))
+
+(define-public emacs-pgtk-handle
+  (package-with-emacs-pgtk emacs-handle))
+
 (define-public emacs-nswbuff
   (package
     (name "emacs-nswbuff")
@@ -10333,6 +13252,15 @@ (define-public emacs-nswbuff
 a customizable list.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-nswbuff
+  (package-with-emacs-minimal emacs-nswbuff))
+
+(define-public emacs-next-nswbuff
+  (package-with-emacs-next emacs-nswbuff))
+
+(define-public emacs-pgtk-nswbuff
+  (package-with-emacs-pgtk emacs-nswbuff))
+
 (define-public emacs-phi-search
   (let ((commit "9a089b8271cb1cff9640848850298c9ec855286c")
         (revision "1"))
@@ -10355,6 +13283,15 @@ (define-public emacs-phi-search
 provide an incremental search that moves all fake cursors in sync.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-phi-search
+  (package-with-emacs-minimal emacs-phi-search))
+
+(define-public emacs-next-phi-search
+  (package-with-emacs-next emacs-phi-search))
+
+(define-public emacs-pgtk-phi-search
+  (package-with-emacs-pgtk emacs-phi-search))
+
 (define-public emacs-phi-search-mc
   (let ((commit "7aa671910f766437089aec26c3aa7814222d1356")
         (revision "1"))
@@ -10381,6 +13318,15 @@ (define-public emacs-phi-search-mc
 interactive searches to move multiple fake cursors.")
       (license license:bsd-2))))
 
+(define-public emacs-minimal-phi-search-mc
+  (package-with-emacs-minimal emacs-phi-search-mc))
+
+(define-public emacs-next-phi-search-mc
+  (package-with-emacs-next emacs-phi-search-mc))
+
+(define-public emacs-pgtk-phi-search-mc
+  (package-with-emacs-pgtk emacs-phi-search-mc))
+
 (define-public emacs-multiple-cursors
   (package
     (name "emacs-multiple-cursors")
@@ -10402,6 +13348,15 @@ (define-public emacs-multiple-cursors
 simultaneous cursors.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-multiple-cursors
+  (package-with-emacs-minimal emacs-multiple-cursors))
+
+(define-public emacs-next-multiple-cursors
+  (package-with-emacs-next emacs-multiple-cursors))
+
+(define-public emacs-pgtk-multiple-cursors
+  (package-with-emacs-pgtk emacs-multiple-cursors))
+
 (define-public emacs-multifiles
   ;; There is no tag and no "Version:" keyword.  Using the latest release
   ;; instead.
@@ -10429,6 +13384,15 @@ (define-public emacs-multifiles
 one Emacs buffer.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-multifiles
+  (package-with-emacs-minimal emacs-multifiles))
+
+(define-public emacs-next-multifiles
+  (package-with-emacs-next emacs-multifiles))
+
+(define-public emacs-pgtk-multifiles
+  (package-with-emacs-pgtk emacs-multifiles))
+
 (define-public emacs-mc-extras
   (package
     (name "emacs-mc-extras")
@@ -10453,6 +13417,15 @@ (define-public emacs-mc-extras
 comparing characters, removing cursors, and more.")
     (license license:bsd-2)))
 
+(define-public emacs-minimal-mc-extras
+  (package-with-emacs-minimal emacs-mc-extras))
+
+(define-public emacs-next-mc-extras
+  (package-with-emacs-next emacs-mc-extras))
+
+(define-public emacs-pgtk-mc-extras
+  (package-with-emacs-pgtk emacs-mc-extras))
+
 (define-public emacs-substitute
   (package
     (name "emacs-substitute")
@@ -10480,6 +13453,15 @@ (define-public emacs-substitute
 substitute text and perform the substitution outright.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-substitute
+  (package-with-emacs-minimal emacs-substitute))
+
+(define-public emacs-next-substitute
+  (package-with-emacs-next emacs-substitute))
+
+(define-public emacs-pgtk-substitute
+  (package-with-emacs-pgtk emacs-substitute))
+
 (define-public emacs-typo
   (package
     (name "emacs-typo")
@@ -10504,6 +13486,15 @@ (define-public emacs-typo
 on context.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-typo
+  (package-with-emacs-minimal emacs-typo))
+
+(define-public emacs-next-typo
+  (package-with-emacs-next emacs-typo))
+
+(define-public emacs-pgtk-typo
+  (package-with-emacs-pgtk emacs-typo))
+
 (define-public emacs-company-lsp
   (package
     (name "emacs-company-lsp")
@@ -10533,6 +13524,15 @@ (define-public emacs-company-lsp
 characters and asynchronous fetching of completion candidates.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-company-lsp
+  (package-with-emacs-minimal emacs-company-lsp))
+
+(define-public emacs-next-company-lsp
+  (package-with-emacs-next emacs-company-lsp))
+
+(define-public emacs-pgtk-company-lsp
+  (package-with-emacs-pgtk emacs-company-lsp))
+
 (define-public emacs-scala-mode
   (package
     (name "emacs-scala-mode")
@@ -10557,6 +13557,15 @@ (define-public emacs-scala-mode
     ;; indicates GPL3.
     (license license:gpl3)))
 
+(define-public emacs-minimal-scala-mode
+  (package-with-emacs-minimal emacs-scala-mode))
+
+(define-public emacs-next-scala-mode
+  (package-with-emacs-next emacs-scala-mode))
+
+(define-public emacs-pgtk-scala-mode
+  (package-with-emacs-pgtk emacs-scala-mode))
+
 (define-public emacs-sbt-mode
   (package
     (name "emacs-sbt-mode")
@@ -10580,6 +13589,15 @@ (define-public emacs-sbt-mode
 navigation to errors.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-sbt-mode
+  (package-with-emacs-minimal emacs-sbt-mode))
+
+(define-public emacs-next-sbt-mode
+  (package-with-emacs-next emacs-sbt-mode))
+
+(define-public emacs-pgtk-sbt-mode
+  (package-with-emacs-pgtk emacs-sbt-mode))
+
 (define-public emacs-9lc-mode
   (let ((commit "7871476488fc7b66e05714797a9a5b8275988662")
         (revision "1"))
@@ -10602,6 +13620,15 @@ (define-public emacs-9lc-mode
        "This package provides a major mode for editing Fluke 9010a \"9LC\" files.")
       (license (list license:gpl3+)))))
 
+(define-public emacs-minimal-9lc-mode
+  (package-with-emacs-minimal emacs-9lc-mode))
+
+(define-public emacs-next-9lc-mode
+  (package-with-emacs-next emacs-9lc-mode))
+
+(define-public emacs-pgtk-9lc-mode
+  (package-with-emacs-pgtk emacs-9lc-mode))
+
 (define-public emacs-tl1-mode
   (let ((commit "48d12893cc81d7f92dc7b603d3751d8512ed0eb0")
         (revision "1"))
@@ -10626,6 +13653,15 @@ (define-public emacs-tl1-mode
 troubleshooting mainframes.")
       (license (list license:gpl3+)))))
 
+(define-public emacs-minimal-tl1-mode
+  (package-with-emacs-minimal emacs-tl1-mode))
+
+(define-public emacs-next-tl1-mode
+  (package-with-emacs-next emacs-tl1-mode))
+
+(define-public emacs-pgtk-tl1-mode
+  (package-with-emacs-pgtk emacs-tl1-mode))
+
 (define-public emacs-scheme-complete
   ;; Upstream does not provide tags.  The commit below corresponds to the
   ;; exact version update.  Version is extracted from main file.
@@ -10652,6 +13688,15 @@ (define-public emacs-scheme-complete
 to a key in your preferred mode.")
       (license license:public-domain))))
 
+(define-public emacs-minimal-scheme-complete
+  (package-with-emacs-minimal emacs-scheme-complete))
+
+(define-public emacs-next-scheme-complete
+  (package-with-emacs-next emacs-scheme-complete))
+
+(define-public emacs-pgtk-scheme-complete
+  (package-with-emacs-pgtk emacs-scheme-complete))
+
 (define-public emacs-scel
   (let ((version "20170629")
         (revision "1")
@@ -10704,6 +13749,15 @@ (define-public emacs-scel
 SuperCollider is a platform for audio synthesis and algorithmic composition.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-scel
+  (package-with-emacs-minimal emacs-scel))
+
+(define-public emacs-next-scel
+  (package-with-emacs-next emacs-scel))
+
+(define-public emacs-pgtk-scel
+  (package-with-emacs-pgtk emacs-scel))
+
 (define-public emacs-soothe-theme
   ;; There is no named branch.
   (let ((commit "0786fe70c6c1b4ddcfb932fdc6862b9611cfc09b")
@@ -10730,6 +13784,15 @@ (define-public emacs-soothe-theme
 mode.")
      (license license:gpl3))))
 
+(define-public emacs-minimal-soothe-theme
+  (package-with-emacs-minimal emacs-soothe-theme))
+
+(define-public emacs-next-soothe-theme
+  (package-with-emacs-next emacs-soothe-theme))
+
+(define-public emacs-pgtk-soothe-theme
+  (package-with-emacs-pgtk emacs-soothe-theme))
+
 (define-public emacs-company-auctex
   (let ((commit "48c42c58ce2f0e693301b0cb2d085055410c1b25")
         (revision "1"))
@@ -10760,6 +13823,15 @@ (define-public emacs-company-auctex
 for @code{AUCTeX}.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-company-auctex
+  (package-with-emacs-minimal emacs-company-auctex))
+
+(define-public emacs-next-company-auctex
+  (package-with-emacs-next emacs-company-auctex))
+
+(define-public emacs-pgtk-company-auctex
+  (package-with-emacs-pgtk emacs-company-auctex))
+
 (define-public emacs-mit-scheme-doc
   (package
     (name "emacs-mit-scheme-doc")
@@ -10801,6 +13873,15 @@ (define-public emacs-mit-scheme-doc
 identifiers in the MIT-Scheme documentation.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-mit-scheme-doc
+  (package-with-emacs-minimal emacs-mit-scheme-doc))
+
+(define-public emacs-next-mit-scheme-doc
+  (package-with-emacs-next emacs-mit-scheme-doc))
+
+(define-public emacs-pgtk-mit-scheme-doc
+  (package-with-emacs-pgtk emacs-mit-scheme-doc))
+
 (define-public emacs-constants
   (package
     (name "emacs-constants")
@@ -10822,6 +13903,15 @@ (define-public emacs-constants
 constants and units into an Emacs buffer.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-constants
+  (package-with-emacs-minimal emacs-constants))
+
+(define-public emacs-next-constants
+  (package-with-emacs-next emacs-constants))
+
+(define-public emacs-pgtk-constants
+  (package-with-emacs-pgtk emacs-constants))
+
 (define-public emacs-tagedit
   (package
     (name "emacs-tagedit")
@@ -10852,6 +13942,15 @@ (define-public emacs-tagedit
 in HTML mode.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-tagedit
+  (package-with-emacs-minimal emacs-tagedit))
+
+(define-public emacs-next-tagedit
+  (package-with-emacs-next emacs-tagedit))
+
+(define-public emacs-pgtk-tagedit
+  (package-with-emacs-pgtk emacs-tagedit))
+
 (define-public emacs-slime
   ;; Update together with sbcl-slime-swank.
   (package
@@ -10917,6 +14016,15 @@ (define-public emacs-slime
 for compilation, debugging, documentation lookup, and so on.")
     (license (list license:gpl2+ license:public-domain))))
 
+(define-public emacs-minimal-slime
+  (package-with-emacs-minimal emacs-slime))
+
+(define-public emacs-next-slime
+  (package-with-emacs-next emacs-slime))
+
+(define-public emacs-pgtk-slime
+  (package-with-emacs-pgtk emacs-slime))
+
 (define-public emacs-popup
   (package
     (name "emacs-popup")
@@ -10939,6 +14047,15 @@ (define-public emacs-popup
 and popup menus.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-popup
+  (package-with-emacs-minimal emacs-popup))
+
+(define-public emacs-next-popup
+  (package-with-emacs-next emacs-popup))
+
+(define-public emacs-pgtk-popup
+  (package-with-emacs-pgtk emacs-popup))
+
 (define-public emacs-popup-kill-ring
   (let ((commit "a45c9cf79c4e1207fdbdd662e161154ef224ad61")
         (revision "0"))
@@ -10962,6 +14079,15 @@ (define-public emacs-popup-kill-ring
 autocomplete style popup menu.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-popup-kill-ring
+  (package-with-emacs-minimal emacs-popup-kill-ring))
+
+(define-public emacs-next-popup-kill-ring
+  (package-with-emacs-next emacs-popup-kill-ring))
+
+(define-public emacs-pgtk-popup-kill-ring
+  (package-with-emacs-pgtk emacs-popup-kill-ring))
+
 (define-public emacs-popper
   ;; No tagged release upstream for version 0.45.  The commit below matches
   ;; version bump.
@@ -10986,6 +14112,15 @@ (define-public emacs-popper
 windows Emacs produces, while still keeping them within arm’s reach.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-popper
+  (package-with-emacs-minimal emacs-popper))
+
+(define-public emacs-next-popper
+  (package-with-emacs-next emacs-popper))
+
+(define-public emacs-pgtk-popper
+  (package-with-emacs-pgtk emacs-popper))
+
 (define-public emacs-pydoc
   ;; https://github.com/statmobile/pydoc/issues/31
   (let ((commit "c8b667e17bfe3e63221f822c5c4d58c8fb4fea90")
@@ -11026,6 +14161,15 @@ (define-public emacs-pydoc
 Python documentation with @code{pydoc} in Emacs.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-pydoc
+  (package-with-emacs-minimal emacs-pydoc))
+
+(define-public emacs-next-pydoc
+  (package-with-emacs-next emacs-pydoc))
+
+(define-public emacs-pgtk-pydoc
+  (package-with-emacs-pgtk emacs-pydoc))
+
 (define-public emacs-python-black
   (package
     (name "emacs-python-black")
@@ -11051,6 +14195,15 @@ (define-public emacs-python-black
 buffers, respectively.")
     (license license:bsd-3)))
 
+(define-public emacs-minimal-python-black
+  (package-with-emacs-minimal emacs-python-black))
+
+(define-public emacs-next-python-black
+  (package-with-emacs-next emacs-python-black))
+
+(define-public emacs-pgtk-python-black
+  (package-with-emacs-pgtk emacs-python-black))
+
 (define-public emacs-py-isort
   (package
     (name "emacs-py-isort")
@@ -11076,6 +14229,15 @@ (define-public emacs-py-isort
 using @code{python-isort}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-py-isort
+  (package-with-emacs-minimal emacs-py-isort))
+
+(define-public emacs-next-py-isort
+  (package-with-emacs-next emacs-py-isort))
+
+(define-public emacs-pgtk-py-isort
+  (package-with-emacs-pgtk emacs-py-isort))
+
 (define-public emacs-python-environment
   (package
     (name "emacs-python-environment")
@@ -11098,6 +14260,15 @@ (define-public emacs-python-environment
      "This package permits automated installation of tools written in Python.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-python-environment
+  (package-with-emacs-minimal emacs-python-environment))
+
+(define-public emacs-next-python-environment
+  (package-with-emacs-next emacs-python-environment))
+
+(define-public emacs-pgtk-python-environment
+  (package-with-emacs-pgtk emacs-python-environment))
+
 (define-public emacs-jedi
   (package
     (name "emacs-jedi")
@@ -11154,6 +14325,15 @@ (define-public emacs-jedi
 the locations of docstrings, arguments, and functions.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-jedi
+  (package-with-emacs-minimal emacs-jedi))
+
+(define-public emacs-next-jedi
+  (package-with-emacs-next emacs-jedi))
+
+(define-public emacs-pgtk-jedi
+  (package-with-emacs-pgtk emacs-jedi))
+
 (define-public emacs-company-jedi
   (package
     (name "emacs-company-jedi")
@@ -11176,6 +14356,15 @@ (define-public emacs-company-jedi
      "This package provides a Company backend for Python.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-company-jedi
+  (package-with-emacs-minimal emacs-company-jedi))
+
+(define-public emacs-next-company-jedi
+  (package-with-emacs-next emacs-company-jedi))
+
+(define-public emacs-pgtk-company-jedi
+  (package-with-emacs-pgtk emacs-company-jedi))
+
 (define-public emacs-elquery
   (package
     (name "emacs-elquery")
@@ -11193,7 +14382,6 @@ (define-public emacs-elquery
     (build-system emacs-build-system)
     (arguments
      (list
-      #:emacs emacs-no-x
       #:tests? #t
       #:test-command #~(list "ert-runner")
       #:phases #~(modify-phases %standard-phases
@@ -11219,6 +14407,15 @@ (define-public emacs-elquery
 and set HTML attributes.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-elquery
+  (package-with-emacs-minimal emacs-elquery))
+
+(define-public emacs-next-elquery
+  (package-with-emacs-next emacs-elquery))
+
+(define-public emacs-pgtk-elquery
+  (package-with-emacs-pgtk emacs-elquery))
+
 (define-public emacs-cov
   ;; XXX: Upstream made no release nor any tag so far.
   (let ((commit "cd3e1995c596cc227124db9537792d8329ffb696")
@@ -11239,7 +14436,6 @@ (define-public emacs-cov
       (build-system emacs-build-system)
       (arguments
        (list
-        #:emacs emacs-no-x              ;for libxml
         #:tests? #t
         #:test-command #~(list "ert-runner")
         #:phases
@@ -11261,6 +14457,12 @@ (define-public emacs-cov
 output, as well as the Coveralls format produced by Undercover.")
       (license license:gpl3+))))
 
+(define-public emacs-next-cov
+  (package-with-emacs-next emacs-cov))
+
+(define-public emacs-pgtk-cov
+  (package-with-emacs-pgtk emacs-cov))
+
 (define-public emacs-puppet-mode
   (package
     (name "emacs-puppet-mode")
@@ -11285,6 +14487,15 @@ (define-public emacs-puppet-mode
     ;; Also incorporates work covered by the Apache License, Version 2.0
     (license license:gpl3+)))
 
+(define-public emacs-minimal-puppet-mode
+  (package-with-emacs-minimal emacs-puppet-mode))
+
+(define-public emacs-next-puppet-mode
+  (package-with-emacs-next emacs-puppet-mode))
+
+(define-public emacs-pgtk-puppet-mode
+  (package-with-emacs-pgtk emacs-puppet-mode))
+
 (define-public emacs-purescript-mode
   ;; Retrieved on 2021-05-18.
   (let ((revision "0")
@@ -11317,6 +14528,15 @@ (define-public emacs-purescript-mode
       (description "This package provides an Emacs major mode for writing Purescript.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-purescript-mode
+  (package-with-emacs-minimal emacs-purescript-mode))
+
+(define-public emacs-next-purescript-mode
+  (package-with-emacs-next emacs-purescript-mode))
+
+(define-public emacs-pgtk-purescript-mode
+  (package-with-emacs-pgtk emacs-purescript-mode))
+
 (define-public emacs-new-purescript-mode
   (let ((commit "9f7bb73e26340fcd2ea1946dbad165f0406eb3e1")
         (revision "0"))
@@ -11340,6 +14560,15 @@ (define-public emacs-new-purescript-mode
 just provides syntax highlighting.")
       (license license:expat))))
 
+(define-public emacs-minimal-new-purescript-mode
+  (package-with-emacs-minimal emacs-new-purescript-mode))
+
+(define-public emacs-next-new-purescript-mode
+  (package-with-emacs-next emacs-new-purescript-mode))
+
+(define-public emacs-pgtk-new-purescript-mode
+  (package-with-emacs-pgtk emacs-new-purescript-mode))
+
 (define-public emacs-god-mode
   (package
     (name "emacs-god-mode")
@@ -11370,6 +14599,15 @@ (define-public emacs-god-mode
 @samp{C-} (among other helpful shortcuts).")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-god-mode
+  (package-with-emacs-minimal emacs-god-mode))
+
+(define-public emacs-next-god-mode
+  (package-with-emacs-next emacs-god-mode))
+
+(define-public emacs-pgtk-god-mode
+  (package-with-emacs-pgtk emacs-god-mode))
+
 (define-public emacs-jinja2-mode
   (package
     (name "emacs-jinja2-mode")
@@ -11391,6 +14629,15 @@ (define-public emacs-jinja2-mode
 sgml/html integration, and indentation (working with sgml).")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-jinja2-mode
+  (package-with-emacs-minimal emacs-jinja2-mode))
+
+(define-public emacs-next-jinja2-mode
+  (package-with-emacs-next emacs-jinja2-mode))
+
+(define-public emacs-pgtk-jinja2-mode
+  (package-with-emacs-pgtk emacs-jinja2-mode))
+
 (define-public emacs-jinx
   (package
     (name "emacs-jinx")
@@ -11450,6 +14697,15 @@ (define-public emacs-jinx
 well as text folding, if any.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-jinx
+  (package-with-emacs-minimal emacs-jinx))
+
+(define-public emacs-next-jinx
+  (package-with-emacs-next emacs-jinx))
+
+(define-public emacs-pgtk-jinx
+  (package-with-emacs-pgtk emacs-jinx))
+
 (define-public emacs-jit-spell
   (package
     (name "emacs-jit-spell")
@@ -11474,6 +14730,15 @@ (define-public emacs-jit-spell
 noticeable performance improvement.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-jit-spell
+  (package-with-emacs-minimal emacs-jit-spell))
+
+(define-public emacs-next-jit-spell
+  (package-with-emacs-next emacs-jit-spell))
+
+(define-public emacs-pgtk-jit-spell
+  (package-with-emacs-pgtk emacs-jit-spell))
+
 (define-public emacs-company-cabal
   ;; The latest version is 0.3.0, but no release has been provided after 0.2.1.
   (let ((commit "62112a7259e24bd6c08885629a185afe512b7d3d")
@@ -11502,6 +14767,15 @@ (define-public emacs-company-cabal
 field values, and more within @code{haskell-cabal-mode}.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-company-cabal
+  (package-with-emacs-minimal emacs-company-cabal))
+
+(define-public emacs-next-company-cabal
+  (package-with-emacs-next emacs-company-cabal))
+
+(define-public emacs-pgtk-company-cabal
+  (package-with-emacs-pgtk emacs-company-cabal))
+
 (define-public emacs-rfcview
   (package
     (name "emacs-rfcview")
@@ -11526,6 +14800,15 @@ (define-public emacs-rfcview
 local directories.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-rfcview
+  (package-with-emacs-minimal emacs-rfcview))
+
+(define-public emacs-next-rfcview
+  (package-with-emacs-next emacs-rfcview))
+
+(define-public emacs-pgtk-rfcview
+  (package-with-emacs-pgtk emacs-rfcview))
+
 (define-public emacs-ffap-rfc-space
   (package
     (name "emacs-ffap-rfc-space")
@@ -11550,6 +14833,15 @@ (define-public emacs-ffap-rfc-space
 number.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ffap-rfc-space
+  (package-with-emacs-minimal emacs-ffap-rfc-space))
+
+(define-public emacs-next-ffap-rfc-space
+  (package-with-emacs-next emacs-ffap-rfc-space))
+
+(define-public emacs-pgtk-ffap-rfc-space
+  (package-with-emacs-pgtk emacs-ffap-rfc-space))
+
 (define-public emacs-feature-mode
   (let ((version "20190801")
         (revision "1")
@@ -11576,6 +14868,15 @@ (define-public emacs-feature-mode
 Cucumber tool) user stories.  Also known by the name @code{cucumber.el}.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-feature-mode
+  (package-with-emacs-minimal emacs-feature-mode))
+
+(define-public emacs-next-feature-mode
+  (package-with-emacs-next emacs-feature-mode))
+
+(define-public emacs-pgtk-feature-mode
+  (package-with-emacs-pgtk emacs-feature-mode))
+
 (define-public emacs-org-bullets
   (package
     (name "emacs-org-bullets")
@@ -11597,6 +14898,15 @@ (define-public emacs-org-bullets
 @code{org-mode} to be rendered as UTF-8 characters.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-bullets
+  (package-with-emacs-minimal emacs-org-bullets))
+
+(define-public emacs-next-org-bullets
+  (package-with-emacs-next emacs-org-bullets))
+
+(define-public emacs-pgtk-org-bullets
+  (package-with-emacs-pgtk emacs-org-bullets))
+
 (define-public emacs-org-appear
   (package
     (name "emacs-org-appear")
@@ -11618,6 +14928,15 @@ (define-public emacs-org-appear
 when the cursor enters a fragment and disappear when it leaves.")
     (license license:expat)))
 
+(define-public emacs-minimal-org-appear
+  (package-with-emacs-minimal emacs-org-appear))
+
+(define-public emacs-next-org-appear
+  (package-with-emacs-next emacs-org-appear))
+
+(define-public emacs-pgtk-org-appear
+  (package-with-emacs-pgtk emacs-org-appear))
+
 (define-public emacs-org-dailies
   ;; No tags or versions.
   (let ((commit "f2dfc221d3566c6241f87c331667f96569651ada")
@@ -11642,6 +14961,15 @@ (define-public emacs-org-dailies
 copy of the org-roam-dailies extension without org-roam.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-dailies
+  (package-with-emacs-minimal emacs-org-dailies))
+
+(define-public emacs-next-org-dailies
+  (package-with-emacs-next emacs-org-dailies))
+
+(define-public emacs-pgtk-org-dailies
+  (package-with-emacs-pgtk emacs-org-dailies))
+
 (define-public emacs-org-drill
   (package
     (name "emacs-org-drill")
@@ -11666,6 +14994,15 @@ (define-public emacs-org-drill
 cards created in Org mode.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-drill
+  (package-with-emacs-minimal emacs-org-drill))
+
+(define-public emacs-next-org-drill
+  (package-with-emacs-next emacs-org-drill))
+
+(define-public emacs-pgtk-org-drill
+  (package-with-emacs-pgtk emacs-org-drill))
+
 (define-public emacs-anki-editor
   ;; Last release was in 2018.
   (let ((commit "546774a453ef4617b1bcb0d1626e415c67cc88df")
@@ -11693,6 +15030,15 @@ (define-public emacs-anki-editor
 (SRS) but would like to make cards in Org mode.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-anki-editor
+  (package-with-emacs-minimal emacs-anki-editor))
+
+(define-public emacs-next-anki-editor
+  (package-with-emacs-next emacs-anki-editor))
+
+(define-public emacs-pgtk-anki-editor
+  (package-with-emacs-pgtk emacs-anki-editor))
+
 (define-public emacs-org-mime
   (package
     (name "emacs-org-mime")
@@ -11716,6 +15062,15 @@ (define-public emacs-org-mime
 email.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-mime
+  (package-with-emacs-minimal emacs-org-mime))
+
+(define-public emacs-next-org-mime
+  (package-with-emacs-next emacs-org-mime))
+
+(define-public emacs-pgtk-org-mime
+  (package-with-emacs-pgtk emacs-org-mime))
+
 (define-public emacs-org-msg
   ;; No git tags.  The commit below corresponds to the release of version 4.0.
   (let ((commit "60e22e446325a9b3387396459d98be7c1c52579d"))
@@ -11742,6 +15097,15 @@ (define-public emacs-org-msg
 emails in a Outlook HTML friendly style.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-msg
+  (package-with-emacs-minimal emacs-org-msg))
+
+(define-public emacs-next-org-msg
+  (package-with-emacs-next emacs-org-msg))
+
+(define-public emacs-pgtk-org-msg
+  (package-with-emacs-pgtk emacs-org-msg))
+
 (define-public emacs-org-superstar
   (package
     (name "emacs-org-superstar")
@@ -11783,6 +15147,15 @@ (define-public emacs-org-superstar
 Features degrade gracefully when viewed from terminal.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-superstar
+  (package-with-emacs-minimal emacs-org-superstar))
+
+(define-public emacs-next-org-superstar
+  (package-with-emacs-next emacs-org-superstar))
+
+(define-public emacs-pgtk-org-superstar
+  (package-with-emacs-pgtk emacs-org-superstar))
+
 (define-public emacs-org-pandoc-import
   (let ((commit "db308f1a05be26ce5b287633637ce554599b1377")
         (revision "0"))
@@ -11823,6 +15196,15 @@ (define-public emacs-org-pandoc-import
 save, it exports back to the original non-Org file.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-pandoc-import
+  (package-with-emacs-minimal emacs-org-pandoc-import))
+
+(define-public emacs-next-org-pandoc-import
+  (package-with-emacs-next emacs-org-pandoc-import))
+
+(define-public emacs-pgtk-org-pandoc-import
+  (package-with-emacs-pgtk emacs-org-pandoc-import))
+
 (define-public emacs-org-pomodoro
   ;; Last release version was from 2016.
   (let ((commit "aa07c11318f91219336197e62c47bc7a3d090479")
@@ -11876,6 +15258,15 @@ (define-public emacs-org-pomodoro
 started with 20 minutes.  All values are customizable.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-pomodoro
+  (package-with-emacs-minimal emacs-org-pomodoro))
+
+(define-public emacs-next-org-pomodoro
+  (package-with-emacs-next emacs-org-pomodoro))
+
+(define-public emacs-pgtk-org-pomodoro
+  (package-with-emacs-pgtk emacs-org-pomodoro))
+
 (define-public emacs-org-sidebar
   (package
     (name "emacs-org-sidebar")
@@ -11906,6 +15297,15 @@ (define-public emacs-org-sidebar
 overview of tasks in a subtree.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-sidebar
+  (package-with-emacs-minimal emacs-org-sidebar))
+
+(define-public emacs-next-org-sidebar
+  (package-with-emacs-next emacs-org-sidebar))
+
+(define-public emacs-pgtk-org-sidebar
+  (package-with-emacs-pgtk emacs-org-sidebar))
+
 (define-public emacs-org-trello
   (package
     (name "emacs-org-trello")
@@ -11935,6 +15335,15 @@ (define-public emacs-org-trello
 organizer.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-trello
+  (package-with-emacs-minimal emacs-org-trello))
+
+(define-public emacs-next-org-trello
+  (package-with-emacs-next emacs-org-trello))
+
+(define-public emacs-pgtk-org-trello
+  (package-with-emacs-pgtk emacs-org-trello))
+
 (define-public emacs-org-tanglesync
   (let ((commit "d99181f173b4e55b4e835d99fcd415e62beb047f")
         (revision "2"))
@@ -11959,6 +15368,15 @@ (define-public emacs-org-tanglesync
 to their corresponding tangled blocks.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-tanglesync
+  (package-with-emacs-minimal emacs-org-tanglesync))
+
+(define-public emacs-next-org-tanglesync
+  (package-with-emacs-next emacs-org-tanglesync))
+
+(define-public emacs-pgtk-org-tanglesync
+  (package-with-emacs-pgtk emacs-org-tanglesync))
+
 (define-public emacs-company-flow
   (let ((commit "76ef585c70d2a3206c2eadf24ba61e59124c3a16")
         (revision "1"))
@@ -11983,6 +15401,15 @@ (define-public emacs-company-flow
        "This package provides completion for JavaScript files utilizing Flow.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-company-flow
+  (package-with-emacs-minimal emacs-company-flow))
+
+(define-public emacs-next-company-flow
+  (package-with-emacs-next emacs-company-flow))
+
+(define-public emacs-pgtk-company-flow
+  (package-with-emacs-pgtk emacs-company-flow))
+
 (define-public emacs-habitica
   (let ((commit "c45c602ddf9d6cbb0e3baf5cb3e1b7ef90f2759d")
         (revision "1"))
@@ -12006,6 +15433,15 @@ (define-public emacs-habitica
 a RPG style habit tracker and todo list.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-habitica
+  (package-with-emacs-minimal emacs-habitica))
+
+(define-public emacs-next-habitica
+  (package-with-emacs-next emacs-habitica))
+
+(define-public emacs-pgtk-habitica
+  (package-with-emacs-pgtk emacs-habitica))
+
 (define-public emacs-atom-one-dark-theme
   (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
         (revision "0"))
@@ -12027,6 +15463,15 @@ (define-public emacs-atom-one-dark-theme
      (description "An Emacs port of the Atom One Dark theme from Atom.io.")
      (license license:gpl3+))))
 
+(define-public emacs-minimal-atom-one-dark-theme
+  (package-with-emacs-minimal emacs-atom-one-dark-theme))
+
+(define-public emacs-next-atom-one-dark-theme
+  (package-with-emacs-next emacs-atom-one-dark-theme))
+
+(define-public emacs-pgtk-atom-one-dark-theme
+  (package-with-emacs-pgtk emacs-atom-one-dark-theme))
+
 (define-public emacs-atomic-chrome
   (let ((commit "072a137a19d7e6a300ca3e87c0e142a7f4ccb5fb")
         (revision "1"))
@@ -12057,6 +15502,15 @@ (define-public emacs-atomic-chrome
 the same content bi-directionally.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-atomic-chrome
+  (package-with-emacs-minimal emacs-atomic-chrome))
+
+(define-public emacs-next-atomic-chrome
+  (package-with-emacs-next emacs-atomic-chrome))
+
+(define-public emacs-pgtk-atomic-chrome
+  (package-with-emacs-pgtk emacs-atomic-chrome))
+
 (define-public emacs-zenburn-theme
   (package
     (name "emacs-zenburn-theme")
@@ -12078,6 +15532,15 @@ (define-public emacs-zenburn-theme
 It is built on top of the custom theme support in Emacs 24 or later.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-zenburn-theme
+  (package-with-emacs-minimal emacs-zenburn-theme))
+
+(define-public emacs-next-zenburn-theme
+  (package-with-emacs-next emacs-zenburn-theme))
+
+(define-public emacs-pgtk-zenburn-theme
+  (package-with-emacs-pgtk emacs-zenburn-theme))
+
 (define-public emacs-moe-theme-el
   (package
     (name "emacs-moe-theme-el")
@@ -12099,6 +15562,15 @@ (define-public emacs-moe-theme-el
 variants.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-moe-theme-el
+  (package-with-emacs-minimal emacs-moe-theme-el))
+
+(define-public emacs-next-moe-theme-el
+  (package-with-emacs-next emacs-moe-theme-el))
+
+(define-public emacs-pgtk-moe-theme-el
+  (package-with-emacs-pgtk emacs-moe-theme-el))
+
 (define-public emacs-solarized-theme
   (package
     (name "emacs-solarized-theme")
@@ -12122,6 +15594,15 @@ (define-public emacs-solarized-theme
 package provides a light and a dark variant.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-solarized-theme
+  (package-with-emacs-minimal emacs-solarized-theme))
+
+(define-public emacs-next-solarized-theme
+  (package-with-emacs-next emacs-solarized-theme))
+
+(define-public emacs-pgtk-solarized-theme
+  (package-with-emacs-pgtk emacs-solarized-theme))
+
 (define-public emacs-color-theme-solarized
   ;; From 2017-10-24.  No releases available.
   (let ((commit "f3ca8902ea056fb8e46cb09f09c96294e31cd4ee")
@@ -12156,6 +15637,15 @@ (define-public emacs-color-theme-solarized
 Solarized color scheme.")
       (license license:expat))))
 
+(define-public emacs-minimal-color-theme-solarized
+  (package-with-emacs-minimal emacs-color-theme-solarized))
+
+(define-public emacs-next-color-theme-solarized
+  (package-with-emacs-next emacs-color-theme-solarized))
+
+(define-public emacs-pgtk-color-theme-solarized
+  (package-with-emacs-pgtk emacs-color-theme-solarized))
+
 (define-public emacs-color-identifiers-mode
   (let ((commit "a26d00d898e0a3295cb7da9323046397223ea1fe")
         (revision "0"))
@@ -12180,6 +15670,15 @@ (define-public emacs-color-identifiers-mode
 code identifier uniquely based on its name.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-color-identifiers-mode
+  (package-with-emacs-minimal emacs-color-identifiers-mode))
+
+(define-public emacs-next-color-identifiers-mode
+  (package-with-emacs-next emacs-color-identifiers-mode))
+
+(define-public emacs-pgtk-color-identifiers-mode
+  (package-with-emacs-pgtk emacs-color-identifiers-mode))
+
 (define-public emacs-poet-theme
   (let ((commit "16eb694f0755c04c4db98614d0eca1199fddad70")
         (revision "1"))
@@ -12207,6 +15706,15 @@ (define-public emacs-poet-theme
 backgrounds.")
       (license license:expat))))
 
+(define-public emacs-minimal-poet-theme
+  (package-with-emacs-minimal emacs-poet-theme))
+
+(define-public emacs-next-poet-theme
+  (package-with-emacs-next emacs-poet-theme))
+
+(define-public emacs-pgtk-poet-theme
+  (package-with-emacs-pgtk emacs-poet-theme))
+
 (define-public emacs-ahungry-theme
   (package
     (name "emacs-ahungry-theme")
@@ -12227,6 +15735,15 @@ (define-public emacs-ahungry-theme
 dark background.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ahungry-theme
+  (package-with-emacs-minimal emacs-ahungry-theme))
+
+(define-public emacs-next-ahungry-theme
+  (package-with-emacs-next emacs-ahungry-theme))
+
+(define-public emacs-pgtk-ahungry-theme
+  (package-with-emacs-pgtk emacs-ahungry-theme))
+
 (define-public emacs-color-theme-modern
   ;; No release since October 2019
   (let ((commit "74ad69bbca6fcfff3c0960d888c7c9c1f9f3e2e8")
@@ -12251,6 +15768,15 @@ (define-public emacs-color-theme-modern
 built-in custom themes.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-color-theme-modern
+  (package-with-emacs-minimal emacs-color-theme-modern))
+
+(define-public emacs-next-color-theme-modern
+  (package-with-emacs-next emacs-color-theme-modern))
+
+(define-public emacs-pgtk-color-theme-modern
+  (package-with-emacs-pgtk emacs-color-theme-modern))
+
 (define-public emacs-gruvbox-theme
   (package
     (name "emacs-gruvbox-theme")
@@ -12278,6 +15804,15 @@ (define-public emacs-gruvbox-theme
 for the eyes.")
     (license license:expat))) ; MIT license
 
+(define-public emacs-minimal-gruvbox-theme
+  (package-with-emacs-minimal emacs-gruvbox-theme))
+
+(define-public emacs-next-gruvbox-theme
+  (package-with-emacs-next emacs-gruvbox-theme))
+
+(define-public emacs-pgtk-gruvbox-theme
+  (package-with-emacs-pgtk emacs-gruvbox-theme))
+
 (define-public emacs-spacegray-theme
   (let ((commit "9826265c2bceb2ebc1c5e16a45021da0253ace97")
         (revision "0"))
@@ -12302,6 +15837,15 @@ (define-public emacs-spacegray-theme
 orange and red as accent colors.")
       (license license:expat)))) ; MIT license
 
+(define-public emacs-minimal-spacegray-theme
+  (package-with-emacs-minimal emacs-spacegray-theme))
+
+(define-public emacs-next-spacegray-theme
+  (package-with-emacs-next emacs-spacegray-theme))
+
+(define-public emacs-pgtk-spacegray-theme
+  (package-with-emacs-pgtk emacs-spacegray-theme))
+
 (define-public emacs-org-cv
   ;; There are no tagged releases.
   (let ((commit "24bcd82348d441d95c2c80fb8ef8b5d6d4b80d95")
@@ -12329,6 +15873,15 @@ (define-public emacs-org-cv
 may export to Markdown so that it can be used for a web based CV.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-cv
+  (package-with-emacs-minimal emacs-org-cv))
+
+(define-public emacs-next-org-cv
+  (package-with-emacs-next emacs-org-cv))
+
+(define-public emacs-pgtk-org-cv
+  (package-with-emacs-pgtk emacs-org-cv))
+
 (define-public emacs-ox-gfm
   (package
     (name "emacs-ox-gfm")
@@ -12350,6 +15903,15 @@ (define-public emacs-ox-gfm
 markdown features.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ox-gfm
+  (package-with-emacs-minimal emacs-ox-gfm))
+
+(define-public emacs-next-ox-gfm
+  (package-with-emacs-next emacs-ox-gfm))
+
+(define-public emacs-pgtk-ox-gfm
+  (package-with-emacs-pgtk emacs-ox-gfm))
+
 (define-public emacs-2048-game
   (package
     (name "emacs-2048-game")
@@ -12371,6 +15933,15 @@ (define-public emacs-2048-game
 board and goal value can be customized.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-2048-game
+  (package-with-emacs-minimal emacs-2048-game))
+
+(define-public emacs-next-2048-game
+  (package-with-emacs-next emacs-2048-game))
+
+(define-public emacs-pgtk-2048-game
+  (package-with-emacs-pgtk emacs-2048-game))
+
 (define-public emacs-chess
   (package
     (name "emacs-chess")
@@ -12402,6 +15973,15 @@ (define-public emacs-chess
 the game of chess.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-chess
+  (package-with-emacs-minimal emacs-chess))
+
+(define-public emacs-next-chess
+  (package-with-emacs-next emacs-chess))
+
+(define-public emacs-pgtk-chess
+  (package-with-emacs-pgtk emacs-chess))
+
 (define-public emacs-4clojure
   ;; There is no release.  Base version is extracted from Version keyword in
   ;; the main file.
@@ -12430,6 +16010,15 @@ (define-public emacs-4clojure
 answers.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-4clojure
+  (package-with-emacs-minimal emacs-4clojure))
+
+(define-public emacs-next-4clojure
+  (package-with-emacs-next emacs-4clojure))
+
+(define-public emacs-pgtk-4clojure
+  (package-with-emacs-pgtk emacs-4clojure))
+
 (define-public emacs-base16-theme
   (package
     (name "emacs-base16-theme")
@@ -12470,6 +16059,15 @@ (define-public emacs-base16-theme
 single theme but a set of guidelines with numerous implementations.")
     (license license:expat)))
 
+(define-public emacs-minimal-base16-theme
+  (package-with-emacs-minimal emacs-base16-theme))
+
+(define-public emacs-next-base16-theme
+  (package-with-emacs-next emacs-base16-theme))
+
+(define-public emacs-pgtk-base16-theme
+  (package-with-emacs-pgtk emacs-base16-theme))
+
 (define-public emacs-solaire-mode
   (package
     (name "emacs-solaire-mode")
@@ -12493,6 +16091,15 @@ (define-public emacs-solaire-mode
 them easier to distinguish from other, less important buffers.")
     (license license:expat)))
 
+(define-public emacs-minimal-solaire-mode
+  (package-with-emacs-minimal emacs-solaire-mode))
+
+(define-public emacs-next-solaire-mode
+  (package-with-emacs-next emacs-solaire-mode))
+
+(define-public emacs-pgtk-solaire-mode
+  (package-with-emacs-pgtk emacs-solaire-mode))
+
 (define-public emacs-embark
   (package
     (name "emacs-embark")
@@ -12542,6 +16149,15 @@ (define-public emacs-embark
 include installing, removing or visiting the homepage.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-embark
+  (package-with-emacs-minimal emacs-embark))
+
+(define-public emacs-next-embark
+  (package-with-emacs-next emacs-embark))
+
+(define-public emacs-pgtk-embark
+  (package-with-emacs-pgtk emacs-embark))
+
 (define-public emacs-prescient
   (package
     (name "emacs-prescient")
@@ -12565,6 +16181,15 @@ (define-public emacs-prescient
 for Ivy and Company that make use of the library.")
     (license license:expat)))
 
+(define-public emacs-minimal-prescient
+  (package-with-emacs-minimal emacs-prescient))
+
+(define-public emacs-next-prescient
+  (package-with-emacs-next emacs-prescient))
+
+(define-public emacs-pgtk-prescient
+  (package-with-emacs-pgtk emacs-prescient))
+
 (define-public emacs-selectrum
   (package
     (name "emacs-selectrum")
@@ -12591,6 +16216,15 @@ (define-public emacs-selectrum
 interface.")
     (license license:expat)))
 
+(define-public emacs-minimal-selectrum
+  (package-with-emacs-minimal emacs-selectrum))
+
+(define-public emacs-next-selectrum
+  (package-with-emacs-next emacs-selectrum))
+
+(define-public emacs-pgtk-selectrum
+  (package-with-emacs-pgtk emacs-selectrum))
+
 (define-public emacs-orderless
   (package
     (name "emacs-orderless")
@@ -12625,6 +16259,15 @@ (define-public emacs-orderless
 style, or as multiple word prefixes.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-orderless
+  (package-with-emacs-minimal emacs-orderless))
+
+(define-public emacs-next-orderless
+  (package-with-emacs-next emacs-orderless))
+
+(define-public emacs-pgtk-orderless
+  (package-with-emacs-pgtk emacs-orderless))
+
 (define-public emacs-consult
   (package
     (name "emacs-consult")
@@ -12661,6 +16304,15 @@ (define-public emacs-consult
 list of candidates.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-consult
+  (package-with-emacs-minimal emacs-consult))
+
+(define-public emacs-next-consult
+  (package-with-emacs-next emacs-consult))
+
+(define-public emacs-pgtk-consult
+  (package-with-emacs-pgtk emacs-consult))
+
 (define-public emacs-consult-bibtex
   ;; XXX: Upstream contains a single commit, which matches the version below.
   (let ((commit "2f870d6eefb54a53216d90a82cff0ff97ba54725"))
@@ -12684,6 +16336,15 @@ (define-public emacs-consult-bibtex
 completion using Consult.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-consult-bibtex
+  (package-with-emacs-minimal emacs-consult-bibtex))
+
+(define-public emacs-next-consult-bibtex
+  (package-with-emacs-next emacs-consult-bibtex))
+
+(define-public emacs-pgtk-consult-bibtex
+  (package-with-emacs-pgtk emacs-consult-bibtex))
+
 (define-public emacs-consult-denote
   (package
     (name "emacs-consult-denote")
@@ -12704,6 +16365,15 @@ (define-public emacs-consult-denote
 a Completing Read interface.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-consult-denote
+  (package-with-emacs-minimal emacs-consult-denote))
+
+(define-public emacs-next-consult-denote
+  (package-with-emacs-next emacs-consult-denote))
+
+(define-public emacs-pgtk-consult-denote
+  (package-with-emacs-pgtk emacs-consult-denote))
+
 (define-public emacs-consult-dir
   (package
     (name "emacs-consult-dir")
@@ -12729,6 +16399,15 @@ (define-public emacs-consult-dir
 replaced with the directory you choose.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-consult-dir
+  (package-with-emacs-minimal emacs-consult-dir))
+
+(define-public emacs-next-consult-dir
+  (package-with-emacs-next emacs-consult-dir))
+
+(define-public emacs-pgtk-consult-dir
+  (package-with-emacs-pgtk emacs-consult-dir))
+
 (define-public emacs-consult-notmuch
   (package
     (name "emacs-consult-notmuch")
@@ -12752,6 +16431,15 @@ (define-public emacs-consult-notmuch
 and present results either as single emails or full trees.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-consult-notmuch
+  (package-with-emacs-minimal emacs-consult-notmuch))
+
+(define-public emacs-next-consult-notmuch
+  (package-with-emacs-next emacs-consult-notmuch))
+
+(define-public emacs-pgtk-consult-notmuch
+  (package-with-emacs-pgtk emacs-consult-notmuch))
+
 (define-public emacs-consult-org-roam
   (let* ((commit "2ca42a1c1641a29f1447d35be01bd1fda368a9e2")
          (revision "1"))
@@ -12778,6 +16466,15 @@ (define-public emacs-consult-org-roam
 versions utilizing Consult's internal API.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-consult-org-roam
+  (package-with-emacs-minimal emacs-consult-org-roam))
+
+(define-public emacs-next-consult-org-roam
+  (package-with-emacs-next emacs-consult-org-roam))
+
+(define-public emacs-pgtk-consult-org-roam
+  (package-with-emacs-pgtk emacs-consult-org-roam))
+
 (define-public emacs-consult-eglot
   (let ((revision "0")
         (commit "db9d41c9812a5a8a7b9a22fa7f3c314e37584d41"))
@@ -12802,6 +16499,15 @@ (define-public emacs-consult-eglot
 call.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-consult-eglot
+  (package-with-emacs-minimal emacs-consult-eglot))
+
+(define-public emacs-next-consult-eglot
+  (package-with-emacs-next emacs-consult-eglot))
+
+(define-public emacs-pgtk-consult-eglot
+  (package-with-emacs-pgtk emacs-consult-eglot))
+
 (define-public emacs-consult-flycheck
   (package
     (name "emacs-consult-flycheck")
@@ -12824,6 +16530,15 @@ (define-public emacs-consult-flycheck
  which integrates @code{Consult} with @code{Flycheck}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-consult-flycheck
+  (package-with-emacs-minimal emacs-consult-flycheck))
+
+(define-public emacs-next-consult-flycheck
+  (package-with-emacs-next emacs-consult-flycheck))
+
+(define-public emacs-pgtk-consult-flycheck
+  (package-with-emacs-pgtk emacs-consult-flycheck))
+
 (define-public emacs-eglot-tempel
   (let ((commit "e08b203d6a7c495d4b91ed4537506b5f1ea8a84f")
         (revision "0"))
@@ -12854,6 +16569,15 @@ (define-public emacs-eglot-tempel
 library with Eglot instead of Yasnippet.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-eglot-tempel
+  (package-with-emacs-minimal emacs-eglot-tempel))
+
+(define-public emacs-next-eglot-tempel
+  (package-with-emacs-next emacs-eglot-tempel))
+
+(define-public emacs-pgtk-eglot-tempel
+  (package-with-emacs-pgtk emacs-eglot-tempel))
+
 (define-public emacs-eglot-jl
   (package
     (name "emacs-eglot-jl")
@@ -12878,6 +16602,15 @@ (define-public emacs-eglot-jl
      "This package adds support for Eglot to the Julia language.")
     (license license:cc0)))
 
+(define-public emacs-minimal-eglot-jl
+  (package-with-emacs-minimal emacs-eglot-jl))
+
+(define-public emacs-next-eglot-jl
+  (package-with-emacs-next emacs-eglot-jl))
+
+(define-public emacs-pgtk-eglot-jl
+  (package-with-emacs-pgtk emacs-eglot-jl))
+
 (define-public emacs-consult-xdg-recent-files
   (let ((commit "593023ffb99a368152ebd4e739488fa560bdfdea")
         (revision "0"))
@@ -12909,6 +16642,15 @@ (define-public emacs-consult-xdg-recent-files
 @code{XDG_DATA_HOME}.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-consult-xdg-recent-files
+  (package-with-emacs-minimal emacs-consult-xdg-recent-files))
+
+(define-public emacs-next-consult-xdg-recent-files
+  (package-with-emacs-next emacs-consult-xdg-recent-files))
+
+(define-public emacs-pgtk-consult-xdg-recent-files
+  (package-with-emacs-pgtk emacs-consult-xdg-recent-files))
+
 (define-public emacs-consult-yasnippet
   (let ((commit "ae0450889484f23dc4ec37518852a2c61b89f184")
         (revision "0"))
@@ -12934,6 +16676,15 @@ (define-public emacs-consult-yasnippet
 expansion and overwriting the marked region with a new snippet completion.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-consult-yasnippet
+  (package-with-emacs-minimal emacs-consult-yasnippet))
+
+(define-public emacs-next-consult-yasnippet
+  (package-with-emacs-next emacs-consult-yasnippet))
+
+(define-public emacs-pgtk-consult-yasnippet
+  (package-with-emacs-pgtk emacs-consult-yasnippet))
+
 (define-public emacs-marginalia
   (package
     (name "emacs-marginalia")
@@ -12973,6 +16724,15 @@ (define-public emacs-marginalia
 placed at the margin of the minibuffer for your completion candidates.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-marginalia
+  (package-with-emacs-minimal emacs-marginalia))
+
+(define-public emacs-next-marginalia
+  (package-with-emacs-next emacs-marginalia))
+
+(define-public emacs-pgtk-marginalia
+  (package-with-emacs-pgtk emacs-marginalia))
+
 (define-public emacs-smartparens
   (let ((commit "7afd647395018a26633673ed92ce7a9cb3ccb8f2")
         (revision "0"))
@@ -13005,6 +16765,15 @@ (define-public emacs-smartparens
 well as completely new features.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-smartparens
+  (package-with-emacs-minimal emacs-smartparens))
+
+(define-public emacs-next-smartparens
+  (package-with-emacs-next emacs-smartparens))
+
+(define-public emacs-pgtk-smartparens
+  (package-with-emacs-pgtk emacs-smartparens))
+
 (define-public emacs-dumbparens
   ;; There are no releases.
   (let ((commit "59bb5aeb85bdc0772a7a21d1194be87aae6f2b7b")
@@ -13034,6 +16803,15 @@ (define-public emacs-dumbparens
 pairs and doesn't try to be smart about it.")
       (license license:expat))))
 
+(define-public emacs-minimal-dumbparens
+  (package-with-emacs-minimal emacs-dumbparens))
+
+(define-public emacs-next-dumbparens
+  (package-with-emacs-next emacs-dumbparens))
+
+(define-public emacs-pgtk-dumbparens
+  (package-with-emacs-pgtk emacs-dumbparens))
+
 (define-public emacs-highlight-symbol
   ;; We prefer a more recent commit that provides an option to squelch
   ;; echo-area alerts that can drown out useful information like eldoc
@@ -13072,6 +16850,15 @@ (define-public emacs-highlight-symbol
 @code{highlight-symbol-query-replace} can be used to replace the symbol.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-highlight-symbol
+  (package-with-emacs-minimal emacs-highlight-symbol))
+
+(define-public emacs-next-highlight-symbol
+  (package-with-emacs-next emacs-highlight-symbol))
+
+(define-public emacs-pgtk-highlight-symbol
+  (package-with-emacs-pgtk emacs-highlight-symbol))
+
 (define-public emacs-symbol-overlay
   (package
     (name "emacs-symbol-overlay")
@@ -13093,6 +16880,15 @@ (define-public emacs-symbol-overlay
 between symbols.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-symbol-overlay
+  (package-with-emacs-minimal emacs-symbol-overlay))
+
+(define-public emacs-next-symbol-overlay
+  (package-with-emacs-next emacs-symbol-overlay))
+
+(define-public emacs-pgtk-symbol-overlay
+  (package-with-emacs-pgtk emacs-symbol-overlay))
+
 (define-public emacs-hl-todo
   (package
     (name "emacs-hl-todo")
@@ -13118,6 +16914,15 @@ (define-public emacs-hl-todo
 regexp that matches all known keywords.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-hl-todo
+  (package-with-emacs-minimal emacs-hl-todo))
+
+(define-public emacs-next-hl-todo
+  (package-with-emacs-next emacs-hl-todo))
+
+(define-public emacs-pgtk-hl-todo
+  (package-with-emacs-pgtk emacs-hl-todo))
+
 (define-public emacs-pde
   (package
     (name "emacs-pde")
@@ -13202,6 +17007,15 @@ (define-public emacs-pde
 for Perl programing, and a tutorial for novices to start using Emacs.")
     (license license:perl-license)))
 
+(define-public emacs-minimal-pde
+  (package-with-emacs-minimal emacs-pde))
+
+(define-public emacs-next-pde
+  (package-with-emacs-next emacs-pde))
+
+(define-public emacs-pgtk-pde
+  (package-with-emacs-pgtk emacs-pde))
+
 (define-public emacs-perspective
   (package
     (name "emacs-perspective")
@@ -13234,6 +17048,15 @@ (define-public emacs-perspective
     ;; the Expat license.
     (license license:gpl3+)))
 
+(define-public emacs-minimal-perspective
+  (package-with-emacs-minimal emacs-perspective))
+
+(define-public emacs-next-perspective
+  (package-with-emacs-next emacs-perspective))
+
+(define-public emacs-pgtk-perspective
+  (package-with-emacs-pgtk emacs-perspective))
+
 (define-public emacs-persp-mode
   (package
     (name "emacs-persp-mode")
@@ -13256,6 +17079,15 @@ (define-public emacs-persp-mode
 can be saved to and restored from a file.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-persp-mode
+  (package-with-emacs-minimal emacs-persp-mode))
+
+(define-public emacs-next-persp-mode
+  (package-with-emacs-next emacs-persp-mode))
+
+(define-public emacs-pgtk-persp-mode
+  (package-with-emacs-pgtk emacs-persp-mode))
+
 (define-public emacs-eyebrowse
   ;; XXX: Upstream has no tagged release.  Version is extracted from keyword
   ;; in main file.
@@ -13285,6 +17117,15 @@ (define-public emacs-eyebrowse
 in the modeline by default.")
     (license license:gpl3+))))
 
+(define-public emacs-minimal-eyebrowse
+  (package-with-emacs-minimal emacs-eyebrowse))
+
+(define-public emacs-next-eyebrowse
+  (package-with-emacs-next emacs-eyebrowse))
+
+(define-public emacs-pgtk-eyebrowse
+  (package-with-emacs-pgtk emacs-eyebrowse))
+
 (define-public emacs-test-simple
   (package
     (name "emacs-test-simple")
@@ -13306,6 +17147,15 @@ (define-public emacs-test-simple
 test tags.  It supports both interactive and non-interactive use.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-test-simple
+  (package-with-emacs-minimal emacs-test-simple))
+
+(define-public emacs-next-test-simple
+  (package-with-emacs-next emacs-test-simple))
+
+(define-public emacs-pgtk-test-simple
+  (package-with-emacs-pgtk emacs-test-simple))
+
 (define-public emacs-load-relative
   (package
     (name "emacs-load-relative")
@@ -13329,6 +17179,15 @@ (define-public emacs-load-relative
 another (presumably currently running) Emacs Lisp file.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-load-relative
+  (package-with-emacs-minimal emacs-load-relative))
+
+(define-public emacs-next-load-relative
+  (package-with-emacs-next emacs-load-relative))
+
+(define-public emacs-pgtk-load-relative
+  (package-with-emacs-pgtk emacs-load-relative))
+
 (define-public emacs-loc-changes
   (package
     (name "emacs-loc-changes")
@@ -13349,6 +17208,15 @@ (define-public emacs-loc-changes
 after buffer changes.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-loc-changes
+  (package-with-emacs-minimal emacs-loc-changes))
+
+(define-public emacs-next-loc-changes
+  (package-with-emacs-next emacs-loc-changes))
+
+(define-public emacs-pgtk-loc-changes
+  (package-with-emacs-pgtk emacs-loc-changes))
+
 (define-public emacs-loccur
   (let ((commit "01b7afa62589432a98171074abb8c5a1e089034a")
         (revision "1"))
@@ -13373,6 +17241,15 @@ (define-public emacs-loccur
 text excepting lines containing matches.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-loccur
+  (package-with-emacs-minimal emacs-loccur))
+
+(define-public emacs-next-loccur
+  (package-with-emacs-next emacs-loccur))
+
+(define-public emacs-pgtk-loccur
+  (package-with-emacs-pgtk emacs-loccur))
+
 (define-public emacs-realgud
   (package
     (name "emacs-realgud")
@@ -13434,6 +17311,15 @@ (define-public emacs-realgud
 parallel.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-realgud
+  (package-with-emacs-minimal emacs-realgud))
+
+(define-public emacs-next-realgud
+  (package-with-emacs-next emacs-realgud))
+
+(define-public emacs-pgtk-realgud
+  (package-with-emacs-pgtk emacs-realgud))
+
 (define-public emacs-rmsbolt
   ;; There is no release tag. Version is extracted from main file.
   (let ((commit "ff496660cc52a6dd33d358ef0acc6d4bb70cc340")
@@ -13459,6 +17345,15 @@ (define-public emacs-rmsbolt
 a source code input file.")
       (license license:agpl3+))))
 
+(define-public emacs-minimal-rmsbolt
+  (package-with-emacs-minimal emacs-rmsbolt))
+
+(define-public emacs-next-rmsbolt
+  (package-with-emacs-next emacs-rmsbolt))
+
+(define-public emacs-pgtk-rmsbolt
+  (package-with-emacs-pgtk emacs-rmsbolt))
+
 (define-public emacs-request
   ;; We prefer a more recent commit that has support for auth-source,
   ;; and has some bug fixes for Emacs 28.
@@ -13488,6 +17383,15 @@ (define-public emacs-request
 line program.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-request
+  (package-with-emacs-minimal emacs-request))
+
+(define-public emacs-next-request
+  (package-with-emacs-next emacs-request))
+
+(define-public emacs-pgtk-request
+  (package-with-emacs-pgtk emacs-request))
+
 (define-public emacs-rudel
   (package
     (name "emacs-rudel")
@@ -13511,6 +17415,15 @@ (define-public emacs-rudel
 fully-functional one.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-rudel
+  (package-with-emacs-minimal emacs-rudel))
+
+(define-public emacs-next-rudel
+  (package-with-emacs-next emacs-rudel))
+
+(define-public emacs-pgtk-rudel
+  (package-with-emacs-pgtk emacs-rudel))
+
 (define-public emacs-hydra
   (package
     (name "emacs-hydra")
@@ -13542,6 +17455,15 @@ (define-public emacs-hydra
 automatically.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-hydra
+  (package-with-emacs-minimal emacs-hydra))
+
+(define-public emacs-next-hydra
+  (package-with-emacs-next emacs-hydra))
+
+(define-public emacs-pgtk-hydra
+  (package-with-emacs-pgtk emacs-hydra))
+
 (define-public emacs-pretty-hydra
   (package
     (name "emacs-pretty-hydra")
@@ -13569,6 +17491,15 @@ (define-public emacs-pretty-hydra
 package @code{emacs-major-mode-hydra} for a user-friendly interface.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-pretty-hydra
+  (package-with-emacs-minimal emacs-pretty-hydra))
+
+(define-public emacs-next-pretty-hydra
+  (package-with-emacs-next emacs-pretty-hydra))
+
+(define-public emacs-pgtk-pretty-hydra
+  (package-with-emacs-pgtk emacs-pretty-hydra))
+
 (define-public emacs-interleave
   (package
     (name "emacs-interleave")
@@ -13591,6 +17522,15 @@ (define-public emacs-interleave
 by side to an Org buffer with your notes relevant to the current page.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-interleave
+  (package-with-emacs-minimal emacs-interleave))
+
+(define-public emacs-next-interleave
+  (package-with-emacs-next emacs-interleave))
+
+(define-public emacs-pgtk-interleave
+  (package-with-emacs-pgtk emacs-interleave))
+
 (define-public emacs-major-mode-hydra
   (package
     (inherit emacs-pretty-hydra)
@@ -13604,6 +17544,15 @@ (define-public emacs-major-mode-hydra
      "This package provides the macro @code{pretty-hydra-define} to define
 hydras with one column per group of heads.")))
 
+(define-public emacs-minimal-major-mode-hydra
+  (package-with-emacs-minimal emacs-major-mode-hydra))
+
+(define-public emacs-next-major-mode-hydra
+  (package-with-emacs-next emacs-major-mode-hydra))
+
+(define-public emacs-pgtk-major-mode-hydra
+  (package-with-emacs-pgtk emacs-major-mode-hydra))
+
 (define-public emacs-ivy
   (package
     (name "emacs-ivy")
@@ -13628,6 +17577,15 @@ (define-public emacs-ivy
 expression.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ivy
+  (package-with-emacs-minimal emacs-ivy))
+
+(define-public emacs-next-ivy
+  (package-with-emacs-next emacs-ivy))
+
+(define-public emacs-pgtk-ivy
+  (package-with-emacs-pgtk emacs-ivy))
+
 (define-public emacs-counsel
   (package
     (name "emacs-counsel")
@@ -13661,6 +17619,15 @@ (define-public emacs-counsel
 @end itemize")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-counsel
+  (package-with-emacs-minimal emacs-counsel))
+
+(define-public emacs-next-counsel
+  (package-with-emacs-next emacs-counsel))
+
+(define-public emacs-pgtk-counsel
+  (package-with-emacs-pgtk emacs-counsel))
+
 (define-public emacs-sway
   (let ((commit "84eae5e16a643eb00b0a422ded751cceb17cc8f0")
         (revision "0"))
@@ -13686,6 +17653,15 @@ (define-public emacs-sway
 instead of duplicating them.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-sway
+  (package-with-emacs-minimal emacs-sway))
+
+(define-public emacs-next-sway
+  (package-with-emacs-next emacs-sway))
+
+(define-public emacs-pgtk-sway
+  (package-with-emacs-pgtk emacs-sway))
+
 (define-public emacs-sweet-theme
   (let ((commit "78f741806ecebe01224bf54d09ad80e306652508")
         (revision "0"))
@@ -13708,6 +17684,15 @@ (define-public emacs-sweet-theme
 the same name.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-sweet-theme
+  (package-with-emacs-minimal emacs-sweet-theme))
+
+(define-public emacs-next-sweet-theme
+  (package-with-emacs-next emacs-sweet-theme))
+
+(define-public emacs-pgtk-sweet-theme
+  (package-with-emacs-pgtk emacs-sweet-theme))
+
 (define-public emacs-swiper
   (package
     (name "emacs-swiper")
@@ -13732,6 +17717,15 @@ (define-public emacs-swiper
 matched.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-swiper
+  (package-with-emacs-minimal emacs-swiper))
+
+(define-public emacs-next-swiper
+  (package-with-emacs-next emacs-swiper))
+
+(define-public emacs-pgtk-swiper
+  (package-with-emacs-pgtk emacs-swiper))
+
 (define-public emacs-ivy-xref
   (let ((commit "1a35fc0f070388701b05b0a455cbe262e924d547")
         (revision "1"))
@@ -13757,6 +17751,15 @@ (define-public emacs-ivy-xref
 @code{xref} results.")
       (license license:gpl3))))
 
+(define-public emacs-minimal-ivy-xref
+  (package-with-emacs-minimal emacs-ivy-xref))
+
+(define-public emacs-next-ivy-xref
+  (package-with-emacs-next emacs-ivy-xref))
+
+(define-public emacs-pgtk-ivy-xref
+  (package-with-emacs-pgtk emacs-ivy-xref))
+
 (define-public emacs-ivy-pass
   (let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5")
         (revision "1"))
@@ -13783,6 +17786,15 @@ (define-public emacs-ivy-pass
 store (@code{pass}) in Emacs.")
       (license license:gpl3))))
 
+(define-public emacs-minimal-ivy-pass
+  (package-with-emacs-minimal emacs-ivy-pass))
+
+(define-public emacs-next-ivy-pass
+  (package-with-emacs-next emacs-ivy-pass))
+
+(define-public emacs-pgtk-ivy-pass
+  (package-with-emacs-pgtk emacs-ivy-pass))
+
 (define-public emacs-ivy-yasnippet
   (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
         (revision "2"))
@@ -13811,6 +17823,15 @@ (define-public emacs-ivy-yasnippet
 @code{yas-minor-mode} first).")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ivy-yasnippet
+  (package-with-emacs-minimal emacs-ivy-yasnippet))
+
+(define-public emacs-next-ivy-yasnippet
+  (package-with-emacs-next emacs-ivy-yasnippet))
+
+(define-public emacs-pgtk-ivy-yasnippet
+  (package-with-emacs-pgtk emacs-ivy-yasnippet))
+
 (define-public emacs-ivy-rich
   (package
     (name "emacs-ivy-rich")
@@ -13836,6 +17857,15 @@ (define-public emacs-ivy-rich
 icons as well.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ivy-rich
+  (package-with-emacs-minimal emacs-ivy-rich))
+
+(define-public emacs-next-ivy-rich
+  (package-with-emacs-next emacs-ivy-rich))
+
+(define-public emacs-pgtk-ivy-rich
+  (package-with-emacs-pgtk emacs-ivy-rich))
+
 (define-public emacs-avy
   (package
     (name "emacs-avy")
@@ -13868,6 +17898,15 @@ (define-public emacs-avy
 windows.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-avy
+  (package-with-emacs-minimal emacs-avy))
+
+(define-public emacs-next-avy
+  (package-with-emacs-next emacs-avy))
+
+(define-public emacs-pgtk-avy
+  (package-with-emacs-pgtk emacs-avy))
+
 (define-public emacs-ace-window
   (package
     (name "emacs-ace-window")
@@ -13894,6 +17933,15 @@ (define-public emacs-ace-window
 highlighted.  Pressing that character will switch to that window.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ace-window
+  (package-with-emacs-minimal emacs-ace-window))
+
+(define-public emacs-next-ace-window
+  (package-with-emacs-next emacs-ace-window))
+
+(define-public emacs-pgtk-ace-window
+  (package-with-emacs-pgtk emacs-ace-window))
+
 (define-public emacs-windsize
   ;; There is no proper release.  The base version is extracted from the
   ;; "Version" keyword in the main file.
@@ -13920,6 +17968,15 @@ (define-public emacs-windsize
 possible, and falls back to moving the left or top border otherwise.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-windsize
+  (package-with-emacs-minimal emacs-windsize))
+
+(define-public emacs-next-windsize
+  (package-with-emacs-next emacs-windsize))
+
+(define-public emacs-pgtk-windsize
+  (package-with-emacs-pgtk emacs-windsize))
+
 (define-public emacs-window-purpose
   (package
     (name "emacs-window-purpose")
@@ -13963,6 +18020,15 @@ (define-public emacs-window-purpose
 window layout easily.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-window-purpose
+  (package-with-emacs-minimal emacs-window-purpose))
+
+(define-public emacs-next-window-purpose
+  (package-with-emacs-next emacs-window-purpose))
+
+(define-public emacs-pgtk-window-purpose
+  (package-with-emacs-pgtk emacs-window-purpose))
+
 (define-public emacs-iedit
   (package
     (name "emacs-iedit")
@@ -13989,6 +18055,15 @@ (define-public emacs-iedit
 a temporary @code{keep-lines} or @code{occur}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-iedit
+  (package-with-emacs-minimal emacs-iedit))
+
+(define-public emacs-next-iedit
+  (package-with-emacs-next emacs-iedit))
+
+(define-public emacs-pgtk-iedit
+  (package-with-emacs-pgtk emacs-iedit))
+
 (define-public emacs-zop-to-char
   (package
     (name "emacs-zop-to-char")
@@ -14009,6 +18084,15 @@ (define-public emacs-zop-to-char
      "This package provides a visual zap-to-char command for Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-zop-to-char
+  (package-with-emacs-minimal emacs-zop-to-char))
+
+(define-public emacs-next-zop-to-char
+  (package-with-emacs-next emacs-zop-to-char))
+
+(define-public emacs-pgtk-zop-to-char
+  (package-with-emacs-pgtk emacs-zop-to-char))
+
 (define-public emacs-zoutline
   (package
     (name "emacs-zoutline")
@@ -14031,6 +18115,15 @@ (define-public emacs-zoutline
 navigate code in a tree-like fashion.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-zoutline
+  (package-with-emacs-minimal emacs-zoutline))
+
+(define-public emacs-next-zoutline
+  (package-with-emacs-next emacs-zoutline))
+
+(define-public emacs-pgtk-zoutline
+  (package-with-emacs-pgtk emacs-zoutline))
+
 (define-public emacs-lispy
   ;; No release since May 2019 and tons of fixes have landed on master.
   ;; https://github.com/abo-abo/lispy/issues/513
@@ -14096,6 +18189,15 @@ (define-public emacs-lispy
 S-expression.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-lispy
+  (package-with-emacs-minimal emacs-lispy))
+
+(define-public emacs-next-lispy
+  (package-with-emacs-next emacs-lispy))
+
+(define-public emacs-pgtk-lispy
+  (package-with-emacs-pgtk emacs-lispy))
+
 (define-public emacs-lispyville
   (let ((commit "89316f01822b2135e52ca27fd308d207ef618052")
         (revision "3"))
@@ -14122,6 +18224,15 @@ (define-public emacs-lispyville
 state and will work even without lispy being enabled.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-lispyville
+  (package-with-emacs-minimal emacs-lispyville))
+
+(define-public emacs-next-lispyville
+  (package-with-emacs-next emacs-lispyville))
+
+(define-public emacs-pgtk-lispyville
+  (package-with-emacs-pgtk emacs-lispyville))
+
 (define-public emacs-function-args
   ;; The latest release is from August 21, 2017.
   (let ((commit "beba049751fed78666c87bd146a6f1cf149bb819")
@@ -14148,6 +18259,15 @@ (define-public emacs-function-args
 the C/C++ function at point.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-function-args
+  (package-with-emacs-minimal emacs-function-args))
+
+(define-public emacs-next-function-args
+  (package-with-emacs-next emacs-function-args))
+
+(define-public emacs-pgtk-function-args
+  (package-with-emacs-pgtk emacs-function-args))
+
 (define-public emacs-lpy
   ;; There is no proper release/tag.
   (let ((commit "fa95b11e1023704510cc7dd2897bf8bcc3027cbb")
@@ -14177,6 +18297,15 @@ (define-public emacs-lpy
 allowing unprefixed keys to insert their respective characters as expected.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-lpy
+  (package-with-emacs-minimal emacs-lpy))
+
+(define-public emacs-next-lpy
+  (package-with-emacs-next emacs-lpy))
+
+(define-public emacs-pgtk-lpy
+  (package-with-emacs-pgtk emacs-lpy))
+
 (define-public emacs-clojure-mode
   (package
     (name "emacs-clojure-mode")
@@ -14204,6 +18333,15 @@ (define-public emacs-clojure-mode
 It is recommended to use @code{clojure-mode} with Paredit or Smartparens.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-clojure-mode
+  (package-with-emacs-minimal emacs-clojure-mode))
+
+(define-public emacs-next-clojure-mode
+  (package-with-emacs-next emacs-clojure-mode))
+
+(define-public emacs-pgtk-clojure-mode
+  (package-with-emacs-pgtk emacs-clojure-mode))
+
 (define-public emacs-clj-deps-new
   (let ((commit "e1cf65eb040f5a2e9a3eca970044ba71cc53fb27")
         (revision "0"))
@@ -14229,6 +18367,15 @@ (define-public emacs-clj-deps-new
 Clojure projects from templates.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-clj-deps-new
+  (package-with-emacs-minimal emacs-clj-deps-new))
+
+(define-public emacs-next-clj-deps-new
+  (package-with-emacs-next emacs-clj-deps-new))
+
+(define-public emacs-pgtk-clj-deps-new
+  (package-with-emacs-pgtk emacs-clj-deps-new))
+
 (define-public emacs-clj-refactor
   (package
     (name "emacs-clj-refactor")
@@ -14258,6 +18405,15 @@ (define-public emacs-clj-refactor
 you'd find in Clojure mode and CIDER.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-clj-refactor
+  (package-with-emacs-minimal emacs-clj-refactor))
+
+(define-public emacs-next-clj-refactor
+  (package-with-emacs-next emacs-clj-refactor))
+
+(define-public emacs-pgtk-clj-refactor
+  (package-with-emacs-pgtk emacs-clj-refactor))
+
 (define-public emacs-clojure-snippets
   ;; Use latest commit (2018) since latest tagged release is too old and is
   ;; missing important changes.
@@ -14287,6 +18443,15 @@ (define-public emacs-clojure-snippets
        "This package provides Yasnippets snippets for Clojure.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-clojure-snippets
+  (package-with-emacs-minimal emacs-clojure-snippets))
+
+(define-public emacs-next-clojure-snippets
+  (package-with-emacs-next emacs-clojure-snippets))
+
+(define-public emacs-pgtk-clojure-snippets
+  (package-with-emacs-pgtk emacs-clojure-snippets))
+
 (define-public emacs-anakondo
   ;; This particular commit introduces bug fixes above latest release.
   (let ((version "0.2.1")
@@ -14312,6 +18477,15 @@ (define-public emacs-anakondo
 editing facilities related to Clojure, ClojureScript and cljc source.")
       (license license:expat))))
 
+(define-public emacs-minimal-anakondo
+  (package-with-emacs-minimal emacs-anakondo))
+
+(define-public emacs-next-anakondo
+  (package-with-emacs-next emacs-anakondo))
+
+(define-public emacs-pgtk-anakondo
+  (package-with-emacs-pgtk emacs-anakondo))
+
 (define-public emacs-epl
   (package
     (name "emacs-epl")
@@ -14335,6 +18509,15 @@ (define-public emacs-epl
 @code{package.el} into a sane API.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-epl
+  (package-with-emacs-minimal emacs-epl))
+
+(define-public emacs-next-epl
+  (package-with-emacs-next emacs-epl))
+
+(define-public emacs-pgtk-epl
+  (package-with-emacs-pgtk emacs-epl))
+
 (define-public emacs-counsel-jq
   (package
     (name "emacs-counsel-jq")
@@ -14358,6 +18541,15 @@ (define-public emacs-counsel-jq
 queries using counsel.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-counsel-jq
+  (package-with-emacs-minimal emacs-counsel-jq))
+
+(define-public emacs-next-counsel-jq
+  (package-with-emacs-next emacs-counsel-jq))
+
+(define-public emacs-pgtk-counsel-jq
+  (package-with-emacs-pgtk emacs-counsel-jq))
+
 (define-public emacs-counsel-notmuch
   ;; Upstream provides no release.  Extract version for main file.
   (let ((commit "a4a1562935e4180c42524c51609d1283e9be0688")
@@ -14396,6 +18588,15 @@ (define-public emacs-counsel-notmuch
 @code{counsel-notmuch} and input your Notmuch query.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-counsel-notmuch
+  (package-with-emacs-minimal emacs-counsel-notmuch))
+
+(define-public emacs-next-counsel-notmuch
+  (package-with-emacs-next emacs-counsel-notmuch))
+
+(define-public emacs-pgtk-counsel-notmuch
+  (package-with-emacs-pgtk emacs-counsel-notmuch))
+
 (define-public emacs-counsel-projectile
   (package
     (name "emacs-counsel-projectile")
@@ -14419,6 +18620,15 @@ (define-public emacs-counsel-projectile
 commands and replacements for existing functions.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-counsel-projectile
+  (package-with-emacs-minimal emacs-counsel-projectile))
+
+(define-public emacs-next-counsel-projectile
+  (package-with-emacs-next emacs-counsel-projectile))
+
+(define-public emacs-pgtk-counsel-projectile
+  (package-with-emacs-pgtk emacs-counsel-projectile))
+
 (define-public emacs-qml-mode
   (package
     (name "emacs-qml-mode")
@@ -14442,6 +18652,15 @@ (define-public emacs-qml-mode
 builtin JavaScript mode.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-qml-mode
+  (package-with-emacs-minimal emacs-qml-mode))
+
+(define-public emacs-next-qml-mode
+  (package-with-emacs-next emacs-qml-mode))
+
+(define-public emacs-pgtk-qml-mode
+  (package-with-emacs-pgtk emacs-qml-mode))
+
 (define-public emacs-queue
   (package
     (name "emacs-queue")
@@ -14464,6 +18683,15 @@ (define-public emacs-queue
 \"output-restricted deque\".")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-queue
+  (package-with-emacs-minimal emacs-queue))
+
+(define-public emacs-next-queue
+  (package-with-emacs-next emacs-queue))
+
+(define-public emacs-pgtk-queue
+  (package-with-emacs-pgtk emacs-queue))
+
 (define-public emacs-quickrun
   (package
     (name "emacs-quickrun")
@@ -14487,6 +18715,15 @@ (define-public emacs-quickrun
 languages.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-quickrun
+  (package-with-emacs-minimal emacs-quickrun))
+
+(define-public emacs-next-quickrun
+  (package-with-emacs-next emacs-quickrun))
+
+(define-public emacs-pgtk-quickrun
+  (package-with-emacs-pgtk emacs-quickrun))
+
 (define-public emacs-pkg-info
   (package
     (name "emacs-pkg-info")
@@ -14508,6 +18745,15 @@ (define-public emacs-pkg-info
      "This library extracts information from the installed Emacs packages.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-pkg-info
+  (package-with-emacs-minimal emacs-pkg-info))
+
+(define-public emacs-next-pkg-info
+  (package-with-emacs-next emacs-pkg-info))
+
+(define-public emacs-pgtk-pkg-info
+  (package-with-emacs-pgtk emacs-pkg-info))
+
 (define-public emacs-spinner
   (package
     (name "emacs-spinner")
@@ -14526,6 +18772,15 @@ (define-public emacs-spinner
 ongoing operations.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-spinner
+  (package-with-emacs-minimal emacs-spinner))
+
+(define-public emacs-next-spinner
+  (package-with-emacs-next emacs-spinner))
+
+(define-public emacs-pgtk-spinner
+  (package-with-emacs-pgtk emacs-spinner))
+
 (define-public emacs-sparql-mode
   (package
     (name "emacs-sparql-mode")
@@ -14550,6 +18805,15 @@ (define-public emacs-sparql-mode
 as Fuseki or DBPedia.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-sparql-mode
+  (package-with-emacs-minimal emacs-sparql-mode))
+
+(define-public emacs-next-sparql-mode
+  (package-with-emacs-next emacs-sparql-mode))
+
+(define-public emacs-pgtk-sparql-mode
+  (package-with-emacs-pgtk emacs-sparql-mode))
+
 (define-public emacs-sphinx-doc
   (let ((commit "1eda612a44ef027e5229895daa77db99a21b8801")
         (revision "1"))
@@ -14582,6 +18846,15 @@ (define-public emacs-sphinx-doc
 the equirement of the Sphinx documentation generator.")
       (license license:expat))))
 
+(define-public emacs-minimal-sphinx-doc
+  (package-with-emacs-minimal emacs-sphinx-doc))
+
+(define-public emacs-next-sphinx-doc
+  (package-with-emacs-next emacs-sphinx-doc))
+
+(define-public emacs-pgtk-sphinx-doc
+  (package-with-emacs-pgtk emacs-sphinx-doc))
+
 (define-public emacs-better-defaults
   (package
     (name "emacs-better-defaults")
@@ -14605,6 +18878,15 @@ (define-public emacs-better-defaults
 agree upon.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-better-defaults
+  (package-with-emacs-minimal emacs-better-defaults))
+
+(define-public emacs-next-better-defaults
+  (package-with-emacs-next emacs-better-defaults))
+
+(define-public emacs-pgtk-better-defaults
+  (package-with-emacs-pgtk emacs-better-defaults))
+
 (define-public emacs-undohist-el
   (package
     (name "emacs-undohist-el")
@@ -14625,6 +18907,15 @@ (define-public emacs-undohist-el
 individual file buffers.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-undohist-el
+  (package-with-emacs-minimal emacs-undohist-el))
+
+(define-public emacs-next-undohist-el
+  (package-with-emacs-next emacs-undohist-el))
+
+(define-public emacs-pgtk-undohist-el
+  (package-with-emacs-pgtk emacs-undohist-el))
+
 (define-public emacs-eprime
   (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
     (package
@@ -14647,6 +18938,15 @@ (define-public emacs-eprime
 E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-eprime
+  (package-with-emacs-minimal emacs-eprime))
+
+(define-public emacs-next-eprime
+  (package-with-emacs-next emacs-eprime))
+
+(define-public emacs-pgtk-eprime
+  (package-with-emacs-pgtk emacs-eprime))
+
 (define-public emacs-julia-mode
   ;; Last release was in March 2020.
   (let ((commit "7a8c868e0d3e51ba4a2c621ee22ca9599e0e4bbb")
@@ -14687,6 +18987,15 @@ (define-public emacs-julia-mode
 programming language.")
       (license license:expat))))
 
+(define-public emacs-minimal-julia-mode
+  (package-with-emacs-minimal emacs-julia-mode))
+
+(define-public emacs-next-julia-mode
+  (package-with-emacs-next emacs-julia-mode))
+
+(define-public emacs-pgtk-julia-mode
+  (package-with-emacs-pgtk emacs-julia-mode))
+
 (define-public emacs-julia-repl
   (package
     (name "emacs-julia-repl")
@@ -14710,6 +19019,15 @@ (define-public emacs-julia-repl
 mode with the package emacs-julia-mode.")
     (license license:expat)))
 
+(define-public emacs-minimal-julia-repl
+  (package-with-emacs-minimal emacs-julia-repl))
+
+(define-public emacs-next-julia-repl
+  (package-with-emacs-next emacs-julia-repl))
+
+(define-public emacs-pgtk-julia-repl
+  (package-with-emacs-pgtk emacs-julia-repl))
+
 (define-public emacs-julia-snail
   (package
     (name "emacs-julia-snail")
@@ -14745,6 +19063,15 @@ (define-public emacs-julia-snail
 Clojure’s CIDER.  It enables convenient and dynamic REPL-driven development.")
     (license license:gpl3)))
 
+(define-public emacs-minimal-julia-snail
+  (package-with-emacs-minimal emacs-julia-snail))
+
+(define-public emacs-next-julia-snail
+  (package-with-emacs-next emacs-julia-snail))
+
+(define-public emacs-pgtk-julia-snail
+  (package-with-emacs-pgtk emacs-julia-snail))
+
 (define-public emacs-smex
   (package
     (name "emacs-smex")
@@ -14766,6 +19093,15 @@ (define-public emacs-smex
 to all the other commands, too.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-smex
+  (package-with-emacs-minimal emacs-smex))
+
+(define-public emacs-next-smex
+  (package-with-emacs-next emacs-smex))
+
+(define-public emacs-pgtk-smex
+  (package-with-emacs-pgtk emacs-smex))
+
 (define-public emacs-js2-mode
   (package
     (name "emacs-js2-mode")
@@ -14793,6 +19129,15 @@ (define-public emacs-js2-mode
 strings, and code folding.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-js2-mode
+  (package-with-emacs-minimal emacs-js2-mode))
+
+(define-public emacs-next-js2-mode
+  (package-with-emacs-next emacs-js2-mode))
+
+(define-public emacs-pgtk-js2-mode
+  (package-with-emacs-pgtk emacs-js2-mode))
+
 (define-public emacs-js-comint
   (package
     (name "emacs-js-comint")
@@ -14814,6 +19159,15 @@ (define-public emacs-js-comint
 an Emacs buffer.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-js-comint
+  (package-with-emacs-minimal emacs-js-comint))
+
+(define-public emacs-next-js-comint
+  (package-with-emacs-next emacs-js-comint))
+
+(define-public emacs-pgtk-js-comint
+  (package-with-emacs-pgtk emacs-js-comint))
+
 (define-public emacs-nodejs-repl
   (package
     (name "emacs-nodejs-repl")
@@ -14866,6 +19220,15 @@ (define-public emacs-nodejs-repl
 @end itemize")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-nodejs-repl
+  (package-with-emacs-minimal emacs-nodejs-repl))
+
+(define-public emacs-next-nodejs-repl
+  (package-with-emacs-next emacs-nodejs-repl))
+
+(define-public emacs-pgtk-nodejs-repl
+  (package-with-emacs-pgtk emacs-nodejs-repl))
+
 (define-public emacs-typescript-mode
   (package
     (name "emacs-typescript-mode")
@@ -14893,6 +19256,15 @@ (define-public emacs-typescript-mode
 indentation and filling of comments and C preprocessor fontification.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-typescript-mode
+  (package-with-emacs-minimal emacs-typescript-mode))
+
+(define-public emacs-next-typescript-mode
+  (package-with-emacs-next emacs-typescript-mode))
+
+(define-public emacs-pgtk-typescript-mode
+  (package-with-emacs-pgtk emacs-typescript-mode))
+
 (define-public emacs-tide
   (package
     (name "emacs-tide")
@@ -14931,6 +19303,15 @@ (define-public emacs-tide
 @end itemize")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-tide
+  (package-with-emacs-minimal emacs-tide))
+
+(define-public emacs-next-tide
+  (package-with-emacs-next emacs-tide))
+
+(define-public emacs-pgtk-tide
+  (package-with-emacs-pgtk emacs-tide))
+
 (define-public emacs-markdown-mode
   (package
     (name "emacs-markdown-mode")
@@ -14952,6 +19333,15 @@ (define-public emacs-markdown-mode
 in Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-markdown-mode
+  (package-with-emacs-minimal emacs-markdown-mode))
+
+(define-public emacs-next-markdown-mode
+  (package-with-emacs-next emacs-markdown-mode))
+
+(define-public emacs-pgtk-markdown-mode
+  (package-with-emacs-pgtk emacs-markdown-mode))
+
 (define-public emacs-evil-markdown
   (let ((commit "685d7fbb81bc02fa32779d2a127b99a0c8c7436b")
         (revision "2"))
@@ -14977,6 +19367,15 @@ (define-public emacs-evil-markdown
 @code{markdown-mode}.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-evil-markdown
+  (package-with-emacs-minimal emacs-evil-markdown))
+
+(define-public emacs-next-evil-markdown
+  (package-with-emacs-next emacs-evil-markdown))
+
+(define-public emacs-pgtk-evil-markdown
+  (package-with-emacs-pgtk emacs-evil-markdown))
+
 (define-public emacs-edit-indirect
   (package
     (name "emacs-edit-indirect")
@@ -15045,6 +19444,15 @@ (define-public emacs-projectile
 empty @file{.projectile} file in it.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-projectile
+  (package-with-emacs-minimal emacs-projectile))
+
+(define-public emacs-next-projectile
+  (package-with-emacs-next emacs-projectile))
+
+(define-public emacs-pgtk-projectile
+  (package-with-emacs-pgtk emacs-projectile))
+
 (define-public emacs-skeletor
   (let ((commit "47c5b761aee8452716c97a69949ac2f675affe13")
         (revision "1"))
@@ -15089,6 +19497,15 @@ (define-public emacs-skeletor
 and tooling.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-skeletor
+  (package-with-emacs-minimal emacs-skeletor))
+
+(define-public emacs-next-skeletor
+  (package-with-emacs-next emacs-skeletor))
+
+(define-public emacs-pgtk-skeletor
+  (package-with-emacs-pgtk emacs-skeletor))
+
 (define-public emacs-elfeed
   (package
     (name "emacs-elfeed")
@@ -15122,6 +19539,15 @@ (define-public emacs-elfeed
 and RSS, with a user interface inspired by notmuch.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-elfeed
+  (package-with-emacs-minimal emacs-elfeed))
+
+(define-public emacs-next-elfeed
+  (package-with-emacs-next emacs-elfeed))
+
+(define-public emacs-pgtk-elfeed
+  (package-with-emacs-pgtk emacs-elfeed))
+
 (define-public emacs-elfeed-goodies
   (let ((commit "544ef42ead011d960a0ad1c1d34df5d222461a6b"))
     (package
@@ -15161,6 +19587,15 @@ (define-public emacs-elfeed-goodies
 @end itemize")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-elfeed-goodies
+  (package-with-emacs-minimal emacs-elfeed-goodies))
+
+(define-public emacs-next-elfeed-goodies
+  (package-with-emacs-next emacs-elfeed-goodies))
+
+(define-public emacs-pgtk-elfeed-goodies
+  (package-with-emacs-pgtk emacs-elfeed-goodies))
+
 (define-public emacs-elfeed-org
   (let ((commit "77b6bbf222487809813de260447d31c4c59902c9"))
     (package
@@ -15213,6 +19648,15 @@ (define-public emacs-elfeed-org
 much easier.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-elfeed-org
+  (package-with-emacs-minimal emacs-elfeed-org))
+
+(define-public emacs-next-elfeed-org
+  (package-with-emacs-next emacs-elfeed-org))
+
+(define-public emacs-pgtk-elfeed-org
+  (package-with-emacs-pgtk emacs-elfeed-org))
+
 (define-public emacs-elfeed-protocol
   (package
     (name "emacs-elfeed-protocol")
@@ -15237,6 +19681,15 @@ (define-public emacs-elfeed-protocol
 with Elfeed.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-elfeed-protocol
+  (package-with-emacs-minimal emacs-elfeed-protocol))
+
+(define-public emacs-next-elfeed-protocol
+  (package-with-emacs-next emacs-elfeed-protocol))
+
+(define-public emacs-pgtk-elfeed-protocol
+  (package-with-emacs-pgtk emacs-elfeed-protocol))
+
 (define-public emacs-elfeed-score
   (package
     (name "emacs-elfeed-score")
@@ -15276,6 +19729,15 @@ (define-public emacs-elfeed-score
 important to you.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-elfeed-score
+  (package-with-emacs-minimal emacs-elfeed-score))
+
+(define-public emacs-next-elfeed-score
+  (package-with-emacs-next emacs-elfeed-score))
+
+(define-public emacs-pgtk-elfeed-score
+  (package-with-emacs-pgtk emacs-elfeed-score))
+
 (define-public emacs-el-x
   (package
     (name "emacs-el-x")
@@ -15309,6 +19771,15 @@ (define-public emacs-el-x
 @code{declare-function} stub for older Emacs.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-el-x
+  (package-with-emacs-minimal emacs-el-x))
+
+(define-public emacs-next-el-x
+  (package-with-emacs-next emacs-el-x))
+
+(define-public emacs-pgtk-el-x
+  (package-with-emacs-pgtk emacs-el-x))
+
 (define-public emacs-epithet
   ;; No tags.
   (let ((commit "cc42338376c2c58da561214c554be8e8856f6a2b"))
@@ -15335,6 +19806,15 @@ (define-public emacs-epithet
 suggestion is taken.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-epithet
+  (package-with-emacs-minimal emacs-epithet))
+
+(define-public emacs-next-epithet
+  (package-with-emacs-next emacs-epithet))
+
+(define-public emacs-pgtk-epithet
+  (package-with-emacs-pgtk emacs-epithet))
+
 (define-public emacs-eterm-256color
   (package
     (name "emacs-eterm-256color")
@@ -15358,6 +19838,15 @@ (define-public emacs-eterm-256color
 customizable 256 color support to @code{term} and @code{ansi-term}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-eterm-256color
+  (package-with-emacs-minimal emacs-eterm-256color))
+
+(define-public emacs-next-eterm-256color
+  (package-with-emacs-next emacs-eterm-256color))
+
+(define-public emacs-pgtk-eterm-256color
+  (package-with-emacs-pgtk emacs-eterm-256color))
+
 (define-public emacs-centaur-tabs
   (package
     (name "emacs-centaur-tabs")
@@ -15380,6 +19869,15 @@ (define-public emacs-centaur-tabs
 efficient tabs plugin for Emacs with a lot of customization options.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-centaur-tabs
+  (package-with-emacs-minimal emacs-centaur-tabs))
+
+(define-public emacs-next-centaur-tabs
+  (package-with-emacs-next emacs-centaur-tabs))
+
+(define-public emacs-pgtk-centaur-tabs
+  (package-with-emacs-pgtk emacs-centaur-tabs))
+
 (define-public emacs-org-remark
   (package
     (name "emacs-org-remark")
@@ -15415,6 +19913,15 @@ (define-public emacs-org-remark
 @end itemize")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-remark
+  (package-with-emacs-minimal emacs-org-remark))
+
+(define-public emacs-next-org-remark
+  (package-with-emacs-next emacs-org-remark))
+
+(define-public emacs-pgtk-org-remark
+  (package-with-emacs-pgtk emacs-org-remark))
+
 (define-public emacs-mocker
   (package
     (name "emacs-mocker")
@@ -15443,6 +19950,15 @@ (define-public emacs-mocker
 maximizes flexibility (at the expense of conciseness).")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-mocker
+  (package-with-emacs-minimal emacs-mocker))
+
+(define-public emacs-next-mocker
+  (package-with-emacs-next emacs-mocker))
+
+(define-public emacs-pgtk-mocker
+  (package-with-emacs-pgtk emacs-mocker))
+
 (define-public emacs-find-file-in-project
   (package
     (name "emacs-find-file-in-project")
@@ -15470,6 +19986,15 @@ (define-public emacs-find-file-in-project
 functions to assist in reviewing changes on files.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-find-file-in-project
+  (package-with-emacs-minimal emacs-find-file-in-project))
+
+(define-public emacs-next-find-file-in-project
+  (package-with-emacs-next emacs-find-file-in-project))
+
+(define-public emacs-pgtk-find-file-in-project
+  (package-with-emacs-pgtk emacs-find-file-in-project))
+
 (define-public emacs-popwin
   (package
     (name "emacs-popwin")
@@ -15498,6 +20023,15 @@ (define-public emacs-popwin
 another window.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-popwin
+  (package-with-emacs-minimal emacs-popwin))
+
+(define-public emacs-next-popwin
+  (package-with-emacs-next emacs-popwin))
+
+(define-public emacs-pgtk-popwin
+  (package-with-emacs-pgtk emacs-popwin))
+
 (define-public emacs-pyvenv
   (package
     (name "emacs-pyvenv")
@@ -15532,6 +20066,15 @@ (define-public emacs-pyvenv
 environments (virtualenv) inside Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-pyvenv
+  (package-with-emacs-minimal emacs-pyvenv))
+
+(define-public emacs-next-pyvenv
+  (package-with-emacs-next emacs-pyvenv))
+
+(define-public emacs-pgtk-pyvenv
+  (package-with-emacs-pgtk emacs-pyvenv))
+
 (define-public emacs-highlight-indent-guides
   (let ((version "0.8.5") ; from package metadata
         (revision "0")
@@ -15561,6 +20104,15 @@ (define-public emacs-highlight-indent-guides
 buffers.")
       (license license:expat))))
 
+(define-public emacs-minimal-highlight-indent-guides
+  (package-with-emacs-minimal emacs-highlight-indent-guides))
+
+(define-public emacs-next-highlight-indent-guides
+  (package-with-emacs-next emacs-highlight-indent-guides))
+
+(define-public emacs-pgtk-highlight-indent-guides
+  (package-with-emacs-pgtk emacs-highlight-indent-guides))
+
 (define-public emacs-highlight-indentation
   ;; Last release version is from 2015.
   (let ((commit "d03803f2c06749c430443a3d24e039cbafc9c58f")
@@ -15592,6 +20144,15 @@ (define-public emacs-highlight-indentation
 @end enumerate")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-highlight-indentation
+  (package-with-emacs-minimal emacs-highlight-indentation))
+
+(define-public emacs-next-highlight-indentation
+  (package-with-emacs-next emacs-highlight-indentation))
+
+(define-public emacs-pgtk-highlight-indentation
+  (package-with-emacs-pgtk emacs-highlight-indentation))
+
 (define-public emacs-elpy
   ;; Using the latest commit fixes outstanding bugs such as the following:
   ;; https://github.com/jorgenschaefer/elpy/issues/1824
@@ -15707,6 +20268,15 @@ (define-public emacs-elpy
 completion, interactive development and more.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-elpy
+  (package-with-emacs-minimal emacs-elpy))
+
+(define-public emacs-next-elpy
+  (package-with-emacs-next emacs-elpy))
+
+(define-public emacs-pgtk-elpy
+  (package-with-emacs-pgtk emacs-elpy))
+
 (define-public emacs-railscasts-theme
   (let ((commit "1340c3f6c2717761cab95617cf8dcbd962b1095b")
         (revision "0"))
@@ -15728,6 +20298,15 @@ (define-public emacs-railscasts-theme
       (description "Railscasts is a color theme for Emacs.")
       (license license:expat))))
 
+(define-public emacs-minimal-railscasts-theme
+  (package-with-emacs-minimal emacs-railscasts-theme))
+
+(define-public emacs-next-railscasts-theme
+  (package-with-emacs-next emacs-railscasts-theme))
+
+(define-public emacs-pgtk-railscasts-theme
+  (package-with-emacs-pgtk emacs-railscasts-theme))
+
 (define-public emacs-rainbow-delimiters
   (package
     (name "emacs-rainbow-delimiters")
@@ -15763,6 +20342,15 @@ (define-public emacs-rainbow-delimiters
 are at a given level.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-rainbow-delimiters
+  (package-with-emacs-minimal emacs-rainbow-delimiters))
+
+(define-public emacs-next-rainbow-delimiters
+  (package-with-emacs-next emacs-rainbow-delimiters))
+
+(define-public emacs-pgtk-rainbow-delimiters
+  (package-with-emacs-pgtk emacs-rainbow-delimiters))
+
 (define-public emacs-rainbow-identifiers
   (package
     (name "emacs-rainbow-identifiers")
@@ -15785,6 +20373,15 @@ (define-public emacs-rainbow-identifiers
 of its name.")
     (license license:bsd-2)))
 
+(define-public emacs-minimal-rainbow-identifiers
+  (package-with-emacs-minimal emacs-rainbow-identifiers))
+
+(define-public emacs-next-rainbow-identifiers
+  (package-with-emacs-next emacs-rainbow-identifiers))
+
+(define-public emacs-pgtk-rainbow-identifiers
+  (package-with-emacs-pgtk emacs-rainbow-identifiers))
+
 (define-public emacs-rainbow-mode
   (package
     (name "emacs-rainbow-mode")
@@ -15804,6 +20401,15 @@ (define-public emacs-rainbow-mode
 names, e.g., @samp{#0000ff} is displayed in white with a blue background.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-rainbow-mode
+  (package-with-emacs-minimal emacs-rainbow-mode))
+
+(define-public emacs-next-rainbow-mode
+  (package-with-emacs-next emacs-rainbow-mode))
+
+(define-public emacs-pgtk-rainbow-mode
+  (package-with-emacs-pgtk emacs-rainbow-mode))
+
 (define-public emacs-ryo-modal
   ;; Package has no release.  Version is extracted from "Version:" keyword in
   ;; main file.
@@ -15828,6 +20434,15 @@ (define-public emacs-ryo-modal
 keybindings in Emacs, and does not come with any predefined bindings.")
       (license license:expat))))
 
+(define-public emacs-minimal-ryo-modal
+  (package-with-emacs-minimal emacs-ryo-modal))
+
+(define-public emacs-next-ryo-modal
+  (package-with-emacs-next emacs-ryo-modal))
+
+(define-public emacs-pgtk-ryo-modal
+  (package-with-emacs-pgtk emacs-ryo-modal))
+
 (define-public emacs-valign
   (package
     (name "emacs-valign")
@@ -15851,6 +20466,15 @@ (define-public emacs-valign
 generated by Org mode (or Markdown mode) is left untouched.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-valign
+  (package-with-emacs-minimal emacs-valign))
+
+(define-public emacs-next-valign
+  (package-with-emacs-next emacs-valign))
+
+(define-public emacs-pgtk-valign
+  (package-with-emacs-pgtk emacs-valign))
+
 (define-public emacs-visual-fill-column
   (package
     (name "emacs-visual-fill-column")
@@ -15876,6 +20500,15 @@ (define-public emacs-visual-fill-column
 window edge.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-visual-fill-column
+  (package-with-emacs-minimal emacs-visual-fill-column))
+
+(define-public emacs-next-visual-fill-column
+  (package-with-emacs-next emacs-visual-fill-column))
+
+(define-public emacs-pgtk-visual-fill-column
+  (package-with-emacs-pgtk emacs-visual-fill-column))
+
 (define-public emacs-writeroom
   (package
     (name "emacs-writeroom")
@@ -15902,6 +20535,15 @@ (define-public emacs-writeroom
 restrict the text width to 80 characters.")
     (license license:bsd-3)))
 
+(define-public emacs-minimal-writeroom
+  (package-with-emacs-minimal emacs-writeroom))
+
+(define-public emacs-next-writeroom
+  (package-with-emacs-next emacs-writeroom))
+
+(define-public emacs-pgtk-writeroom
+  (package-with-emacs-pgtk emacs-writeroom))
+
 (define-public emacs-wucuo
   (package
     (name "emacs-wucuo")
@@ -15934,6 +20576,15 @@ (define-public emacs-wucuo
 a file, or a complete directory.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-wucuo
+  (package-with-emacs-minimal emacs-wucuo))
+
+(define-public emacs-next-wucuo
+  (package-with-emacs-next emacs-wucuo))
+
+(define-public emacs-pgtk-wucuo
+  (package-with-emacs-pgtk emacs-wucuo))
+
 (define-public emacs-ido-completing-read+
   (package
     (name "emacs-ido-completing-read+")
@@ -15971,6 +20622,15 @@ (define-public emacs-ido-completing-read+
 Emacs completion function instead.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ido-completing-read+
+  (package-with-emacs-minimal emacs-ido-completing-read+))
+
+(define-public emacs-next-ido-completing-read+
+  (package-with-emacs-next emacs-ido-completing-read+))
+
+(define-public emacs-pgtk-ido-completing-read+
+  (package-with-emacs-pgtk emacs-ido-completing-read+))
+
 (define-public emacs-ido-ubiquitous
   (package
     (name "emacs-ido-ubiquitous")
@@ -15994,6 +20654,15 @@ (define-public emacs-ido-ubiquitous
 that uses the standard completion function completing-read.")
   (license license:gpl3+)))
 
+(define-public emacs-minimal-ido-ubiquitous
+  (package-with-emacs-minimal emacs-ido-ubiquitous))
+
+(define-public emacs-next-ido-ubiquitous
+  (package-with-emacs-next emacs-ido-ubiquitous))
+
+(define-public emacs-pgtk-ido-ubiquitous
+  (package-with-emacs-pgtk emacs-ido-ubiquitous))
+
 (define-public emacs-yaml
   (package
     (name "emacs-yaml")
@@ -16023,6 +20692,15 @@ (define-public emacs-yaml
 parsing utility.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-yaml
+  (package-with-emacs-minimal emacs-yaml))
+
+(define-public emacs-next-yaml
+  (package-with-emacs-next emacs-yaml))
+
+(define-public emacs-pgtk-yaml
+  (package-with-emacs-pgtk emacs-yaml))
+
 (define-public emacs-yaml-mode
   (package
     (name "emacs-yaml-mode")
@@ -16046,6 +20724,15 @@ (define-public emacs-yaml-mode
 behavior very similar to that of Python mode.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-yaml-mode
+  (package-with-emacs-minimal emacs-yaml-mode))
+
+(define-public emacs-next-yaml-mode
+  (package-with-emacs-next emacs-yaml-mode))
+
+(define-public emacs-pgtk-yaml-mode
+  (package-with-emacs-pgtk emacs-yaml-mode))
+
 (define-public emacs-gitlab-ci-mode
   (package
     (name "emacs-gitlab-ci-mode")
@@ -16071,6 +20758,15 @@ (define-public emacs-gitlab-ci-mode
 via @code{gitlab-ci-lint}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-gitlab-ci-mode
+  (package-with-emacs-minimal emacs-gitlab-ci-mode))
+
+(define-public emacs-next-gitlab-ci-mode
+  (package-with-emacs-next emacs-gitlab-ci-mode))
+
+(define-public emacs-pgtk-gitlab-ci-mode
+  (package-with-emacs-pgtk emacs-gitlab-ci-mode))
+
 (define-public emacs-gitlab-snip-helm
   (package
     (name "emacs-gitlab-snip-helm")
@@ -16093,6 +20789,15 @@ (define-public emacs-gitlab-snip-helm
 Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-gitlab-snip-helm
+  (package-with-emacs-minimal emacs-gitlab-snip-helm))
+
+(define-public emacs-next-gitlab-snip-helm
+  (package-with-emacs-next emacs-gitlab-snip-helm))
+
+(define-public emacs-pgtk-gitlab-snip-helm
+  (package-with-emacs-pgtk emacs-gitlab-snip-helm))
+
 (define-public emacs-web-mode
   (package
     (name "emacs-web-mode")
@@ -16117,6 +20822,15 @@ (define-public emacs-web-mode
     (home-page "https://web-mode.org/")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-web-mode
+  (package-with-emacs-minimal emacs-web-mode))
+
+(define-public emacs-next-web-mode
+  (package-with-emacs-next emacs-web-mode))
+
+(define-public emacs-pgtk-web-mode
+  (package-with-emacs-pgtk emacs-web-mode))
+
 (define-public emacs-templatel
   (package
     (name "emacs-templatel")
@@ -16139,6 +20853,15 @@ (define-public emacs-templatel
 by Python's Jinja.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-templatel
+  (package-with-emacs-minimal emacs-templatel))
+
+(define-public emacs-next-templatel
+  (package-with-emacs-next emacs-templatel))
+
+(define-public emacs-pgtk-templatel
+  (package-with-emacs-pgtk emacs-templatel))
+
 (define-public emacs-wgrep
   (package
     (name "emacs-wgrep")
@@ -16168,6 +20891,15 @@ (define-public emacs-wgrep
 ack, ag, helm and pt.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-wgrep
+  (package-with-emacs-minimal emacs-wgrep))
+
+(define-public emacs-next-wgrep
+  (package-with-emacs-next emacs-wgrep))
+
+(define-public emacs-pgtk-wgrep
+  (package-with-emacs-pgtk emacs-wgrep))
+
 (define-public emacs-helm
   (package
     (name "emacs-helm")
@@ -16193,6 +20925,15 @@ (define-public emacs-helm
 stuff in Emacs (like buffers, files, etc).")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-helm
+  (package-with-emacs-minimal emacs-helm))
+
+(define-public emacs-next-helm
+  (package-with-emacs-next emacs-helm))
+
+(define-public emacs-pgtk-helm
+  (package-with-emacs-pgtk emacs-helm))
+
 (define-public emacs-helm-org
   (let ((commit "8457e1e46227bf87726e05c42cec5a4b51c2ef7b")
         (revision "3"))
@@ -16218,6 +20959,15 @@ (define-public emacs-helm-org
 as well as features for editing search results.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-helm-org
+  (package-with-emacs-minimal emacs-helm-org))
+
+(define-public emacs-next-helm-org
+  (package-with-emacs-next emacs-helm-org))
+
+(define-public emacs-pgtk-helm-org
+  (package-with-emacs-pgtk emacs-helm-org))
+
 (define-public emacs-helm-swoop
   (package
     (name "emacs-helm-swoop")
@@ -16241,6 +20991,15 @@ (define-public emacs-helm-swoop
 for search-based navigation of buffers.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-helm-swoop
+  (package-with-emacs-minimal emacs-helm-swoop))
+
+(define-public emacs-next-helm-swoop
+  (package-with-emacs-next emacs-helm-swoop))
+
+(define-public emacs-pgtk-helm-swoop
+  (package-with-emacs-pgtk emacs-helm-swoop))
+
 (define-public emacs-helm-ag
   (package
     (name "emacs-helm-ag")
@@ -16264,6 +21023,15 @@ (define-public emacs-helm-ag
 as well as features for editing search results.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-helm-ag
+  (package-with-emacs-minimal emacs-helm-ag))
+
+(define-public emacs-next-helm-ag
+  (package-with-emacs-next emacs-helm-ag))
+
+(define-public emacs-pgtk-helm-ag
+  (package-with-emacs-pgtk emacs-helm-ag))
+
 (define-public emacs-helm-projectile
   (package
     (name "emacs-helm-projectile")
@@ -16286,6 +21054,15 @@ (define-public emacs-helm-projectile
      "This Emacs library provides a Helm interface for Projectile.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-helm-projectile
+  (package-with-emacs-minimal emacs-helm-projectile))
+
+(define-public emacs-next-helm-projectile
+  (package-with-emacs-next emacs-helm-projectile))
+
+(define-public emacs-pgtk-helm-projectile
+  (package-with-emacs-pgtk emacs-helm-projectile))
+
 (define-public emacs-hexrgb
   (let ((commit "90e5f07f14bdb9966648977965094c75072691d4"))
     (package
@@ -16312,6 +21089,15 @@ (define-public emacs-hexrgb
 \"#FC43A7912\").")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-hexrgb
+  (package-with-emacs-minimal emacs-hexrgb))
+
+(define-public emacs-next-hexrgb
+  (package-with-emacs-next emacs-hexrgb))
+
+(define-public emacs-pgtk-hexrgb
+  (package-with-emacs-pgtk emacs-hexrgb))
+
 (define-public emacs-taskrunner
   (let ((commit "3afd4a546d42339543d3d4e51b175fc3e82b3358")
         (revision "1"))
@@ -16337,6 +21123,15 @@ (define-public emacs-taskrunner
 multiple project types.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-taskrunner
+  (package-with-emacs-minimal emacs-taskrunner))
+
+(define-public emacs-next-taskrunner
+  (package-with-emacs-next emacs-taskrunner))
+
+(define-public emacs-pgtk-taskrunner
+  (package-with-emacs-pgtk emacs-taskrunner))
+
 (define-public emacs-ivy-taskrunner
   (let ((commit "75d8d67cfe3c29663fe0f5508a887adf40ed5162")
         (revision "1"))
@@ -16362,6 +21157,15 @@ (define-public emacs-ivy-taskrunner
 Makefile targets.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ivy-taskrunner
+  (package-with-emacs-minimal emacs-ivy-taskrunner))
+
+(define-public emacs-next-ivy-taskrunner
+  (package-with-emacs-next emacs-ivy-taskrunner))
+
+(define-public emacs-pgtk-ivy-taskrunner
+  (package-with-emacs-pgtk emacs-ivy-taskrunner))
+
 (define-public emacs-helm-taskrunner
   (let ((commit "1910dac19cbc7bd4fd08b0faf9affd455339fbea")
         (revision "1"))
@@ -16387,6 +21191,15 @@ (define-public emacs-helm-taskrunner
 Makefile targets.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-helm-taskrunner
+  (package-with-emacs-minimal emacs-helm-taskrunner))
+
+(define-public emacs-next-helm-taskrunner
+  (package-with-emacs-next emacs-helm-taskrunner))
+
+(define-public emacs-pgtk-helm-taskrunner
+  (package-with-emacs-pgtk emacs-helm-taskrunner))
+
 (define-public emacs-helm-make
   (let ((commit "ebd71e85046d59b37f6a96535e01993b6962c559")
         (revision "0"))
@@ -16413,6 +21226,15 @@ (define-public emacs-helm-make
 target will call @code{compile} on it.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-helm-make
+  (package-with-emacs-minimal emacs-helm-make))
+
+(define-public emacs-next-helm-make
+  (package-with-emacs-next emacs-helm-make))
+
+(define-public emacs-pgtk-helm-make
+  (package-with-emacs-pgtk emacs-helm-make))
+
 (define-public emacs-islisp-mode
   (package
     (name "emacs-islisp-mode")
@@ -16464,6 +21286,15 @@ (define-public emacs-islisp-mode
 implementation.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-islisp-mode
+  (package-with-emacs-minimal emacs-islisp-mode))
+
+(define-public emacs-next-islisp-mode
+  (package-with-emacs-next emacs-islisp-mode))
+
+(define-public emacs-pgtk-islisp-mode
+  (package-with-emacs-pgtk emacs-islisp-mode))
+
 (define-public emacs-cider
   (package
     (name "emacs-cider")
@@ -16513,6 +21344,15 @@ (define-public emacs-cider
 CIDER).")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-cider
+  (package-with-emacs-minimal emacs-cider))
+
+(define-public emacs-next-cider
+  (package-with-emacs-next emacs-cider))
+
+(define-public emacs-pgtk-cider
+  (package-with-emacs-pgtk emacs-cider))
+
 (define-public emacs-cider-eval-sexp-fu
   (let ((commit "7fd229f1441356866aedba611fd0cf4e89b50921")) ;version bump
     (package
@@ -16536,6 +21376,15 @@ (define-public emacs-cider-eval-sexp-fu
 e.g., the expression you've just evaluated would briefly flash and so on.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-cider-eval-sexp-fu
+  (package-with-emacs-minimal emacs-cider-eval-sexp-fu))
+
+(define-public emacs-next-cider-eval-sexp-fu
+  (package-with-emacs-next emacs-cider-eval-sexp-fu))
+
+(define-public emacs-pgtk-cider-eval-sexp-fu
+  (package-with-emacs-pgtk emacs-cider-eval-sexp-fu))
+
 (define-public emacs-sly
   ;; Update together with sbcl-slynk.
   (let ((commit "9c43bf65b967e12cef1996f1af5f0671d8aecbf4")
@@ -16617,6 +21466,15 @@ (define-public emacs-sly
 xref, etc.) are still available, but with better integration.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-sly
+  (package-with-emacs-minimal emacs-sly))
+
+(define-public emacs-next-sly
+  (package-with-emacs-next emacs-sly))
+
+(define-public emacs-pgtk-sly
+  (package-with-emacs-pgtk emacs-sly))
+
 (define-public emacs-sly-quicklisp
   (let ((commit "01ebe3976a244309f2e277c09206831135a0b66c")
         (revision "1"))
@@ -16650,6 +21508,15 @@ (define-public emacs-sly-quicklisp
 sly-quickload command that prompts the user for a package to install.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-sly-quicklisp
+  (package-with-emacs-minimal emacs-sly-quicklisp))
+
+(define-public emacs-next-sly-quicklisp
+  (package-with-emacs-next emacs-sly-quicklisp))
+
+(define-public emacs-pgtk-sly-quicklisp
+  (package-with-emacs-pgtk emacs-sly-quicklisp))
+
 (define-public emacs-sly-asdf
   (package
     (name "emacs-sly-asdf")
@@ -16676,6 +21543,15 @@ (define-public emacs-sly-asdf
 additional support for working with ASDF projects.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-sly-asdf
+  (package-with-emacs-minimal emacs-sly-asdf))
+
+(define-public emacs-next-sly-asdf
+  (package-with-emacs-next emacs-sly-asdf))
+
+(define-public emacs-pgtk-sly-asdf
+  (package-with-emacs-pgtk emacs-sly-asdf))
+
 (define-public emacs-sly-named-readtables
   (let ((commit "a5a42674ccffa97ccd5e4e9742beaf3ea719931f")
         (revision "1"))
@@ -16708,6 +21584,15 @@ (define-public emacs-sly-named-readtables
 file.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-sly-named-readtables
+  (package-with-emacs-minimal emacs-sly-named-readtables))
+
+(define-public emacs-next-sly-named-readtables
+  (package-with-emacs-next emacs-sly-named-readtables))
+
+(define-public emacs-pgtk-sly-named-readtables
+  (package-with-emacs-pgtk emacs-sly-named-readtables))
+
 (define-public emacs-sly-macrostep
   (let ((commit "5113e4e926cd752b1d0bcc1508b3ebad5def5fad")
         (revision "2"))
@@ -16741,6 +21626,15 @@ (define-public emacs-sly-macrostep
 inside the source file.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-sly-macrostep
+  (package-with-emacs-minimal emacs-sly-macrostep))
+
+(define-public emacs-next-sly-macrostep
+  (package-with-emacs-next emacs-sly-macrostep))
+
+(define-public emacs-pgtk-sly-macrostep
+  (package-with-emacs-pgtk emacs-sly-macrostep))
+
 (define-public emacs-sly-stepper
   (let ((commit "da84e3bba8466c2290c2dc7c27d7f4c48c27b39e"))
     (package
@@ -16801,6 +21695,15 @@ (define-public emacs-sly-stepper
 Common Lisp, realized as an extension to SLY.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-sly-stepper
+  (package-with-emacs-minimal emacs-sly-stepper))
+
+(define-public emacs-next-sly-stepper
+  (package-with-emacs-next emacs-sly-stepper))
+
+(define-public emacs-pgtk-sly-stepper
+  (package-with-emacs-pgtk emacs-sly-stepper))
+
 (define-public emacs-sly-package-inferred
   (let ((commit "800e71e2be631422277e2ec77e6d6f6ea20e95ef")
         (revision "1"))
@@ -16834,6 +21737,15 @@ (define-public emacs-sly-package-inferred
 using package inferred style.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-sly-package-inferred
+  (package-with-emacs-minimal emacs-sly-package-inferred))
+
+(define-public emacs-next-sly-package-inferred
+  (package-with-emacs-next emacs-sly-package-inferred))
+
+(define-public emacs-pgtk-sly-package-inferred
+  (package-with-emacs-pgtk emacs-sly-package-inferred))
+
 (define-public emacs-lua-mode
   (let ((commit "d074e4134b1beae9ed4c9b512af741ca0d852ba3")
         (revision "1"))
@@ -16870,6 +21782,15 @@ (define-public emacs-lua-mode
 Lua programming language}.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-lua-mode
+  (package-with-emacs-minimal emacs-lua-mode))
+
+(define-public emacs-next-lua-mode
+  (package-with-emacs-next emacs-lua-mode))
+
+(define-public emacs-pgtk-lua-mode
+  (package-with-emacs-pgtk emacs-lua-mode))
+
 (define-public emacs-ebuild-mode
   (package
     (name "emacs-ebuild-mode")
@@ -16902,6 +21823,15 @@ (define-public emacs-ebuild-mode
 news items, openrc and runscripts.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-ebuild-mode
+  (package-with-emacs-minimal emacs-ebuild-mode))
+
+(define-public emacs-next-ebuild-mode
+  (package-with-emacs-next emacs-ebuild-mode))
+
+(define-public emacs-pgtk-ebuild-mode
+  (package-with-emacs-pgtk emacs-ebuild-mode))
+
 (define-public emacs-ebuku
   ;; Upstream has no tagged release.
   (let ((revision "1")
@@ -16926,6 +21856,15 @@ (define-public emacs-ebuku
 manager.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ebuku
+  (package-with-emacs-minimal emacs-ebuku))
+
+(define-public emacs-next-ebuku
+  (package-with-emacs-next emacs-ebuku))
+
+(define-public emacs-pgtk-ebuku
+  (package-with-emacs-pgtk emacs-ebuku))
+
 (define-public emacs-evil
   ;; Commit message claims this is 1.15.0, but there's no tag for it, so we
   ;; use full git-version instead
@@ -16967,6 +21906,15 @@ (define-public emacs-evil
 extensions.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-evil
+  (package-with-emacs-minimal emacs-evil))
+
+(define-public emacs-next-evil
+  (package-with-emacs-next emacs-evil))
+
+(define-public emacs-pgtk-evil
+  (package-with-emacs-pgtk emacs-evil))
+
 (define-public emacs-evil-collection
   (package
     (name "emacs-evil-collection")
@@ -17002,6 +21950,15 @@ (define-public emacs-evil-collection
 @code{M-x calendar}, Eshell and more.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-evil-collection
+  (package-with-emacs-minimal emacs-evil-collection))
+
+(define-public emacs-next-evil-collection
+  (package-with-emacs-next emacs-evil-collection))
+
+(define-public emacs-pgtk-evil-collection
+  (package-with-emacs-pgtk emacs-evil-collection))
+
 (define-public emacs-evil-goggles
   (let ((commit "08a22058fd6a167f9f1b684c649008caef571459")
         (version "0.0.1")
@@ -17027,6 +21984,15 @@ (define-public emacs-evil-goggles
 being deleted, changed, yanked, or pasted when using evil commands")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-evil-goggles
+  (package-with-emacs-minimal emacs-evil-goggles))
+
+(define-public emacs-next-evil-goggles
+  (package-with-emacs-next emacs-evil-goggles))
+
+(define-public emacs-pgtk-evil-goggles
+  (package-with-emacs-pgtk emacs-evil-goggles))
+
 (define-public emacs-goggles
   (package
     (name "emacs-goggles")
@@ -17047,6 +22013,15 @@ (define-public emacs-goggles
 Currently the commands undo, yank, kill and delete are supported.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-goggles
+  (package-with-emacs-minimal emacs-goggles))
+
+(define-public emacs-next-goggles
+  (package-with-emacs-next emacs-goggles))
+
+(define-public emacs-pgtk-goggles
+  (package-with-emacs-pgtk emacs-goggles))
+
 (define-public emacs-goto-chg
   (package
     (name "emacs-goto-chg")
@@ -17071,6 +22046,15 @@ (define-public emacs-goto-chg
 used for reverse direction.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-goto-chg
+  (package-with-emacs-minimal emacs-goto-chg))
+
+(define-public emacs-next-goto-chg
+  (package-with-emacs-next emacs-goto-chg))
+
+(define-public emacs-pgtk-goto-chg
+  (package-with-emacs-pgtk emacs-goto-chg))
+
 (define-public emacs-evil-owl
   (let ((commit "24c5f43df375194386344e69bc720ea3986c9510")
         (revision "3"))
@@ -17108,6 +22092,15 @@ (define-public emacs-evil-owl
 a popup window for previewing candidates.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-evil-owl
+  (package-with-emacs-minimal emacs-evil-owl))
+
+(define-public emacs-next-evil-owl
+  (package-with-emacs-next emacs-evil-owl))
+
+(define-public emacs-pgtk-evil-owl
+  (package-with-emacs-pgtk emacs-evil-owl))
+
 (define-public emacs-evil-paredit
   (let ((commit "e058fbdcf9dbf7ad6cc77f0172d7517ef233d55f"))
     (package
@@ -17134,6 +22127,15 @@ (define-public emacs-evil-paredit
 you break the parity of parenthesis.")
       (license license:expat))))
 
+(define-public emacs-minimal-evil-paredit
+  (package-with-emacs-minimal emacs-evil-paredit))
+
+(define-public emacs-next-evil-paredit
+  (package-with-emacs-next emacs-evil-paredit))
+
+(define-public emacs-pgtk-evil-paredit
+  (package-with-emacs-pgtk emacs-evil-paredit))
+
 (define-public emacs-evil-args
   (let ((commit "758ad5ae54ad34202064fec192c88151c08cb387")
         (revision "1"))
@@ -17159,6 +22161,15 @@ (define-public emacs-evil-args
 arguments, such as arguments separated by commas and semicolons.")
       (license license:expat))))
 
+(define-public emacs-minimal-evil-args
+  (package-with-emacs-minimal emacs-evil-args))
+
+(define-public emacs-next-evil-args
+  (package-with-emacs-next emacs-evil-args))
+
+(define-public emacs-pgtk-evil-args
+  (package-with-emacs-pgtk emacs-evil-args))
+
 (define-public emacs-evil-escape
   (package
     (name "emacs-evil-escape")
@@ -17183,6 +22194,15 @@ (define-public emacs-evil-escape
 state and everything else in Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-evil-escape
+  (package-with-emacs-minimal emacs-evil-escape))
+
+(define-public emacs-next-evil-escape
+  (package-with-emacs-next emacs-evil-escape))
+
+(define-public emacs-pgtk-evil-escape
+  (package-with-emacs-pgtk emacs-evil-escape))
+
 (define-public emacs-evil-exchange
   (let ((commit "47691537815150715e64e6f6ec79be7746c96120")
         (version "0.41")
@@ -17220,6 +22240,15 @@ (define-public emacs-evil-exchange
 for exchanging text.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-evil-exchange
+  (package-with-emacs-minimal emacs-evil-exchange))
+
+(define-public emacs-next-evil-exchange
+  (package-with-emacs-next emacs-evil-exchange))
+
+(define-public emacs-pgtk-evil-exchange
+  (package-with-emacs-pgtk emacs-evil-exchange))
+
 (define-public emacs-evil-replace-with-register
   (let ((commit "91cc7bf21a94703c441cc9212214075b226b7f67")
         (version "0.1")
@@ -17246,6 +22275,15 @@ (define-public emacs-evil-replace-with-register
 contents of a register.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-evil-replace-with-register
+  (package-with-emacs-minimal emacs-evil-replace-with-register))
+
+(define-public emacs-next-evil-replace-with-register
+  (package-with-emacs-next emacs-evil-replace-with-register))
+
+(define-public emacs-pgtk-evil-replace-with-register
+  (package-with-emacs-pgtk emacs-evil-replace-with-register))
+
 (define-public emacs-evil-indent-plus
   (let ((commit "0c7501e6efed661242c3a20e0a6c79a6455c2c40")
         (version "1.0.0")
@@ -17273,6 +22311,15 @@ (define-public emacs-evil-indent-plus
 surrounding lines.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-evil-indent-plus
+  (package-with-emacs-minimal emacs-evil-indent-plus))
+
+(define-public emacs-next-evil-indent-plus
+  (package-with-emacs-next emacs-evil-indent-plus))
+
+(define-public emacs-pgtk-evil-indent-plus
+  (package-with-emacs-pgtk emacs-evil-indent-plus))
+
 (define-public emacs-evil-text-object-python
   (let ((commit "9a064fe6475429145cbcc3b270fcc963b67adb15")
         (version "1.0.1")
@@ -17298,6 +22345,15 @@ (define-public emacs-evil-text-object-python
        "This package provides @code{evil-mode} text objects for Python.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-evil-text-object-python
+  (package-with-emacs-minimal emacs-evil-text-object-python))
+
+(define-public emacs-next-evil-text-object-python
+  (package-with-emacs-next emacs-evil-text-object-python))
+
+(define-public emacs-pgtk-evil-text-object-python
+  (package-with-emacs-pgtk emacs-evil-text-object-python))
+
 (define-public emacs-evil-lion
   (let ((commit "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab")
         (revision "1"))
@@ -17326,6 +22382,15 @@ (define-public emacs-evil-lion
 aligning text objects based on separators.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-evil-lion
+  (package-with-emacs-minimal emacs-evil-lion))
+
+(define-public emacs-next-evil-lion
+  (package-with-emacs-next emacs-evil-lion))
+
+(define-public emacs-pgtk-evil-lion
+  (package-with-emacs-pgtk emacs-evil-lion))
+
 (define-public emacs-evil-expat
   (let ((commit "f4fcd0aa3edc359adb5c986b5dd9188d220d84e2")
         (revision "1"))
@@ -17355,6 +22420,15 @@ (define-public emacs-evil-expat
 pasting into and from @code{tmux} paste buffers.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-evil-expat
+  (package-with-emacs-minimal emacs-evil-expat))
+
+(define-public emacs-next-evil-expat
+  (package-with-emacs-next emacs-evil-expat))
+
+(define-public emacs-pgtk-evil-expat
+  (package-with-emacs-pgtk emacs-evil-expat))
+
 (define-public emacs-evil-nerd-commenter
   (package
     (name "emacs-evil-nerd-commenter")
@@ -17378,6 +22452,15 @@ (define-public emacs-evil-nerd-commenter
 @code{evil-mode}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-evil-nerd-commenter
+  (package-with-emacs-minimal emacs-evil-nerd-commenter))
+
+(define-public emacs-next-evil-nerd-commenter
+  (package-with-emacs-next emacs-evil-nerd-commenter))
+
+(define-public emacs-pgtk-evil-nerd-commenter
+  (package-with-emacs-pgtk emacs-evil-nerd-commenter))
+
 (define-public emacs-evil-visual-replace
   (package
     (name "emacs-evil-visual-replace")
@@ -17401,6 +22484,15 @@ (define-public emacs-evil-visual-replace
 @code{replace-regexp} that work for @code{evil-mode} visual blocks.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-evil-visual-replace
+  (package-with-emacs-minimal emacs-evil-visual-replace))
+
+(define-public emacs-next-evil-visual-replace
+  (package-with-emacs-next emacs-evil-visual-replace))
+
+(define-public emacs-pgtk-evil-visual-replace
+  (package-with-emacs-pgtk emacs-evil-visual-replace))
+
 (define-public emacs-evil-visualstar
   (let ((commit "06c053d8f7381f91c53311b1234872ca96ced752")
         (version "0.2.0")
@@ -17427,6 +22519,15 @@ (define-public emacs-evil-visualstar
 to search.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-evil-visualstar
+  (package-with-emacs-minimal emacs-evil-visualstar))
+
+(define-public emacs-next-evil-visualstar
+  (package-with-emacs-next emacs-evil-visualstar))
+
+(define-public emacs-pgtk-evil-visualstar
+  (package-with-emacs-pgtk emacs-evil-visualstar))
+
 (define-public emacs-monky
   (package
     (name "emacs-monky")
@@ -17453,6 +22554,15 @@ (define-public emacs-monky
 can selectively commit files, view the diffs, and other things.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-monky
+  (package-with-emacs-minimal emacs-monky))
+
+(define-public emacs-next-monky
+  (package-with-emacs-next emacs-monky))
+
+(define-public emacs-pgtk-monky
+  (package-with-emacs-pgtk emacs-monky))
+
 (define-public emacs-monroe
   (package
     (name "emacs-monroe")
@@ -17474,6 +22584,15 @@ (define-public emacs-monroe
 distribution, primarily targeting Clojure users")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-monroe
+  (package-with-emacs-minimal emacs-monroe))
+
+(define-public emacs-next-monroe
+  (package-with-emacs-next emacs-monroe))
+
+(define-public emacs-pgtk-monroe
+  (package-with-emacs-pgtk emacs-monroe))
+
 (define-public emacs-rail
   (package
     (name "emacs-rail")
@@ -17495,6 +22614,15 @@ (define-public emacs-rail
 to be a more complete implementation.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-rail
+  (package-with-emacs-minimal emacs-rail))
+
+(define-public emacs-next-rail
+  (package-with-emacs-next emacs-rail))
+
+(define-public emacs-pgtk-rail
+  (package-with-emacs-pgtk emacs-rail))
+
 (define-public emacs-orgalist
   (package
     (name "emacs-orgalist")
@@ -17517,6 +22645,15 @@ (define-public emacs-orgalist
 later translated into the host format, e.g., LaTeX or HTML.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-orgalist
+  (package-with-emacs-minimal emacs-orgalist))
+
+(define-public emacs-next-orgalist
+  (package-with-emacs-next emacs-orgalist))
+
+(define-public emacs-pgtk-orgalist
+  (package-with-emacs-pgtk emacs-orgalist))
+
 (define-public emacs-writegood-mode
   (package
     (name "emacs-writegood-mode")
@@ -17539,6 +22676,15 @@ (define-public emacs-writegood-mode
 passive voice.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-writegood-mode
+  (package-with-emacs-minimal emacs-writegood-mode))
+
+(define-public emacs-next-writegood-mode
+  (package-with-emacs-next emacs-writegood-mode))
+
+(define-public emacs-pgtk-writegood-mode
+  (package-with-emacs-pgtk emacs-writegood-mode))
+
 (define-public emacs-neotree
   (package
     (name "emacs-neotree")
@@ -17558,6 +22704,15 @@ (define-public emacs-neotree
     (description "This Emacs package provides a folder tree view.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-neotree
+  (package-with-emacs-minimal emacs-neotree))
+
+(define-public emacs-next-neotree
+  (package-with-emacs-next emacs-neotree))
+
+(define-public emacs-pgtk-neotree
+  (package-with-emacs-pgtk emacs-neotree))
+
 (define-public emacs-org
   (package
     (name "emacs-org")
@@ -17654,6 +22809,15 @@ (define-public emacs-org
 programming and reproducible research.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org
+  (package-with-emacs-minimal emacs-org))
+
+(define-public emacs-next-org
+  (package-with-emacs-next emacs-org))
+
+(define-public emacs-pgtk-org
+  (package-with-emacs-pgtk emacs-org))
+
 (define-public emacs-org-contrib
   (package
     (name "emacs-org-contrib")
@@ -17684,6 +22848,15 @@ (define-public emacs-org-contrib
 compatible with the Org stable version.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-contrib
+  (package-with-emacs-minimal emacs-org-contrib))
+
+(define-public emacs-next-org-contrib
+  (package-with-emacs-next emacs-org-contrib))
+
+(define-public emacs-pgtk-org-contrib
+  (package-with-emacs-pgtk emacs-org-contrib))
+
 (define-public emacs-org-contacts
   ;; XXX: Upstream does not tag version bumps. Commit below matches latest
   ;; version bump.
@@ -17709,6 +22882,15 @@ (define-public emacs-org-contacts
 in your Org Agenda, and more.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-contacts
+  (package-with-emacs-minimal emacs-org-contacts))
+
+(define-public emacs-next-org-contacts
+  (package-with-emacs-next emacs-org-contacts))
+
+(define-public emacs-pgtk-org-contacts
+  (package-with-emacs-pgtk emacs-org-contacts))
+
 (define-public emacs-org-vcard
   (package
     (name "emacs-org-vcard")
@@ -17730,6 +22912,15 @@ (define-public emacs-org-vcard
 mode.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-vcard
+  (package-with-emacs-minimal emacs-org-vcard))
+
+(define-public emacs-next-org-vcard
+  (package-with-emacs-next emacs-org-vcard))
+
+(define-public emacs-pgtk-org-vcard
+  (package-with-emacs-pgtk emacs-org-vcard))
+
 (define-public emacs-org-pretty-table
   ;; There is no release yet.
   (let ((commit "1331c600b83d95b28730b1bfcb48369ac1cf12ef")
@@ -17754,6 +22945,15 @@ (define-public emacs-org-pretty-table
 characters.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-pretty-table
+  (package-with-emacs-minimal emacs-org-pretty-table))
+
+(define-public emacs-next-org-pretty-table
+  (package-with-emacs-next emacs-org-pretty-table))
+
+(define-public emacs-pgtk-org-pretty-table
+  (package-with-emacs-pgtk emacs-org-pretty-table))
+
 (define-public emacs-ob-sclang
   (let ((commit "cd3f3c847d8149cd4ce4a775942dac88ba92c772")
         (revision "1"))
@@ -17778,6 +22978,15 @@ (define-public emacs-ob-sclang
 mode source blocks.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ob-sclang
+  (package-with-emacs-minimal emacs-ob-sclang))
+
+(define-public emacs-next-ob-sclang
+  (package-with-emacs-next emacs-ob-sclang))
+
+(define-public emacs-pgtk-ob-sclang
+  (package-with-emacs-pgtk emacs-ob-sclang))
+
 (define-public emacs-org-edna
   (package
     (name "emacs-org-edna")
@@ -17801,6 +23010,15 @@ (define-public emacs-org-edna
 a DONE state.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-edna
+  (package-with-emacs-minimal emacs-org-edna))
+
+(define-public emacs-next-org-edna
+  (package-with-emacs-next emacs-org-edna))
+
+(define-public emacs-pgtk-org-edna
+  (package-with-emacs-pgtk emacs-org-edna))
+
 (define-public emacs-toodoo
   ;; Package has no release.  Version is extracted from "Version:" keyword in
   ;; main file, and commit below matches version bump.
@@ -17825,6 +23043,15 @@ (define-public emacs-toodoo
 using Org mode and transients.")
     (license license:asl2.0)))
 
+(define-public emacs-minimal-toodoo
+  (package-with-emacs-minimal emacs-toodoo))
+
+(define-public emacs-next-toodoo
+  (package-with-emacs-next emacs-toodoo))
+
+(define-public emacs-pgtk-toodoo
+  (package-with-emacs-pgtk emacs-toodoo))
+
 (define-public emacs-flx
   (package
     (name "emacs-flx")
@@ -17850,6 +23077,15 @@ (define-public emacs-flx
 Flx has support for ido (interactively do things) through flx-ido.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-flx
+  (package-with-emacs-minimal emacs-flx))
+
+(define-public emacs-next-flx
+  (package-with-emacs-next emacs-flx))
+
+(define-public emacs-pgtk-flx
+  (package-with-emacs-pgtk emacs-flx))
+
 (define-public emacs-afternoon-theme
   (let ((commit "89b1d778a1f8b385775c122f2bd1c62f0fbf931a")
         (revision "0"))
@@ -17872,6 +23108,15 @@ (define-public emacs-afternoon-theme
        "Afternoon theme is a dark color theme with a deep blue background.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-afternoon-theme
+  (package-with-emacs-minimal emacs-afternoon-theme))
+
+(define-public emacs-next-afternoon-theme
+  (package-with-emacs-next emacs-afternoon-theme))
+
+(define-public emacs-pgtk-afternoon-theme
+  (package-with-emacs-pgtk emacs-afternoon-theme))
+
 (define-public emacs-cyberpunk-theme
   (package
     (name "emacs-cyberpunk-theme")
@@ -17894,6 +23139,15 @@ (define-public emacs-cyberpunk-theme
 known loosely as deftheme.  Many mode-specific customizations are included.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-cyberpunk-theme
+  (package-with-emacs-minimal emacs-cyberpunk-theme))
+
+(define-public emacs-next-cyberpunk-theme
+  (package-with-emacs-next emacs-cyberpunk-theme))
+
+(define-public emacs-pgtk-cyberpunk-theme
+  (package-with-emacs-pgtk emacs-cyberpunk-theme))
+
 (define-public emacs-dart-mode
   (package
     (name "emacs-dart-mode")
@@ -17917,6 +23171,15 @@ (define-public emacs-dart-mode
 basic syntax highlighting and indentation.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-dart-mode
+  (package-with-emacs-minimal emacs-dart-mode))
+
+(define-public emacs-next-dart-mode
+  (package-with-emacs-next emacs-dart-mode))
+
+(define-public emacs-pgtk-dart-mode
+  (package-with-emacs-pgtk emacs-dart-mode))
+
 (define-public emacs-danneskjold-theme
   (let ((commit "b3335e44f468c019c95a8210ce1ed9fe23c65735")) ;version bump
     (package
@@ -17945,6 +23208,15 @@ (define-public emacs-danneskjold-theme
        "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-danneskjold-theme
+  (package-with-emacs-minimal emacs-danneskjold-theme))
+
+(define-public emacs-next-danneskjold-theme
+  (package-with-emacs-next emacs-danneskjold-theme))
+
+(define-public emacs-pgtk-danneskjold-theme
+  (package-with-emacs-pgtk emacs-danneskjold-theme))
+
 (define-public emacs-dream-theme
   (let ((commit "62caa37d5f1ddb1187ee0b9e7dd9833679cc5eb5")) ;version bump
     (package
@@ -17968,6 +23240,15 @@ (define-public emacs-dream-theme
 by zenburn, sinburn and similar themes, but slowly diverging from them.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-dream-theme
+  (package-with-emacs-minimal emacs-dream-theme))
+
+(define-public emacs-next-dream-theme
+  (package-with-emacs-next emacs-dream-theme))
+
+(define-public emacs-pgtk-dream-theme
+  (package-with-emacs-pgtk emacs-dream-theme))
+
 (define-public emacs-dracula-theme
   (package
     (name "emacs-dracula-theme")
@@ -17989,6 +23270,15 @@ (define-public emacs-dracula-theme
 package provides the Emacs theme.")
     (license license:expat)))
 
+(define-public emacs-minimal-dracula-theme
+  (package-with-emacs-minimal emacs-dracula-theme))
+
+(define-public emacs-next-dracula-theme
+  (package-with-emacs-next emacs-dracula-theme))
+
+(define-public emacs-pgtk-dracula-theme
+  (package-with-emacs-pgtk emacs-dracula-theme))
+
 (define-public emacs-auto-complete
   (package
     (name "emacs-auto-complete")
@@ -18016,6 +23306,15 @@ (define-public emacs-auto-complete
 extensibility.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-auto-complete
+  (package-with-emacs-minimal emacs-auto-complete))
+
+(define-public emacs-next-auto-complete
+  (package-with-emacs-next emacs-auto-complete))
+
+(define-public emacs-pgtk-auto-complete
+  (package-with-emacs-pgtk emacs-auto-complete))
+
 (define-public emacs-autocrypt
   (let ((commit "dc0223f11daf526621fda206b38bf06c29759c94")) ;version bump
     (package
@@ -18039,6 +23338,15 @@ (define-public emacs-autocrypt
 encryption.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-autocrypt
+  (package-with-emacs-minimal emacs-autocrypt))
+
+(define-public emacs-next-autocrypt
+  (package-with-emacs-next emacs-autocrypt))
+
+(define-public emacs-pgtk-autocrypt
+  (package-with-emacs-pgtk emacs-autocrypt))
+
 (define-public emacs-nginx-mode
   (package
     (name "emacs-nginx-mode")
@@ -18059,6 +23367,15 @@ (define-public emacs-nginx-mode
 editing nginx config files.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-nginx-mode
+  (package-with-emacs-minimal emacs-nginx-mode))
+
+(define-public emacs-next-nginx-mode
+  (package-with-emacs-next emacs-nginx-mode))
+
+(define-public emacs-pgtk-nginx-mode
+  (package-with-emacs-pgtk emacs-nginx-mode))
+
 (define-public emacs-stream
   (package
     (name "emacs-stream")
@@ -18077,6 +23394,15 @@ (define-public emacs-stream
 Streams are implemented as delayed evaluation of cons cells.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-stream
+  (package-with-emacs-minimal emacs-stream))
+
+(define-public emacs-next-stream
+  (package-with-emacs-next emacs-stream))
+
+(define-public emacs-pgtk-stream
+  (package-with-emacs-pgtk emacs-stream))
+
 (define-public emacs-cl-print
   (let ((commit "1a70c553dfb04352afb5b8696fe0cef8acc8f991")
         (revision "1"))
@@ -18100,6 +23426,15 @@ (define-public emacs-cl-print
 please.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-cl-print
+  (package-with-emacs-minimal emacs-cl-print))
+
+(define-public emacs-next-cl-print
+  (package-with-emacs-next emacs-cl-print))
+
+(define-public emacs-pgtk-cl-print
+  (package-with-emacs-pgtk emacs-cl-print))
+
 (define-public emacs-el-search
   (let ((commit "07bed84dd8ae9e4c6c648834224b1d33fdbd51e0")
         (revision "2"))
@@ -18124,6 +23459,15 @@ (define-public emacs-el-search
 procedures for emacs-lisp-mode.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-el-search
+  (package-with-emacs-minimal emacs-el-search))
+
+(define-public emacs-next-el-search
+  (package-with-emacs-next emacs-el-search))
+
+(define-public emacs-pgtk-el-search
+  (package-with-emacs-pgtk emacs-el-search))
+
 (define-public emacs-ht
   (package
     (name "emacs-ht")
@@ -18151,6 +23495,15 @@ (define-public emacs-ht
 provides functions to convert hash tables from and to alists and plists.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ht
+  (package-with-emacs-minimal emacs-ht))
+
+(define-public emacs-next-ht
+  (package-with-emacs-next emacs-ht))
+
+(define-public emacs-pgtk-ht
+  (package-with-emacs-pgtk emacs-ht))
+
 (define-public emacs-log4e
   (package
     (name "emacs-log4e")
@@ -18181,6 +23534,15 @@ (define-public emacs-log4e
 you to deal with multiple log levels.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-log4e
+  (package-with-emacs-minimal emacs-log4e))
+
+(define-public emacs-next-log4e
+  (package-with-emacs-next emacs-log4e))
+
+(define-public emacs-pgtk-log4e
+  (package-with-emacs-pgtk emacs-log4e))
+
 (define-public emacs-denote
   (package
     (name "emacs-denote")
@@ -18206,6 +23568,15 @@ (define-public emacs-denote
 such files while providing facilities to link between them.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-denote
+  (package-with-emacs-minimal emacs-denote))
+
+(define-public emacs-next-denote
+  (package-with-emacs-next emacs-denote))
+
+(define-public emacs-pgtk-denote
+  (package-with-emacs-pgtk emacs-denote))
+
 (define-public emacs-denote-menu
   (package
     (name "emacs-denote-menu")
@@ -18226,6 +23597,15 @@ (define-public emacs-denote-menu
 view your Denote directory.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-denote-menu
+  (package-with-emacs-minimal emacs-denote-menu))
+
+(define-public emacs-next-denote-menu
+  (package-with-emacs-next emacs-denote-menu))
+
+(define-public emacs-pgtk-denote-menu
+  (package-with-emacs-pgtk emacs-denote-menu))
+
 (define-public emacs-logos
   (let ((commit "eeedd3ef289faa4fa2b726013255747a41a6ba9c")) ;version bump
     (package
@@ -18263,6 +23643,15 @@ (define-public emacs-logos
       (license (list license:gpl3+
                      license:fdl1.3+))))) ; GFDLv1.3+ for the manual
 
+(define-public emacs-minimal-logos
+  (package-with-emacs-minimal emacs-logos))
+
+(define-public emacs-next-logos
+  (package-with-emacs-next emacs-logos))
+
+(define-public emacs-pgtk-logos
+  (package-with-emacs-pgtk emacs-logos))
+
 (define-public emacs-tmr
   (package
     (name "emacs-tmr")
@@ -18310,6 +23699,15 @@ (define-public emacs-tmr
     (license (list license:gpl3+
                    license:fdl1.3+)))) ;GFDLv1.3+ for the manual
 
+(define-public emacs-minimal-tmr
+  (package-with-emacs-minimal emacs-tmr))
+
+(define-public emacs-next-tmr
+  (package-with-emacs-next emacs-tmr))
+
+(define-public emacs-pgtk-tmr
+  (package-with-emacs-pgtk emacs-tmr))
+
 (define-public emacs-beframe
   (let ((commit "c3f4583b0767e7f8c38c83ed29af40af8ba3bdfa")) ;version bump
     (package
@@ -18351,6 +23749,15 @@ (define-public emacs-beframe
       (license (list license:gpl3+
                      license:fdl1.3+))))) ; GFDLv1.3+ for the manual
 
+(define-public emacs-minimal-beframe
+  (package-with-emacs-minimal emacs-beframe))
+
+(define-public emacs-next-beframe
+  (package-with-emacs-next emacs-beframe))
+
+(define-public emacs-pgtk-beframe
+  (package-with-emacs-pgtk emacs-beframe))
+
 (define-public emacs-gn-mode
   (package
     (name "emacs-gn-mode")
@@ -18373,6 +23780,15 @@ (define-public emacs-gn-mode
 are common in Chromium-derived projects.")
     (license license:bsd-3)))
 
+(define-public emacs-minimal-gn-mode
+  (package-with-emacs-minimal emacs-gn-mode))
+
+(define-public emacs-next-gn-mode
+  (package-with-emacs-next emacs-gn-mode))
+
+(define-public emacs-pgtk-gn-mode
+  (package-with-emacs-pgtk emacs-gn-mode))
+
 (define-public emacs-gnosis
   (package
     (name "emacs-gnosis")
@@ -18398,6 +23814,15 @@ (define-public emacs-gnosis
 each question.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-gnosis
+  (package-with-emacs-minimal emacs-gnosis))
+
+(define-public emacs-next-gnosis
+  (package-with-emacs-next emacs-gnosis))
+
+(define-public emacs-pgtk-gnosis
+  (package-with-emacs-pgtk emacs-gnosis))
+
 (define-public emacs-drag-stuff
   (package
     (name "emacs-drag-stuff")
@@ -18419,6 +23844,15 @@ (define-public emacs-drag-stuff
 stuff (words, region, lines) around in Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-drag-stuff
+  (package-with-emacs-minimal emacs-drag-stuff))
+
+(define-public emacs-next-drag-stuff
+  (package-with-emacs-next emacs-drag-stuff))
+
+(define-public emacs-pgtk-drag-stuff
+  (package-with-emacs-pgtk emacs-drag-stuff))
+
 (define-public emacs-bazel
   ;; From 2021-11-21.
   ;; No releases available.
@@ -18443,6 +23877,15 @@ (define-public emacs-bazel
 @uref{https://bazel.build/} for background on Bazel.")
       (license license:asl2.0))))
 
+(define-public emacs-minimal-bazel
+  (package-with-emacs-minimal emacs-bazel))
+
+(define-public emacs-next-bazel
+  (package-with-emacs-next emacs-bazel))
+
+(define-public emacs-pgtk-bazel
+  (package-with-emacs-pgtk emacs-bazel))
+
 (define-public emacs-clue
   ;; There are no releases so far.
   (let ((commit "41895da52cf76f964d97cb8204406ab9828c4839")
@@ -18470,6 +23913,15 @@ (define-public emacs-clue
 locations.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-clue
+  (package-with-emacs-minimal emacs-clue))
+
+(define-public emacs-next-clue
+  (package-with-emacs-next emacs-clue))
+
+(define-public emacs-pgtk-clue
+  (package-with-emacs-pgtk emacs-clue))
+
 (define-public emacs-gntp
   (package
     (name "emacs-gntp")
@@ -18493,6 +23945,15 @@ (define-public emacs-gntp
 notifications.")
     (license license:bsd-3)))
 
+(define-public emacs-minimal-gntp
+  (package-with-emacs-minimal emacs-gntp))
+
+(define-public emacs-next-gntp
+  (package-with-emacs-next emacs-gntp))
+
+(define-public emacs-pgtk-gntp
+  (package-with-emacs-pgtk emacs-gntp))
+
 (define-public emacs-alert
   (package
     (name "emacs-alert")
@@ -18517,6 +23978,15 @@ (define-public emacs-alert
 customizable by the user.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-alert
+  (package-with-emacs-minimal emacs-alert))
+
+(define-public emacs-next-alert
+  (package-with-emacs-next emacs-alert))
+
+(define-public emacs-pgtk-alert
+  (package-with-emacs-pgtk emacs-alert))
+
 (define-public emacs-zones
   (package
     (name "emacs-zones")
@@ -18539,6 +24009,15 @@ (define-public emacs-zones
 a (typically) noncontiguous set of text.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-zones
+  (package-with-emacs-minimal emacs-zones))
+
+(define-public emacs-next-zones
+  (package-with-emacs-next emacs-zones))
+
+(define-public emacs-pgtk-zones
+  (package-with-emacs-pgtk emacs-zones))
+
 (define-public emacs-mu4e-alert
   (let ((commit "3c9af8c7994df0a1a4f0703552ea3beffb485ace")
         (revision "0"))
@@ -18564,6 +24043,15 @@ (define-public emacs-mu4e-alert
 Additionally it can display the number of unread emails in the mode line.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-mu4e-alert
+  (package-with-emacs-minimal emacs-mu4e-alert))
+
+(define-public emacs-next-mu4e-alert
+  (package-with-emacs-next emacs-mu4e-alert))
+
+(define-public emacs-pgtk-mu4e-alert
+  (package-with-emacs-pgtk emacs-mu4e-alert))
+
 (define-public emacs-mu4e-column-faces
   (package
     (name "emacs-mu4e-column-faces")
@@ -18586,6 +24074,15 @@ (define-public emacs-mu4e-column-faces
 mail overview.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-mu4e-column-faces
+  (package-with-emacs-minimal emacs-mu4e-column-faces))
+
+(define-public emacs-next-mu4e-column-faces
+  (package-with-emacs-next emacs-mu4e-column-faces))
+
+(define-public emacs-pgtk-mu4e-column-faces
+  (package-with-emacs-pgtk emacs-mu4e-column-faces))
+
 (define-public emacs-mu4e-jump-to-list
   (let ((commit "358bba003543b49ffa266e503e54aebd0ebe614b")
         (revision "1"))
@@ -18614,6 +24111,15 @@ (define-public emacs-mu4e-jump-to-list
 automatically discovered and presented in recency order.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-mu4e-jump-to-list
+  (package-with-emacs-minimal emacs-mu4e-jump-to-list))
+
+(define-public emacs-next-mu4e-jump-to-list
+  (package-with-emacs-next emacs-mu4e-jump-to-list))
+
+(define-public emacs-pgtk-mu4e-jump-to-list
+  (package-with-emacs-pgtk emacs-mu4e-jump-to-list))
+
 (define-public emacs-url-scgi
   (package
     (name "emacs-url-scgi")
@@ -18633,6 +24139,15 @@ (define-public emacs-url-scgi
 which is shipped with Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-url-scgi
+  (package-with-emacs-minimal emacs-url-scgi))
+
+(define-public emacs-next-url-scgi
+  (package-with-emacs-next emacs-url-scgi))
+
+(define-public emacs-pgtk-url-scgi
+  (package-with-emacs-pgtk emacs-url-scgi))
+
 (define-public emacs-mentor
   (package
     (name "emacs-mentor")
@@ -18661,6 +24176,15 @@ (define-public emacs-mentor
 close to the vanilla rTorrent curses interface as possible.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-mentor
+  (package-with-emacs-minimal emacs-mentor))
+
+(define-public emacs-next-mentor
+  (package-with-emacs-next emacs-mentor))
+
+(define-public emacs-pgtk-mentor
+  (package-with-emacs-pgtk emacs-mentor))
+
 (define-public emacs-message-view-patch
   (let ((commit "40bc2e554fc1d0b6f0c403192c0a3ceaa019a78d")
         (revision "2"))
@@ -18686,6 +24210,15 @@ (define-public emacs-message-view-patch
 been adapted to also work with mu4e.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-message-view-patch
+  (package-with-emacs-minimal emacs-message-view-patch))
+
+(define-public emacs-next-message-view-patch
+  (package-with-emacs-next emacs-message-view-patch))
+
+(define-public emacs-pgtk-message-view-patch
+  (package-with-emacs-pgtk emacs-message-view-patch))
+
 (define-public emacs-mu4e-patch
   (deprecated-package "emacs-mu4e-patch" emacs-message-view-patch))
 
@@ -18710,6 +24243,15 @@ (define-public emacs-pretty-mode
      "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-pretty-mode
+  (package-with-emacs-minimal emacs-pretty-mode))
+
+(define-public emacs-next-pretty-mode
+  (package-with-emacs-next emacs-pretty-mode))
+
+(define-public emacs-pgtk-pretty-mode
+  (package-with-emacs-pgtk emacs-pretty-mode))
+
 (define-public emacs-tempel
   (package
     (name "emacs-tempel")
@@ -18733,6 +24275,15 @@ (define-public emacs-tempel
 the Emacs Tempo library.  You may also write your templates in Lisp.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-tempel
+  (package-with-emacs-minimal emacs-tempel))
+
+(define-public emacs-next-tempel
+  (package-with-emacs-next emacs-tempel))
+
+(define-public emacs-pgtk-tempel
+  (package-with-emacs-pgtk emacs-tempel))
+
 (define-public emacs-tempel-collection
   (let ((commit "4a1d717eb30a78680c8f4df2d71e395c846c5371")
         (revision "1"))
@@ -18756,6 +24307,15 @@ (define-public emacs-tempel-collection
 the Emacs TempEl package.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-tempel-collection
+  (package-with-emacs-minimal emacs-tempel-collection))
+
+(define-public emacs-next-tempel-collection
+  (package-with-emacs-next emacs-tempel-collection))
+
+(define-public emacs-pgtk-tempel-collection
+  (package-with-emacs-pgtk emacs-tempel-collection))
+
 (define-public emacs-yasnippet
   (let ((commit "297546f0853a6a51f5b05e954d0c6aea8caa5ec2")) ;version bump
     (package
@@ -18790,6 +24350,15 @@ (define-public emacs-yasnippet
 type an abbreviation and automatically expand it into function templates.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-yasnippet
+  (package-with-emacs-minimal emacs-yasnippet))
+
+(define-public emacs-next-yasnippet
+  (package-with-emacs-next emacs-yasnippet))
+
+(define-public emacs-pgtk-yasnippet
+  (package-with-emacs-pgtk emacs-yasnippet))
+
 (define-public emacs-yasnippet-snippets
   (package
     (name "emacs-yasnippet-snippets")
@@ -18821,6 +24390,15 @@ (define-public emacs-yasnippet-snippets
 automatically made available to YASnippet.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-yasnippet-snippets
+  (package-with-emacs-minimal emacs-yasnippet-snippets))
+
+(define-public emacs-next-yasnippet-snippets
+  (package-with-emacs-next emacs-yasnippet-snippets))
+
+(define-public emacs-pgtk-yasnippet-snippets
+  (package-with-emacs-pgtk emacs-yasnippet-snippets))
+
 (define-public emacs-doom-snippets
   ;; Use the latest commit, as there are no tagged releases.  Version is
   ;; extracted from main file.
@@ -18851,6 +24429,15 @@ (define-public emacs-doom-snippets
 exposes a small API to assist in writing your own snippets.")
       (license license:expat))))
 
+(define-public emacs-minimal-doom-snippets
+  (package-with-emacs-minimal emacs-doom-snippets))
+
+(define-public emacs-next-doom-snippets
+  (package-with-emacs-next emacs-doom-snippets))
+
+(define-public emacs-pgtk-doom-snippets
+  (package-with-emacs-pgtk emacs-doom-snippets))
+
 (define-public emacs-helm-c-yasnippet
   (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
         (revision "1"))
@@ -18876,6 +24463,15 @@ (define-public emacs-helm-c-yasnippet
 Yasnippet.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-helm-c-yasnippet
+  (package-with-emacs-minimal emacs-helm-c-yasnippet))
+
+(define-public emacs-next-helm-c-yasnippet
+  (package-with-emacs-next emacs-helm-c-yasnippet))
+
+(define-public emacs-pgtk-helm-c-yasnippet
+  (package-with-emacs-pgtk emacs-helm-c-yasnippet))
+
 (define-public emacs-helm-system-packages
   (package
     (name "emacs-helm-system-packages")
@@ -18914,6 +24510,15 @@ (define-public emacs-helm-system-packages
 above over the network.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-helm-system-packages
+  (package-with-emacs-minimal emacs-helm-system-packages))
+
+(define-public emacs-next-helm-system-packages
+  (package-with-emacs-next emacs-helm-system-packages))
+
+(define-public emacs-pgtk-helm-system-packages
+  (package-with-emacs-pgtk emacs-helm-system-packages))
+
 (define-public emacs-helm-org-rifle
   (package
     (name "emacs-helm-org-rifle")
@@ -18937,6 +24542,15 @@ (define-public emacs-helm-org-rifle
 in Org buffers and displays matching entries.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-helm-org-rifle
+  (package-with-emacs-minimal emacs-helm-org-rifle))
+
+(define-public emacs-next-helm-org-rifle
+  (package-with-emacs-next emacs-helm-org-rifle))
+
+(define-public emacs-pgtk-helm-org-rifle
+  (package-with-emacs-pgtk emacs-helm-org-rifle))
+
 (define-public emacs-dired-git-info
   ;; Upstream has no proper release.  The base version is extracted from the
   ;; "Version" keyword in the main file.
@@ -18962,6 +24576,15 @@ (define-public emacs-dired-git-info
 information inside the Dired buffer.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-dired-git-info
+  (package-with-emacs-minimal emacs-dired-git-info))
+
+(define-public emacs-next-dired-git-info
+  (package-with-emacs-next emacs-dired-git-info))
+
+(define-public emacs-pgtk-dired-git-info
+  (package-with-emacs-pgtk emacs-dired-git-info))
+
 (define-public emacs-diss
   (let ((commit "8a99a1b34de4575087da49fe1e19bcf33ac49f46")
         (revision "1"))
@@ -18985,6 +24608,15 @@ (define-public emacs-diss
 on Dired and image-mode.")
       (license (list license:gpl3+)))))
 
+(define-public emacs-minimal-diss
+  (package-with-emacs-minimal emacs-diss))
+
+(define-public emacs-next-diss
+  (package-with-emacs-next emacs-diss))
+
+(define-public emacs-pgtk-diss
+  (package-with-emacs-pgtk emacs-diss))
+
 (define-public emacs-dired-toggle-sudo
   (let ((commit "13bbe52c54893f5aa3e56228450ffdd0c9e1d169")
         (revision "0"))
@@ -19008,6 +24640,15 @@ (define-public emacs-dired-toggle-sudo
 @code{sudo} privileges.")
       (license license:wtfpl2))))
 
+(define-public emacs-minimal-dired-toggle-sudo
+  (package-with-emacs-minimal emacs-dired-toggle-sudo))
+
+(define-public emacs-next-dired-toggle-sudo
+  (package-with-emacs-next emacs-dired-toggle-sudo))
+
+(define-public emacs-pgtk-dired-toggle-sudo
+  (package-with-emacs-pgtk emacs-dired-toggle-sudo))
+
 (define-public emacs-diredfl
   (package
     (name "emacs-diredfl")
@@ -19030,6 +24671,15 @@ (define-public emacs-diredfl
 package.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-diredfl
+  (package-with-emacs-minimal emacs-diredfl))
+
+(define-public emacs-next-diredfl
+  (package-with-emacs-next emacs-diredfl))
+
+(define-public emacs-pgtk-diredfl
+  (package-with-emacs-pgtk emacs-diredfl))
+
 (define-public emacs-memoize
   (package
     (name "emacs-memoize")
@@ -19055,6 +24705,15 @@ (define-public emacs-memoize
 memoizing functions.")
     (license license:unlicense)))
 
+(define-public emacs-minimal-memoize
+  (package-with-emacs-minimal emacs-memoize))
+
+(define-public emacs-next-memoize
+  (package-with-emacs-next emacs-memoize))
+
+(define-public emacs-pgtk-memoize
+  (package-with-emacs-pgtk emacs-memoize))
+
 (define-public emacs-memory-usage
   (package
     (name "emacs-memory-usage")
@@ -19074,6 +24733,15 @@ (define-public emacs-memory-usage
 buffers and how much memory they use.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-memory-usage
+  (package-with-emacs-minimal emacs-memory-usage))
+
+(define-public emacs-next-memory-usage
+  (package-with-emacs-next emacs-memory-usage))
+
+(define-public emacs-pgtk-memory-usage
+  (package-with-emacs-pgtk emacs-memory-usage))
+
 (define-public emacs-linum-relative
   (package
     (name "emacs-linum-relative")
@@ -19094,6 +24762,15 @@ (define-public emacs-linum-relative
 number on the left margin in Emacs.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-linum-relative
+  (package-with-emacs-minimal emacs-linum-relative))
+
+(define-public emacs-next-linum-relative
+  (package-with-emacs-next emacs-linum-relative))
+
+(define-public emacs-pgtk-linum-relative
+  (package-with-emacs-pgtk emacs-linum-relative))
+
 (define-public emacs-lin
   (package
     (name "emacs-lin")
@@ -19130,6 +24807,15 @@ (define-public emacs-lin
     (license (list license:gpl3+
                    license:fdl1.3+)))) ; GFDLv1.3+ for the manual
 
+(define-public emacs-minimal-lin
+  (package-with-emacs-minimal emacs-lin))
+
+(define-public emacs-next-lin
+  (package-with-emacs-next emacs-lin))
+
+(define-public emacs-pgtk-lin
+  (package-with-emacs-pgtk emacs-lin))
+
 ;; Package has no releases or tags.  Version is extracted from "Version:"
 ;; keyword in main file.
 (define-public emacs-idle-highlight
@@ -19157,6 +24843,15 @@ (define-public emacs-idle-highlight
  the point.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-idle-highlight
+  (package-with-emacs-minimal emacs-idle-highlight))
+
+(define-public emacs-next-idle-highlight
+  (package-with-emacs-next emacs-idle-highlight))
+
+(define-public emacs-pgtk-idle-highlight
+  (package-with-emacs-pgtk emacs-idle-highlight))
+
 (define-public emacs-ox-twbs
   (package
     (name "emacs-ox-twbs")
@@ -19180,6 +24875,15 @@ (define-public emacs-ox-twbs
 jQuery and Bootstrap resources included via osscdn.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ox-twbs
+  (package-with-emacs-minimal emacs-ox-twbs))
+
+(define-public emacs-next-ox-twbs
+  (package-with-emacs-next emacs-ox-twbs))
+
+(define-public emacs-pgtk-ox-twbs
+  (package-with-emacs-pgtk emacs-ox-twbs))
+
 (define-public emacs-highlight-sexp
   (package
     (name "emacs-highlight-sexp")
@@ -19200,6 +24904,15 @@ (define-public emacs-highlight-sexp
      "This Emacs package highlights the s-exp at the current position.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-highlight-sexp
+  (package-with-emacs-minimal emacs-highlight-sexp))
+
+(define-public emacs-next-highlight-sexp
+  (package-with-emacs-next emacs-highlight-sexp))
+
+(define-public emacs-pgtk-highlight-sexp
+  (package-with-emacs-pgtk emacs-highlight-sexp))
+
 (define-public emacs-highlight-stages
   (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
         (revision "1"))
@@ -19225,6 +24938,15 @@ (define-public emacs-highlight-stages
 highlights quasi-quoted expressions.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-highlight-stages
+  (package-with-emacs-minimal emacs-highlight-stages))
+
+(define-public emacs-next-highlight-stages
+  (package-with-emacs-next emacs-highlight-stages))
+
+(define-public emacs-pgtk-highlight-stages
+  (package-with-emacs-pgtk emacs-highlight-stages))
+
 (define-public emacspeak
   (package
     (name "emacspeak")
@@ -19342,6 +25064,15 @@ (define-public emacs-adaptive-wrap
 actually changing the buffer's text.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-adaptive-wrap
+  (package-with-emacs-minimal emacs-adaptive-wrap))
+
+(define-public emacs-next-adaptive-wrap
+  (package-with-emacs-next emacs-adaptive-wrap))
+
+(define-public emacs-pgtk-adaptive-wrap
+  (package-with-emacs-pgtk emacs-adaptive-wrap))
+
 (define-public emacs-diff-hl
   (package
     (name "emacs-diff-hl")
@@ -19364,6 +25095,15 @@ (define-public emacs-diff-hl
 and revert them selectively.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-diff-hl
+  (package-with-emacs-minimal emacs-diff-hl))
+
+(define-public emacs-next-diff-hl
+  (package-with-emacs-next emacs-diff-hl))
+
+(define-public emacs-pgtk-diff-hl
+  (package-with-emacs-pgtk emacs-diff-hl))
+
 (define-public emacs-diminish
   ;; XXX: Upstream did not tag last release.
   (let ((commit "fd486ef76e4c1d8211ae337a43b8bba106d4bca7")
@@ -19387,6 +25127,15 @@ (define-public emacs-diminish
 abbreviation of the mode line displays (lighters) of minor modes.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-diminish
+  (package-with-emacs-minimal emacs-diminish))
+
+(define-public emacs-next-diminish
+  (package-with-emacs-next emacs-diminish))
+
+(define-public emacs-pgtk-diminish
+  (package-with-emacs-pgtk emacs-diminish))
+
 (define-public emacs-use-package
   ;; XXX: Upstream did not tag latest release.  Using commit matching exact
   ;; version bump.
@@ -19430,6 +25179,15 @@ (define-public emacs-use-package
 performance-oriented and tidy.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-use-package
+  (package-with-emacs-minimal emacs-use-package))
+
+(define-public emacs-next-use-package
+  (package-with-emacs-next emacs-use-package))
+
+(define-public emacs-pgtk-use-package
+  (package-with-emacs-pgtk emacs-use-package))
+
 (define-public emacs-leaf
   (package
     (name "emacs-leaf")
@@ -19451,6 +25209,15 @@ (define-public emacs-leaf
 and more predictable implementation.")
     (license license:agpl3+)))
 
+(define-public emacs-minimal-leaf
+  (package-with-emacs-minimal emacs-leaf))
+
+(define-public emacs-next-leaf
+  (package-with-emacs-next emacs-leaf))
+
+(define-public emacs-pgtk-leaf
+  (package-with-emacs-pgtk emacs-leaf))
+
 (define-public emacs-strace-mode
   (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
          (revision "1"))
@@ -19473,6 +25240,15 @@ (define-public emacs-strace-mode
  highlighting strace outputs.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-strace-mode
+  (package-with-emacs-minimal emacs-strace-mode))
+
+(define-public emacs-next-strace-mode
+  (package-with-emacs-next emacs-strace-mode))
+
+(define-public emacs-pgtk-strace-mode
+  (package-with-emacs-pgtk emacs-strace-mode))
+
 (define-public emacs-default-encrypt
   (package
     (name "emacs-default-encrypt")
@@ -19501,6 +25277,15 @@ (define-public emacs-default-encrypt
 source file, @file{jl-encrypt.el}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-default-encrypt
+  (package-with-emacs-minimal emacs-default-encrypt))
+
+(define-public emacs-next-default-encrypt
+  (package-with-emacs-next emacs-default-encrypt))
+
+(define-public emacs-pgtk-default-encrypt
+  (package-with-emacs-pgtk emacs-default-encrypt))
+
 ;; Package has no release.  Version is extracted from "Version:" keyword in
 ;; main file.
 (define-public emacs-exotica-theme
@@ -19526,6 +25311,15 @@ (define-public emacs-exotica-theme
 @code{Molokai} and @code{Dracula} themes.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-exotica-theme
+  (package-with-emacs-minimal emacs-exotica-theme))
+
+(define-public emacs-next-exotica-theme
+  (package-with-emacs-next emacs-exotica-theme))
+
+(define-public emacs-pgtk-exotica-theme
+  (package-with-emacs-pgtk emacs-exotica-theme))
+
 (define-public emacs-extend-smime
   (package
     (name "emacs-extend-smime")
@@ -19561,6 +25355,15 @@ (define-public emacs-extend-smime
 @file{jl-smime.el}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-extend-smime
+  (package-with-emacs-minimal emacs-extend-smime))
+
+(define-public emacs-next-extend-smime
+  (package-with-emacs-next emacs-extend-smime))
+
+(define-public emacs-pgtk-extend-smime
+  (package-with-emacs-pgtk emacs-extend-smime))
+
 (define-public emacs-htmlize
   (package
     (name "emacs-htmlize")
@@ -19582,6 +25385,15 @@ (define-public emacs-htmlize
 fonts is supported.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-htmlize
+  (package-with-emacs-minimal emacs-htmlize))
+
+(define-public emacs-next-htmlize
+  (package-with-emacs-next emacs-htmlize))
+
+(define-public emacs-pgtk-htmlize
+  (package-with-emacs-pgtk emacs-htmlize))
+
 (define-public emacs-xmlgen
   (package
     (name "emacs-xmlgen")
@@ -19608,6 +25420,15 @@ (define-public emacs-xmlgen
 conversion for Emacs Lisp.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-xmlgen
+  (package-with-emacs-minimal emacs-xmlgen))
+
+(define-public emacs-next-xmlgen
+  (package-with-emacs-next emacs-xmlgen))
+
+(define-public emacs-pgtk-xmlgen
+  (package-with-emacs-pgtk emacs-xmlgen))
+
 (define-public emacs-cdlatex
   (package
     (name "emacs-cdlatex")
@@ -19634,6 +25455,15 @@ (define-public emacs-cdlatex
 constructs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-cdlatex
+  (package-with-emacs-minimal emacs-cdlatex))
+
+(define-public emacs-next-cdlatex
+  (package-with-emacs-next emacs-cdlatex))
+
+(define-public emacs-pgtk-cdlatex
+  (package-with-emacs-pgtk emacs-cdlatex))
+
 (define-public emacs-cnfonts
   (package
     (name "emacs-cnfonts")
@@ -19654,6 +25484,15 @@ (define-public emacs-cnfonts
 configuration of Chinese fonts.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-cnfonts
+  (package-with-emacs-minimal emacs-cnfonts))
+
+(define-public emacs-next-cnfonts
+  (package-with-emacs-next emacs-cnfonts))
+
+(define-public emacs-pgtk-cnfonts
+  (package-with-emacs-pgtk emacs-cnfonts))
+
 (define-public emacs-cal-china-x
   (let ((revision "0")
         (commit  "94005e678a1d2522b7a00299779f40c5c77286b8"))
@@ -19686,6 +25525,15 @@ (define-public emacs-cal-china-x
 @end itemize")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-cal-china-x
+  (package-with-emacs-minimal emacs-cal-china-x))
+
+(define-public emacs-next-cal-china-x
+  (package-with-emacs-next emacs-cal-china-x))
+
+(define-public emacs-pgtk-cal-china-x
+  (package-with-emacs-pgtk emacs-cal-china-x))
+
 (define-public emacs-boon
   (package
     (name "emacs-boon")
@@ -19712,6 +25560,15 @@ (define-public emacs-boon
 reached with the right hand.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-boon
+  (package-with-emacs-minimal emacs-boon))
+
+(define-public emacs-next-boon
+  (package-with-emacs-next emacs-boon))
+
+(define-public emacs-pgtk-boon
+  (package-with-emacs-pgtk emacs-boon))
+
 (define-public emacs-cc-mode
   (package
    (name "emacs-cc-mode")
@@ -19745,6 +25602,15 @@ (define-public emacs-cc-mode
 similar syntax; currently C++, Objective-C, Java, CORBA's IDL, Pike, and AWK.")
    (license license:gpl3+)))
 
+(define-public emacs-minimal-cc-mode
+  (package-with-emacs-minimal emacs-cc-mode))
+
+(define-public emacs-next-cc-mode
+  (package-with-emacs-next emacs-cc-mode))
+
+(define-public emacs-pgtk-cc-mode
+  (package-with-emacs-pgtk emacs-cc-mode))
+
 (define-public emacs-csharp-mode
   (package
     (name "emacs-csharp-mode")
@@ -19768,6 +25634,15 @@ (define-public emacs-csharp-mode
 using Imenu, and Compilation mode support for MSBuild, devenv and xbuild.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-csharp-mode
+  (package-with-emacs-minimal emacs-csharp-mode))
+
+(define-public emacs-next-csharp-mode
+  (package-with-emacs-next emacs-csharp-mode))
+
+(define-public emacs-pgtk-csharp-mode
+  (package-with-emacs-pgtk emacs-csharp-mode))
+
 (define-public emacs-vala-mode
   ;; Upstream has no tagged release.
   (let ((commit "d696a8177e94c81ea557ad364a3b3dcc3abbc50f")
@@ -19815,6 +25690,15 @@ (define-public emacs-vala-mode
 in Emacs.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-vala-mode
+  (package-with-emacs-minimal emacs-vala-mode))
+
+(define-public emacs-next-vala-mode
+  (package-with-emacs-next emacs-vala-mode))
+
+(define-public emacs-pgtk-vala-mode
+  (package-with-emacs-pgtk emacs-vala-mode))
+
 (define-public emacs-php-mode
   (package
     (name "emacs-php-mode")
@@ -19856,6 +25740,15 @@ (define-public emacs-php-mode
 documentation search and a source and class browser.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-php-mode
+  (package-with-emacs-minimal emacs-php-mode))
+
+(define-public emacs-next-php-mode
+  (package-with-emacs-next emacs-php-mode))
+
+(define-public emacs-pgtk-php-mode
+  (package-with-emacs-pgtk emacs-php-mode))
+
 (define-public emacs-pippel
   (let ((commit "cb194952ee150e77601d3233dabdb521b976ee79")
         (revision "0"))
@@ -19898,6 +25791,15 @@ (define-public emacs-pippel
 @code{package-list-packages}.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-pippel
+  (package-with-emacs-minimal emacs-pippel))
+
+(define-public emacs-next-pippel
+  (package-with-emacs-next emacs-pippel))
+
+(define-public emacs-pgtk-pippel
+  (package-with-emacs-pgtk emacs-pippel))
+
 (define-public emacs-pos-tip
   (package
     (name "emacs-pos-tip")
@@ -19912,10 +25814,6 @@ (define-public emacs-pos-tip
        (sha256
         (base32 "1k6r59jhbyiknhsl7df0zafyc4d9r3vk953x6sdxgz92kx6hxpfy"))))
     (build-system emacs-build-system)
-    ;; The following functions and variables needed by emacs-pos-tip are
-    ;; not included in emacs-minimal:
-    ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
-    (arguments `(#:emacs ,emacs))
     (home-page "https://github.com/pitkali/pos-tip")
     (synopsis "Show tooltip at point")
     (description "The standard library tooltip.el provides a function for
@@ -19924,6 +25822,15 @@ (define-public emacs-pos-tip
 function to be used by other frontend programs.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-pos-tip
+  (package-with-emacs-minimal emacs-pos-tip))
+
+(define-public emacs-next-pos-tip
+  (package-with-emacs-next emacs-pos-tip))
+
+(define-public emacs-pgtk-pos-tip
+  (package-with-emacs-pgtk emacs-pos-tip))
+
 (define-public emacs-pyim-basedict
   ;; XXX: The commit below points to the lastest (un-tagged) release.
   (let ((commit "d61af27686f7a39e6c138b7261a686e7ea7a0ef7"))
@@ -19951,6 +25858,15 @@ (define-public emacs-pyim-basedict
 containing words from the Rime project.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-pyim-basedict
+  (package-with-emacs-minimal emacs-pyim-basedict))
+
+(define-public emacs-next-pyim-basedict
+  (package-with-emacs-next emacs-pyim-basedict))
+
+(define-public emacs-pgtk-pyim-basedict
+  (package-with-emacs-pgtk emacs-pyim-basedict))
+
 (define-public emacs-pyim
   (package
     (name "emacs-pyim")
@@ -19971,6 +25887,15 @@ (define-public emacs-pyim
 shuangpin, wubi and cangjie.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-pyim
+  (package-with-emacs-minimal emacs-pyim))
+
+(define-public emacs-next-pyim
+  (package-with-emacs-next emacs-pyim))
+
+(define-public emacs-pgtk-pyim
+  (package-with-emacs-pgtk emacs-pyim))
+
 (define-public emacs-pinyinlib
   (package
     (name "emacs-pinyinlib")
@@ -19993,6 +25918,15 @@ (define-public emacs-pinyinlib
 letter of Pinyin to Simplified/Traditional Chinese characters.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-pinyinlib
+  (package-with-emacs-minimal emacs-pinyinlib))
+
+(define-public emacs-next-pinyinlib
+  (package-with-emacs-next emacs-pinyinlib))
+
+(define-public emacs-pgtk-pinyinlib
+  (package-with-emacs-pgtk emacs-pinyinlib))
+
 (define-public emacs-reverse-im
   (package
     (name "emacs-reverse-im")
@@ -20014,6 +25948,15 @@ (define-public emacs-reverse-im
 methods from a given list.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-reverse-im
+  (package-with-emacs-minimal emacs-reverse-im))
+
+(define-public emacs-next-reverse-im
+  (package-with-emacs-next emacs-reverse-im))
+
+(define-public emacs-pgtk-reverse-im
+  (package-with-emacs-pgtk emacs-reverse-im))
+
 (define-public emacs-cyrillic-dvorak-im
   (package
     (name "emacs-cyrillic-dvorak-im")
@@ -20033,6 +25976,15 @@ (define-public emacs-cyrillic-dvorak-im
     (description "Cyrillic input method for dvorak layout.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-cyrillic-dvorak-im
+  (package-with-emacs-minimal emacs-cyrillic-dvorak-im))
+
+(define-public emacs-next-cyrillic-dvorak-im
+  (package-with-emacs-next emacs-cyrillic-dvorak-im))
+
+(define-public emacs-pgtk-cyrillic-dvorak-im
+  (package-with-emacs-pgtk emacs-cyrillic-dvorak-im))
+
 (define-public emacs-mini-echo
   (package
     (name "emacs-mini-echo")
@@ -20053,6 +26005,15 @@ (define-public emacs-mini-echo
 so you can get rid of the mode-line.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-mini-echo
+  (package-with-emacs-minimal emacs-mini-echo))
+
+(define-public emacs-next-mini-echo
+  (package-with-emacs-next emacs-mini-echo))
+
+(define-public emacs-pgtk-mini-echo
+  (package-with-emacs-pgtk emacs-mini-echo))
+
 (define-public emacs-mini-frame
   (let ((commit "60838f3cab438dcbda8eaa15ab3e5d1af88910e9")
         (revision "0"))
@@ -20078,6 +26039,15 @@ (define-public emacs-mini-frame
 the center of the screen and not at the bottom.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-mini-frame
+  (package-with-emacs-minimal emacs-mini-frame))
+
+(define-public emacs-next-mini-frame
+  (package-with-emacs-next emacs-mini-frame))
+
+(define-public emacs-pgtk-mini-frame
+  (package-with-emacs-pgtk emacs-mini-frame))
+
 (define-public emacs-posframe
   (package
     (name "emacs-posframe")
@@ -20090,9 +26060,6 @@ (define-public emacs-posframe
        (sha256
         (base32 "1kw37dhyd6qxj0h2qpzi539jrgc0pj90psf2k58z4jc9199bgsax"))))
     (build-system emacs-build-system)
-    ;; emacs-minimal does not include the function font-info.
-    (arguments
-     `(#:emacs ,emacs))
     (home-page "https://github.com/tumashu/posframe")
     (synopsis "Pop a posframe (a child frame) at point")
     (description
@@ -20101,6 +26068,15 @@ (define-public emacs-posframe
 with CJK languages.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-posframe
+  (package-with-emacs-minimal emacs-posframe))
+
+(define-public emacs-next-posframe
+  (package-with-emacs-next emacs-posframe))
+
+(define-public emacs-pgtk-posframe
+  (package-with-emacs-pgtk emacs-posframe))
+
 (define-public emacs-el2org
   (package
     (name "emacs-el2org")
@@ -20121,6 +26097,15 @@ (define-public emacs-el2org
 to org file, you can use this tool to write orgify commentary.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-el2org
+  (package-with-emacs-minimal emacs-el2org))
+
+(define-public emacs-next-el2org
+  (package-with-emacs-next emacs-el2org))
+
+(define-public emacs-pgtk-el2org
+  (package-with-emacs-pgtk emacs-el2org))
+
 (define-public emacs-muse
   (package
     (name "emacs-muse")
@@ -20141,6 +26126,15 @@ (define-public emacs-muse
 publishing them to various output formats such as HTML, LaTeX, or PDF.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-muse
+  (package-with-emacs-minimal emacs-muse))
+
+(define-public emacs-next-muse
+  (package-with-emacs-next emacs-muse))
+
+(define-public emacs-pgtk-muse
+  (package-with-emacs-pgtk emacs-muse))
+
 (define-public emacs-mustache
   (package
     (name "emacs-mustache")
@@ -20166,6 +26160,15 @@ (define-public emacs-mustache
 and lambdas.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-mustache
+  (package-with-emacs-minimal emacs-mustache))
+
+(define-public emacs-next-mustache
+  (package-with-emacs-next emacs-mustache))
+
+(define-public emacs-pgtk-mustache
+  (package-with-emacs-pgtk emacs-mustache))
+
 (define-public emacs-org2web
   (package
     (name "emacs-org2web")
@@ -20203,6 +26206,15 @@ (define-public emacs-org2web
 code derived from Kelvin H's Org page.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-org2web
+  (package-with-emacs-minimal emacs-org2web))
+
+(define-public emacs-next-org2web
+  (package-with-emacs-next emacs-org2web))
+
+(define-public emacs-pgtk-org2web
+  (package-with-emacs-pgtk emacs-org2web))
+
 (define-public emacs-meow
   (package
     (name "emacs-meow")
@@ -20225,6 +26237,15 @@ (define-public emacs-meow
 conflicts.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-meow
+  (package-with-emacs-minimal emacs-meow))
+
+(define-public emacs-next-meow
+  (package-with-emacs-next emacs-meow))
+
+(define-public emacs-pgtk-meow
+  (package-with-emacs-pgtk emacs-meow))
+
 (define-public emacs-xelb
   (package
     (name "emacs-xelb")
@@ -20379,6 +26400,15 @@ (define-public emacs-switch-window
 other operations.")
     (license license:wtfpl2)))
 
+(define-public emacs-minimal-switch-window
+  (package-with-emacs-minimal emacs-switch-window))
+
+(define-public emacs-next-switch-window
+  (package-with-emacs-next emacs-switch-window))
+
+(define-public emacs-pgtk-switch-window
+  (package-with-emacs-pgtk emacs-switch-window))
+
 (define-public emacs-exwm-x
   (package
     (name "emacs-exwm-x")
@@ -20482,6 +26512,15 @@ (define-public emacs-gnugo
 gnugo-image-display-mode}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-gnugo
+  (package-with-emacs-minimal emacs-gnugo))
+
+(define-public emacs-next-gnugo
+  (package-with-emacs-next emacs-gnugo))
+
+(define-public emacs-pgtk-gnugo
+  (package-with-emacs-pgtk emacs-gnugo))
+
 (define-public emacs-gnuplot
   (package
     (name "emacs-gnuplot")
@@ -20502,6 +26541,15 @@ (define-public emacs-gnuplot
      "Emacs Gnuplot is an Emacs major mode for interacting with Gnuplot.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-gnuplot
+  (package-with-emacs-minimal emacs-gnuplot))
+
+(define-public emacs-next-gnuplot
+  (package-with-emacs-next emacs-gnuplot))
+
+(define-public emacs-pgtk-gnuplot
+  (package-with-emacs-pgtk emacs-gnuplot))
+
 (define-public emacs-transpose-frame
   (package
     (name "emacs-transpose-frame")
@@ -20523,6 +26571,15 @@ (define-public emacs-transpose-frame
 selected frame.")
     (license license:bsd-2)))
 
+(define-public emacs-minimal-transpose-frame
+  (package-with-emacs-minimal emacs-transpose-frame))
+
+(define-public emacs-next-transpose-frame
+  (package-with-emacs-next emacs-transpose-frame))
+
+(define-public emacs-pgtk-transpose-frame
+  (package-with-emacs-pgtk emacs-transpose-frame))
+
 (define-public emacs-transpose-mark
   ;; XXX: Upstream made no release so far, and did not add a Version keyword.
   (let ((commit "667327602004794de97214cf336ac61650ef75b7")
@@ -20548,6 +26605,15 @@ (define-public emacs-transpose-mark
 a point.  The plugin provides visual feedback for marked regions.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-transpose-mark
+  (package-with-emacs-minimal emacs-transpose-mark))
+
+(define-public emacs-next-transpose-mark
+  (package-with-emacs-next emacs-transpose-mark))
+
+(define-public emacs-pgtk-transpose-mark
+  (package-with-emacs-pgtk emacs-transpose-mark))
+
 (define-public emacs-key-chord
   (package
     (name "emacs-key-chord")
@@ -20570,6 +26636,15 @@ (define-public emacs-key-chord
 pressed simultaneously or a single key quickly pressed twice.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-key-chord
+  (package-with-emacs-minimal emacs-key-chord))
+
+(define-public emacs-next-key-chord
+  (package-with-emacs-next emacs-key-chord))
+
+(define-public emacs-pgtk-key-chord
+  (package-with-emacs-pgtk emacs-key-chord))
+
 (define-public emacs-evil-surround
   (package
     (name "emacs-evil-surround")
@@ -20595,6 +26670,15 @@ (define-public emacs-evil-surround
 addition of surrounding pairs, such as parentheses and quotes, in evil mode.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-evil-surround
+  (package-with-emacs-minimal emacs-evil-surround))
+
+(define-public emacs-next-evil-surround
+  (package-with-emacs-next emacs-evil-surround))
+
+(define-public emacs-pgtk-evil-surround
+  (package-with-emacs-pgtk emacs-evil-surround))
+
 (define-public emacs-evil-commentary
   (package
     (name "emacs-evil-commentary")
@@ -20618,6 +26702,15 @@ (define-public emacs-evil-commentary
 lines, and @code{gc} to comment out the target of a motion.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-evil-commentary
+  (package-with-emacs-minimal emacs-evil-commentary))
+
+(define-public emacs-next-evil-commentary
+  (package-with-emacs-next emacs-evil-commentary))
+
+(define-public emacs-pgtk-evil-commentary
+  (package-with-emacs-pgtk emacs-evil-commentary))
+
 ;; Tests for emacs-ansi have a circular dependency with ert-runner, and
 ;; therefore cannot be run
 (define-public emacs-ansi
@@ -20644,6 +26737,15 @@ (define-public emacs-ansi
 as bold, underscore or italic.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ansi
+  (package-with-emacs-minimal emacs-ansi))
+
+(define-public emacs-next-ansi
+  (package-with-emacs-next emacs-ansi))
+
+(define-public emacs-pgtk-ansi
+  (package-with-emacs-pgtk emacs-ansi))
+
 ;; Tests for emacs-commander have a circular dependency with ert-runner, and
 ;; therefore cannot be run
 (define-public emacs-commander
@@ -20668,6 +26770,15 @@ (define-public emacs-commander
 Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-commander
+  (package-with-emacs-minimal emacs-commander))
+
+(define-public emacs-next-commander
+  (package-with-emacs-next emacs-commander))
+
+(define-public emacs-pgtk-commander
+  (package-with-emacs-pgtk emacs-commander))
+
 (define-public emacs-eglot
   (package
     (name "emacs-eglot")
@@ -20697,6 +26808,15 @@ (define-public emacs-eglot
 one if it fails.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-eglot
+  (package-with-emacs-minimal emacs-eglot))
+
+(define-public emacs-next-eglot
+  (package-with-emacs-next emacs-eglot))
+
+(define-public emacs-pgtk-eglot
+  (package-with-emacs-pgtk emacs-eglot))
+
 (define-public emacs-eglot-x
   ;; Not tagged.
   (let ((commit "a09ab28cf01d7cbb223ad83fbbb694c5158c96b8"))
@@ -20721,6 +26841,15 @@ (define-public emacs-eglot-x
 ")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-eglot-x
+  (package-with-emacs-minimal emacs-eglot-x))
+
+(define-public emacs-next-eglot-x
+  (package-with-emacs-next emacs-eglot-x))
+
+(define-public emacs-pgtk-eglot-x
+  (package-with-emacs-pgtk emacs-eglot-x))
+
 (define-public emacs-jabber
   ;; No releases available.
   (let ((commit "e766d84b81d5df6abc30fcbbb94f7c8640ea54e2")
@@ -20758,6 +26887,15 @@ (define-public emacs-jabber
 more information.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-jabber
+  (package-with-emacs-minimal emacs-jabber))
+
+(define-public emacs-next-jabber
+  (package-with-emacs-next emacs-jabber))
+
+(define-public emacs-pgtk-jabber
+  (package-with-emacs-pgtk emacs-jabber))
+
 (define-public emacs-jarchive
   (package
     (name "emacs-jarchive")
@@ -20778,6 +26916,15 @@ (define-public emacs-jarchive
  source inside JARs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-jarchive
+  (package-with-emacs-minimal emacs-jarchive))
+
+(define-public emacs-next-jarchive
+  (package-with-emacs-next emacs-jarchive))
+
+(define-public emacs-pgtk-jarchive
+  (package-with-emacs-pgtk emacs-jarchive))
+
 (define-public emacs-eldoc
   (package
     (name "emacs-eldoc")
@@ -20802,6 +26949,15 @@ (define-public emacs-eldoc
 variable instead, to remind you of that variable's meaning.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-eldoc
+  (package-with-emacs-minimal emacs-eldoc))
+
+(define-public emacs-next-eldoc
+  (package-with-emacs-next emacs-eldoc))
+
+(define-public emacs-pgtk-eldoc
+  (package-with-emacs-pgtk emacs-eldoc))
+
 (define-public emacs-eldoc-box
   (package
     (name "emacs-eldoc-box")
@@ -20824,6 +26980,15 @@ (define-public emacs-eldoc-box
 hidden.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-eldoc-box
+  (package-with-emacs-minimal emacs-eldoc-box))
+
+(define-public emacs-next-eldoc-box
+  (package-with-emacs-next emacs-eldoc-box))
+
+(define-public emacs-pgtk-eldoc-box
+  (package-with-emacs-pgtk emacs-eldoc-box))
+
 ;; Tests for ert-runner have a circular dependency with ecukes, and therefore
 ;; cannot be run
 (define-public emacs-ert-runner
@@ -20875,6 +27040,15 @@ (define-public emacs-ert-runner
 running tests easier.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ert-runner
+  (package-with-emacs-minimal emacs-ert-runner))
+
+(define-public emacs-next-ert-runner
+  (package-with-emacs-next emacs-ert-runner))
+
+(define-public emacs-pgtk-ert-runner
+  (package-with-emacs-pgtk emacs-ert-runner))
+
 (define-public emacs-xtest
   (package
     (name "emacs-xtest")
@@ -20896,6 +27070,15 @@ (define-public emacs-xtest
     (description "This package provides a simple testing library for Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-xtest
+  (package-with-emacs-minimal emacs-xtest))
+
+(define-public emacs-next-xtest
+  (package-with-emacs-next emacs-xtest))
+
+(define-public emacs-pgtk-xtest
+  (package-with-emacs-pgtk emacs-xtest))
+
 (define-public emacs-org-transclusion
   (let ((commit "e6e638710e90198070c9b07ebdaa345a79f74706")) ;version bump
     (package
@@ -20928,6 +27111,15 @@ (define-public emacs-org-transclusion
 transcluded copies, leaving only the links to the original content.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-transclusion
+  (package-with-emacs-minimal emacs-org-transclusion))
+
+(define-public emacs-next-org-transclusion
+  (package-with-emacs-next emacs-org-transclusion))
+
+(define-public emacs-pgtk-org-transclusion
+  (package-with-emacs-pgtk emacs-org-transclusion))
+
 (define-public emacs-disable-mouse
   (package
     (name "emacs-disable-mouse")
@@ -20950,6 +27142,15 @@ (define-public emacs-disable-mouse
 running a customisable handler command (@code{ignore} by default).")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-disable-mouse
+  (package-with-emacs-minimal emacs-disable-mouse))
+
+(define-public emacs-next-disable-mouse
+  (package-with-emacs-next emacs-disable-mouse))
+
+(define-public emacs-pgtk-disable-mouse
+  (package-with-emacs-pgtk emacs-disable-mouse))
+
 (define-public emacs-json-reformat
   (package
     (name "emacs-json-reformat")
@@ -21001,6 +27202,15 @@ (define-public emacs-json-reformat
 @url{http://json.org/, JSON}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-json-reformat
+  (package-with-emacs-minimal emacs-json-reformat))
+
+(define-public emacs-next-json-reformat
+  (package-with-emacs-next emacs-json-reformat))
+
+(define-public emacs-pgtk-json-reformat
+  (package-with-emacs-pgtk emacs-json-reformat))
+
 (define-public emacs-json-snatcher
   (package
     (name "emacs-json-snatcher")
@@ -21021,6 +27231,15 @@ (define-public emacs-json-snatcher
 a @url{http://json.org/, JSON} file.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-json-snatcher
+  (package-with-emacs-minimal emacs-json-snatcher))
+
+(define-public emacs-next-json-snatcher
+  (package-with-emacs-next emacs-json-snatcher))
+
+(define-public emacs-pgtk-json-snatcher
+  (package-with-emacs-pgtk emacs-json-snatcher))
+
 (define-public emacs-json-mode
   (package
     (name "emacs-json-mode")
@@ -21043,6 +27262,15 @@ (define-public emacs-json-mode
 highlighting.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-json-mode
+  (package-with-emacs-minimal emacs-json-mode))
+
+(define-public emacs-next-json-mode
+  (package-with-emacs-next emacs-json-mode))
+
+(define-public emacs-pgtk-json-mode
+  (package-with-emacs-pgtk emacs-json-mode))
+
 (define-public emacs-jsonrpc
   ;; Commit refers to a commit in the Emacs repository, as jsonrpc.el was
   ;; upstreamed.  By convention, it should refer to a commit in which
@@ -21081,6 +27309,15 @@ (define-public emacs-jsonrpc
 JSON objects.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-jsonrpc
+  (package-with-emacs-minimal emacs-jsonrpc))
+
+(define-public emacs-next-jsonrpc
+  (package-with-emacs-next emacs-jsonrpc))
+
+(define-public emacs-pgtk-jsonrpc
+  (package-with-emacs-pgtk emacs-jsonrpc))
+
 (define-public emacs-jsonnet-mode
   (package
     (name "emacs-jsonnet-mode")
@@ -21104,6 +27341,15 @@ (define-public emacs-jsonnet-mode
 formatting, and utility methods for jsonnet files.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-jsonnet-mode
+  (package-with-emacs-minimal emacs-jsonnet-mode))
+
+(define-public emacs-next-jsonnet-mode
+  (package-with-emacs-next emacs-jsonnet-mode))
+
+(define-public emacs-pgtk-jsonnet-mode
+  (package-with-emacs-pgtk emacs-jsonnet-mode))
+
 (define-public emacs-restclient
   (let ((commit "1fb570643b08ba66eb70831b6f874f52546917f1")
         (version "0")
@@ -21132,6 +27378,15 @@ (define-public emacs-restclient
 displays results pretty-printed in XML or JSON with @code{restclient-mode}")
       (license license:public-domain))))
 
+(define-public emacs-minimal-restclient
+  (package-with-emacs-minimal emacs-restclient))
+
+(define-public emacs-next-restclient
+  (package-with-emacs-next emacs-restclient))
+
+(define-public emacs-pgtk-restclient
+  (package-with-emacs-pgtk emacs-restclient))
+
 (define-public emacs-jq-mode
   (package
     (name "emacs-jq-mode")
@@ -21152,6 +27407,15 @@ (define-public emacs-jq-mode
      "Jq mode is an Emacs major mode for editing jq-scripts.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-jq-mode
+  (package-with-emacs-minimal emacs-jq-mode))
+
+(define-public emacs-next-jq-mode
+  (package-with-emacs-next emacs-jq-mode))
+
+(define-public emacs-pgtk-jq-mode
+  (package-with-emacs-pgtk emacs-jq-mode))
+
 (define-public emacs-whitespace-cleanup-mode
   (let ((commit "72427144b054b0238a86e1348c45d986b8830d9d")
         (revision "1"))
@@ -21176,6 +27440,15 @@ (define-public emacs-whitespace-cleanup-mode
 whitespace in the buffer was initially clean.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-whitespace-cleanup-mode
+  (package-with-emacs-minimal emacs-whitespace-cleanup-mode))
+
+(define-public emacs-next-whitespace-cleanup-mode
+  (package-with-emacs-next emacs-whitespace-cleanup-mode))
+
+(define-public emacs-pgtk-whitespace-cleanup-mode
+  (package-with-emacs-pgtk emacs-whitespace-cleanup-mode))
+
 (define-public emacs-eimp
   (let ((version "1.4.0")
         (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
@@ -21215,6 +27488,15 @@ (define-public emacs-eimp
 the actual transformations.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-eimp
+  (package-with-emacs-minimal emacs-eimp))
+
+(define-public emacs-next-eimp
+  (package-with-emacs-next emacs-eimp))
+
+(define-public emacs-pgtk-eimp
+  (package-with-emacs-pgtk emacs-eimp))
+
 (define-public emacs-dired-hacks
   (let ((commit "d1a2bda6aa8f890cb367297ed93aee6d3b5ba388")
         (revision "3"))
@@ -21256,6 +27538,15 @@ (define-public emacs-dired-hacks
 @end itemize\n")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-dired-hacks
+  (package-with-emacs-minimal emacs-dired-hacks))
+
+(define-public emacs-next-dired-hacks
+  (package-with-emacs-next emacs-dired-hacks))
+
+(define-public emacs-pgtk-dired-hacks
+  (package-with-emacs-pgtk emacs-dired-hacks))
+
 (define-public emacs-dired-sidebar
   (package
     (name "emacs-dired-sidebar")
@@ -21279,6 +27570,15 @@ (define-public emacs-dired-sidebar
 or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-dired-sidebar
+  (package-with-emacs-minimal emacs-dired-sidebar))
+
+(define-public emacs-next-dired-sidebar
+  (package-with-emacs-next emacs-dired-sidebar))
+
+(define-public emacs-pgtk-dired-sidebar
+  (package-with-emacs-pgtk emacs-dired-sidebar))
+
 (define-public emacs-dirvish
   (package
     (name "emacs-dirvish")
@@ -21314,6 +27614,15 @@ (define-public emacs-dirvish
 as a modern file manager.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-dirvish
+  (package-with-emacs-minimal emacs-dirvish))
+
+(define-public emacs-next-dirvish
+  (package-with-emacs-next emacs-dirvish))
+
+(define-public emacs-pgtk-dirvish
+  (package-with-emacs-pgtk emacs-dirvish))
+
 (define-public emacs-which-key
   (package
     (name "emacs-which-key")
@@ -21337,6 +27646,15 @@ (define-public emacs-which-key
 settings).")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-which-key
+  (package-with-emacs-minimal emacs-which-key))
+
+(define-public emacs-next-which-key
+  (package-with-emacs-next emacs-which-key))
+
+(define-public emacs-pgtk-which-key
+  (package-with-emacs-pgtk emacs-which-key))
+
 ;; Tagged release upstream is from before the package was orphaned.
 ;; The base version is extracted from the "Version" keyword in the main file
 ;; with "-git" suffix removed.
@@ -21365,6 +27683,15 @@ (define-public emacs-which-key-posframe
 (a child frame) to show @code{which-key} popups.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-which-key-posframe
+  (package-with-emacs-minimal emacs-which-key-posframe))
+
+(define-public emacs-next-which-key-posframe
+  (package-with-emacs-next emacs-which-key-posframe))
+
+(define-public emacs-pgtk-which-key-posframe
+  (package-with-emacs-pgtk emacs-which-key-posframe))
+
 (define-public emacs-display-wttr
   (package
     (name "emacs-display-wttr")
@@ -21391,6 +27718,15 @@ (define-public emacs-display-wttr
 @uref{https://wttr.in} and then displays it on the mode line.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-display-wttr
+  (package-with-emacs-minimal emacs-display-wttr))
+
+(define-public emacs-next-display-wttr
+  (package-with-emacs-next emacs-display-wttr))
+
+(define-public emacs-pgtk-display-wttr
+  (package-with-emacs-pgtk emacs-display-wttr))
+
 (define-public emacs-free-keys
   (package
     (name "emacs-free-keys")
@@ -21412,6 +27748,15 @@ (define-public emacs-free-keys
      "Free-keys shows available key bindings in the current Emacs buffer.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-free-keys
+  (package-with-emacs-minimal emacs-free-keys))
+
+(define-public emacs-next-free-keys
+  (package-with-emacs-next emacs-free-keys))
+
+(define-public emacs-pgtk-free-keys
+  (package-with-emacs-pgtk emacs-free-keys))
+
 (define-public emacs-hercules
   (package
     (name "emacs-hercules")
@@ -21436,6 +27781,15 @@ (define-public emacs-hercules
 of commands is displayed in a handy popup.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-hercules
+  (package-with-emacs-minimal emacs-hercules))
+
+(define-public emacs-next-hercules
+  (package-with-emacs-next emacs-hercules))
+
+(define-public emacs-pgtk-hercules
+  (package-with-emacs-pgtk emacs-hercules))
+
 (define-public emacs-ws-butler
   (package
     (name "emacs-ws-butler")
@@ -21462,6 +27816,15 @@ (define-public emacs-ws-butler
 characters from end of lines.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ws-butler
+  (package-with-emacs-minimal emacs-ws-butler))
+
+(define-public emacs-next-ws-butler
+  (package-with-emacs-next emacs-ws-butler))
+
+(define-public emacs-pgtk-ws-butler
+  (package-with-emacs-pgtk emacs-ws-butler))
+
 (define-public emacs-opencl-mode
   ;; Upstream never makes any formal releases, there is only v1.0.
   ;; Use the latest commit instead.
@@ -21486,6 +27849,15 @@ (define-public emacs-opencl-mode
       (home-page "https://github.com/salmanebah/opencl-mode")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-opencl-mode
+  (package-with-emacs-minimal emacs-opencl-mode))
+
+(define-public emacs-next-opencl-mode
+  (package-with-emacs-next emacs-opencl-mode))
+
+(define-public emacs-pgtk-opencl-mode
+  (package-with-emacs-pgtk emacs-opencl-mode))
+
 (define-public emacs-openwith
   ;; There is no release tag. Version is extracted from main file.
   (let ((version "20120531")
@@ -21514,6 +27886,15 @@ (define-public emacs-openwith
 when browsing files with Dired.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-openwith
+  (package-with-emacs-minimal emacs-openwith))
+
+(define-public emacs-next-openwith
+  (package-with-emacs-next emacs-openwith))
+
+(define-public emacs-pgtk-openwith
+  (package-with-emacs-pgtk emacs-openwith))
+
 (define-public emacs-org-edit-latex
   (package
     (name "emacs-org-edit-latex")
@@ -21542,6 +27923,15 @@ (define-public emacs-org-edit-latex
 fragment in a dedicated buffer just like editing a source block.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-edit-latex
+  (package-with-emacs-minimal emacs-org-edit-latex))
+
+(define-public emacs-next-org-edit-latex
+  (package-with-emacs-next emacs-org-edit-latex))
+
+(define-public emacs-pgtk-org-edit-latex
+  (package-with-emacs-pgtk emacs-org-edit-latex))
+
 (define-public emacs-emamux
   (package
     (name "emacs-emamux")
@@ -21563,6 +27953,15 @@ (define-public emacs-emamux
 multiplexer.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-emamux
+  (package-with-emacs-minimal emacs-emamux))
+
+(define-public emacs-next-emamux
+  (package-with-emacs-next emacs-emamux))
+
+(define-public emacs-pgtk-emamux
+  (package-with-emacs-pgtk emacs-emamux))
+
 (define-public emacs-plz
   (package
     (name "emacs-plz")
@@ -21594,6 +27993,15 @@ (define-public emacs-plz
 which avoids some of the issues with using Emacs’s built-in Url library.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-plz
+  (package-with-emacs-minimal emacs-plz))
+
+(define-public emacs-next-plz
+  (package-with-emacs-next emacs-plz))
+
+(define-public emacs-pgtk-plz
+  (package-with-emacs-pgtk emacs-plz))
+
 (define-public emacs-ement
   (package
     (name "emacs-ement")
@@ -21608,8 +28016,6 @@ (define-public emacs-ement
        (sha256
         (base32 "1wj0gzbx3m4j1h093nh8m65xmmhz2wjmlg39smxai44x7va27xmv"))))
     (build-system emacs-build-system)
-    (arguments
-     (list #:emacs emacs))              ;need libxml support
     (propagated-inputs
      (list emacs-persist
            emacs-plz
@@ -21622,6 +28028,15 @@ (define-public emacs-ement
     (description "Ement.el is a Matrix client for Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ement
+  (package-with-emacs-minimal emacs-ement))
+
+(define-public emacs-next-ement
+  (package-with-emacs-next emacs-ement))
+
+(define-public emacs-pgtk-ement
+  (package-with-emacs-pgtk emacs-ement))
+
 (define-public emacs-rpm-spec-mode
   (let ((commit "c1c38050c48ea330c7cea632b8785d66daeefb2b")
         (revision "0"))
@@ -21664,6 +28079,15 @@ (define-public emacs-rpm-spec-mode
 editing RPM spec files.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-rpm-spec-mode
+  (package-with-emacs-minimal emacs-rpm-spec-mode))
+
+(define-public emacs-next-rpm-spec-mode
+  (package-with-emacs-next emacs-rpm-spec-mode))
+
+(define-public emacs-pgtk-rpm-spec-mode
+  (package-with-emacs-pgtk emacs-rpm-spec-mode))
+
 (define-public emacs-lcr
   (package
     (name "emacs-lcr")
@@ -21687,6 +28111,15 @@ (define-public emacs-lcr
 functions written in continuation-passing style.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-lcr
+  (package-with-emacs-minimal emacs-lcr))
+
+(define-public emacs-next-lcr
+  (package-with-emacs-next emacs-lcr))
+
+(define-public emacs-pgtk-lcr
+  (package-with-emacs-pgtk emacs-lcr))
+
 (define-public emacs-attrap
   (package
     (name "emacs-attrap")
@@ -21709,6 +28142,15 @@ (define-public emacs-attrap
 at point.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-attrap
+  (package-with-emacs-minimal emacs-attrap))
+
+(define-public emacs-next-attrap
+  (package-with-emacs-next emacs-attrap))
+
+(define-public emacs-pgtk-attrap
+  (package-with-emacs-pgtk emacs-attrap))
+
 (define-public emacs-git-messenger
   (package
     (name "emacs-git-messenger")
@@ -21737,6 +28179,15 @@ (define-public emacs-git-messenger
 internally.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-git-messenger
+  (package-with-emacs-minimal emacs-git-messenger))
+
+(define-public emacs-next-git-messenger
+  (package-with-emacs-next emacs-git-messenger))
+
+(define-public emacs-pgtk-git-messenger
+  (package-with-emacs-pgtk emacs-git-messenger))
+
 (define-public emacs-gitpatch
   (package
     (name "emacs-gitpatch")
@@ -21758,6 +28209,15 @@ (define-public emacs-gitpatch
 @code{ibuffer} buffers.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-gitpatch
+  (package-with-emacs-minimal emacs-gitpatch))
+
+(define-public emacs-next-gitpatch
+  (package-with-emacs-next emacs-gitpatch))
+
+(define-public emacs-pgtk-gitpatch
+  (package-with-emacs-pgtk emacs-gitpatch))
+
 (define-public emacs-git-email
   ;; Use latest commit since latest tagged release is missing important
   ;; changes.
@@ -21798,6 +28258,15 @@ (define-public emacs-git-email
       (description "This package provides utilities for formatting and
 sending Git patches via Email, without leaving Emacs."))))
 
+(define-public emacs-minimal-git-email
+  (package-with-emacs-minimal emacs-git-email))
+
+(define-public emacs-next-git-email
+  (package-with-emacs-next emacs-git-email))
+
+(define-public emacs-pgtk-git-email
+  (package-with-emacs-pgtk emacs-git-email))
+
 (define-public emacs-erc-hl-nicks
   (package
     (name "emacs-erc-hl-nicks")
@@ -21825,6 +28294,15 @@ (define-public emacs-erc-hl-nicks
     (home-page "https://github.com/leathekd/erc-hl-nicks")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-erc-hl-nicks
+  (package-with-emacs-minimal emacs-erc-hl-nicks))
+
+(define-public emacs-next-erc-hl-nicks
+  (package-with-emacs-next emacs-erc-hl-nicks))
+
+(define-public emacs-pgtk-erc-hl-nicks
+  (package-with-emacs-pgtk emacs-erc-hl-nicks))
+
 (define-public emacs-engine-mode
   (package
     (name "emacs-engine-mode")
@@ -21846,6 +28324,15 @@ (define-public emacs-engine-mode
     (home-page "https://github.com/hrs/engine-mode")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-engine-mode
+  (package-with-emacs-minimal emacs-engine-mode))
+
+(define-public emacs-next-engine-mode
+  (package-with-emacs-next emacs-engine-mode))
+
+(define-public emacs-pgtk-engine-mode
+  (package-with-emacs-pgtk emacs-engine-mode))
+
 (define-public emacs-engrave-faces
   (package
     (name "emacs-engrave-faces")
@@ -21870,6 +28357,15 @@ (define-public emacs-engrave-faces
 with specific output formats.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-engrave-faces
+  (package-with-emacs-minimal emacs-engrave-faces))
+
+(define-public emacs-next-engrave-faces
+  (package-with-emacs-next emacs-engrave-faces))
+
+(define-public emacs-pgtk-engrave-faces
+  (package-with-emacs-pgtk emacs-engrave-faces))
+
 (define-public emacs-enh-ruby-mode
   ;; The latest tag is from 2019.
   (let ((revision "0")
@@ -21907,6 +28403,15 @@ (define-public emacs-enh-ruby-mode
 and performs syntax checks on them.")
       (license license:ruby))))
 
+(define-public emacs-minimal-enh-ruby-mode
+  (package-with-emacs-minimal emacs-enh-ruby-mode))
+
+(define-public emacs-next-enh-ruby-mode
+  (package-with-emacs-next emacs-enh-ruby-mode))
+
+(define-public emacs-pgtk-enh-ruby-mode
+  (package-with-emacs-pgtk emacs-enh-ruby-mode))
+
 (define-public emacs-inheritenv
   (package
     (name "emacs-inheritenv")
@@ -21928,6 +28433,15 @@ (define-public emacs-inheritenv
 buffer's environment.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-inheritenv
+  (package-with-emacs-minimal emacs-inheritenv))
+
+(define-public emacs-next-inheritenv
+  (package-with-emacs-next emacs-inheritenv))
+
+(define-public emacs-pgtk-inheritenv
+  (package-with-emacs-pgtk emacs-inheritenv))
+
 (define-public emacs-enlive
   (package
     (name "emacs-enlive")
@@ -21950,6 +28464,15 @@ (define-public emacs-enlive
 from within Elisp using a DSL similar to CSS selectors.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-enlive
+  (package-with-emacs-minimal emacs-enlive))
+
+(define-public emacs-next-enlive
+  (package-with-emacs-next emacs-enlive))
+
+(define-public emacs-pgtk-enlive
+  (package-with-emacs-pgtk emacs-enlive))
+
 (define-public emacs-envrc
   (package
     (name "emacs-envrc")
@@ -21993,6 +28516,15 @@ (define-public emacs-envrc
 used in each project if desired.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-envrc
+  (package-with-emacs-minimal emacs-envrc))
+
+(define-public emacs-next-envrc
+  (package-with-emacs-next emacs-envrc))
+
+(define-public emacs-pgtk-envrc
+  (package-with-emacs-pgtk emacs-envrc))
+
 (define-public emacs-prop-menu
   (package
     (name "emacs-prop-menu")
@@ -22026,6 +28558,15 @@ (define-public emacs-prop-menu
 @code{prop-menu-show-menu} to a mouse event.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-prop-menu
+  (package-with-emacs-minimal emacs-prop-menu))
+
+(define-public emacs-next-prop-menu
+  (package-with-emacs-next emacs-prop-menu))
+
+(define-public emacs-pgtk-prop-menu
+  (package-with-emacs-pgtk emacs-prop-menu))
+
 (define-public emacs-idris-mode
   (let ((commit "9bc7697406f719258d93835df3c1761efbfecaa7")
         (revision "1"))
@@ -22053,6 +28594,15 @@ (define-public emacs-idris-mode
 the latest versions of Idris 1.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-idris-mode
+  (package-with-emacs-minimal emacs-idris-mode))
+
+(define-public emacs-next-idris-mode
+  (package-with-emacs-next emacs-idris-mode))
+
+(define-public emacs-pgtk-idris-mode
+  (package-with-emacs-pgtk emacs-idris-mode))
+
 (define-public emacs-browse-at-remote
   (package
     (name "emacs-browse-at-remote")
@@ -22082,6 +28632,15 @@ (define-public emacs-browse-at-remote
 It supports dired buffers and opens them in tree mode at destination.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-browse-at-remote
+  (package-with-emacs-minimal emacs-browse-at-remote))
+
+(define-public emacs-next-browse-at-remote
+  (package-with-emacs-next emacs-browse-at-remote))
+
+(define-public emacs-pgtk-browse-at-remote
+  (package-with-emacs-pgtk emacs-browse-at-remote))
+
 (define-public emacs-tiny
   (let ((commit "fd8a6b0b0c564d8242259e20e557ee6041f40908")
         (revision "1"))
@@ -22111,6 +28670,15 @@ (define-public emacs-tiny
 an elisp expression.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-tiny
+  (package-with-emacs-minimal emacs-tiny))
+
+(define-public emacs-next-tiny
+  (package-with-emacs-next emacs-tiny))
+
+(define-public emacs-pgtk-tiny
+  (package-with-emacs-pgtk emacs-tiny))
+
 (define-public emacs-taxy
   (package
     (name "emacs-taxy")
@@ -22134,6 +28702,15 @@ (define-public emacs-taxy
 groups.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-taxy
+  (package-with-emacs-minimal emacs-taxy))
+
+(define-public emacs-next-taxy
+  (package-with-emacs-next emacs-taxy))
+
+(define-public emacs-pgtk-taxy
+  (package-with-emacs-pgtk emacs-taxy))
+
 (define-public emacs-taxy-magit-section
   (package
     (name "emacs-taxy-magit-section")
@@ -22157,6 +28734,15 @@ (define-public emacs-taxy-magit-section
 configurations.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-taxy-magit-section
+  (package-with-emacs-minimal emacs-taxy-magit-section))
+
+(define-public emacs-next-taxy-magit-section
+  (package-with-emacs-next emacs-taxy-magit-section))
+
+(define-public emacs-pgtk-taxy-magit-section
+  (package-with-emacs-pgtk emacs-taxy-magit-section))
+
 (define-public emacs-emojify
   (package
     (name "emacs-emojify")
@@ -22184,6 +28770,15 @@ (define-public emacs-emojify
 @code{emojify-mode} to enable the display of emojis in a buffer.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-emojify
+  (package-with-emacs-minimal emacs-emojify))
+
+(define-public emacs-next-emojify
+  (package-with-emacs-next emacs-emojify))
+
+(define-public emacs-pgtk-emojify
+  (package-with-emacs-pgtk emacs-emojify))
+
 (define-public emacs-make-it-so
   (let ((commit "b73dfb640588123c9eece230ad72b37604f5c126")
         (revision "2"))
@@ -22214,6 +28809,15 @@ (define-public emacs-make-it-so
 included by default, and more can be readily added.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-make-it-so
+  (package-with-emacs-minimal emacs-make-it-so))
+
+(define-public emacs-next-make-it-so
+  (package-with-emacs-next emacs-make-it-so))
+
+(define-public emacs-pgtk-make-it-so
+  (package-with-emacs-pgtk emacs-make-it-so))
+
 (define-public emacs-unidecode
   (let ((commit "5502ada9287b4012eabb879f12f5b0a9df52c5b7")
         (revision "1"))
@@ -22258,6 +28862,15 @@ (define-public emacs-unidecode
       (description "This package provides functions for converting Unicode to ASCII.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-unidecode
+  (package-with-emacs-minimal emacs-unidecode))
+
+(define-public emacs-next-unidecode
+  (package-with-emacs-next emacs-unidecode))
+
+(define-public emacs-pgtk-unidecode
+  (package-with-emacs-pgtk emacs-unidecode))
+
 (define-public emacs-pubmed
   (package
     (name "emacs-pubmed")
@@ -22281,6 +28894,15 @@ (define-public emacs-pubmed
 database of references on life sciences.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-pubmed
+  (package-with-emacs-minimal emacs-pubmed))
+
+(define-public emacs-next-pubmed
+  (package-with-emacs-next emacs-pubmed))
+
+(define-public emacs-pgtk-pubmed
+  (package-with-emacs-pgtk emacs-pubmed))
+
 (define-public emacs-websocket
   (package
     (name "emacs-websocket")
@@ -22302,6 +28924,15 @@ (define-public emacs-websocket
 write applications that use WebSockets, and is not useful by itself.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-websocket
+  (package-with-emacs-minimal emacs-websocket))
+
+(define-public emacs-next-websocket
+  (package-with-emacs-next emacs-websocket))
+
+(define-public emacs-pgtk-websocket
+  (package-with-emacs-pgtk emacs-websocket))
+
 (define-public emacs-oauth2
   (package
     (name "emacs-oauth2")
@@ -22326,6 +28957,15 @@ (define-public emacs-oauth2
 value of the access token.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-oauth2
+  (package-with-emacs-minimal emacs-oauth2))
+
+(define-public emacs-next-oauth2
+  (package-with-emacs-next emacs-oauth2))
+
+(define-public emacs-pgtk-oauth2
+  (package-with-emacs-pgtk emacs-oauth2))
+
 (define-public emacs-auth-source-xoauth2
   (package
     (name "emacs-auth-source-xoauth2")
@@ -22348,6 +28988,15 @@ (define-public emacs-auth-source-xoauth2
 part, which includes creating tokens.")
     (license license:asl2.0)))
 
+(define-public emacs-minimal-auth-source-xoauth2
+  (package-with-emacs-minimal emacs-auth-source-xoauth2))
+
+(define-public emacs-next-auth-source-xoauth2
+  (package-with-emacs-next emacs-auth-source-xoauth2))
+
+(define-public emacs-pgtk-auth-source-xoauth2
+  (package-with-emacs-pgtk emacs-auth-source-xoauth2))
+
 (define-public emacs-circe
   (let ((commit "cc630eb9acb835012ad207dce545d2c380588da7")
         (revision "1"))
@@ -22367,7 +29016,6 @@ (define-public emacs-circe
       (arguments
        `(#:tests? #t
          #:test-command '("buttercup" "-L" ".")
-         #:emacs ,emacs                 ;requires gnutls
          #:phases
          (modify-phases %standard-phases
            ;; The HOME environment variable should be set to an existing
@@ -22389,6 +29037,12 @@ (define-public emacs-circe
 want to use it.")
       (license license:gpl3+))))
 
+(define-public emacs-next-circe
+  (package-with-emacs-next emacs-circe))
+
+(define-public emacs-pgtk-circe
+  (package-with-emacs-pgtk emacs-circe))
+
 (define-public emacs-tracking
   (package
     (inherit emacs-circe)
@@ -22405,6 +29059,12 @@ (define-public emacs-tracking
 through them using @key{C-c C-SPC}.")
     (license license:gpl3+)))
 
+(define-public emacs-next-tracking
+  (package-with-emacs-next emacs-tracking))
+
+(define-public emacs-pgtk-tracking
+  (package-with-emacs-pgtk emacs-tracking))
+
 (define-public emacs-slack
   (let ((commit "ff46d88726482211e3ac3d0b9c95dd4fdffe11c2")
         (revision "10"))
@@ -22441,6 +29101,15 @@ (define-public emacs-slack
 messaging service.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-slack
+  (package-with-emacs-minimal emacs-slack))
+
+(define-public emacs-next-slack
+  (package-with-emacs-next emacs-slack))
+
+(define-public emacs-pgtk-slack
+  (package-with-emacs-pgtk emacs-slack))
+
 (define-public emacs-helm-slack
   (let ((commit "465f6220f3f5bee4d95492991fca1290c89534eb")
         (revision "1"))
@@ -22470,6 +29139,15 @@ (define-public emacs-helm-slack
 Slack client.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-helm-slack
+  (package-with-emacs-minimal emacs-helm-slack))
+
+(define-public emacs-next-helm-slack
+  (package-with-emacs-next emacs-helm-slack))
+
+(define-public emacs-pgtk-helm-slack
+  (package-with-emacs-pgtk emacs-helm-slack))
+
 (define-public emacs-bash-completion
   ;; This commit fixes an issue that would brake the shell process if trying
   ;; to complete a command (see:
@@ -22506,6 +29184,15 @@ (define-public emacs-bash-completion
 @code{shell-command} prompts that are based on Bash completion.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-bash-completion
+  (package-with-emacs-minimal emacs-bash-completion))
+
+(define-public emacs-next-bash-completion
+  (package-with-emacs-next emacs-bash-completion))
+
+(define-public emacs-pgtk-bash-completion
+  (package-with-emacs-pgtk emacs-bash-completion))
+
 (define-public emacs-easy-kill
   (package
     (name "emacs-easy-kill")
@@ -22525,6 +29212,15 @@ (define-public emacs-easy-kill
 let users kill or mark things easily.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-easy-kill
+  (package-with-emacs-minimal emacs-easy-kill))
+
+(define-public emacs-next-easy-kill
+  (package-with-emacs-next emacs-easy-kill))
+
+(define-public emacs-pgtk-easy-kill
+  (package-with-emacs-pgtk emacs-easy-kill))
+
 (define-public emacs-csv-mode
   (package
     (name "emacs-csv-mode")
@@ -22544,6 +29240,15 @@ (define-public emacs-csv-mode
 in a generalized CSV (character-separated values) format.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-csv-mode
+  (package-with-emacs-minimal emacs-csv-mode))
+
+(define-public emacs-next-csv-mode
+  (package-with-emacs-next emacs-csv-mode))
+
+(define-public emacs-pgtk-csv-mode
+  (package-with-emacs-pgtk emacs-csv-mode))
+
 (define-public emacs-transmission
   (package
     (name "emacs-transmission")
@@ -22574,6 +29279,15 @@ (define-public emacs-transmission
 @end itemize\n")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-transmission
+  (package-with-emacs-minimal emacs-transmission))
+
+(define-public emacs-next-transmission
+  (package-with-emacs-next emacs-transmission))
+
+(define-public emacs-pgtk-transmission
+  (package-with-emacs-pgtk emacs-transmission))
+
 (define-public emacs-polymode
   (package
     (name "emacs-polymode")
@@ -22601,6 +29315,15 @@ (define-public emacs-polymode
 literate programming tools for exporting, weaving and tangling.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-polymode
+  (package-with-emacs-minimal emacs-polymode))
+
+(define-public emacs-next-polymode
+  (package-with-emacs-next emacs-polymode))
+
+(define-public emacs-pgtk-polymode
+  (package-with-emacs-pgtk emacs-polymode))
+
 (define-public emacs-ansible
   (package
     (name "emacs-ansible")
@@ -22622,6 +29345,15 @@ (define-public emacs-ansible
      "This is an Emacs minor mode for editing Ansible files.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-ansible
+  (package-with-emacs-minimal emacs-ansible))
+
+(define-public emacs-next-ansible
+  (package-with-emacs-next emacs-ansible))
+
+(define-public emacs-pgtk-ansible
+  (package-with-emacs-pgtk emacs-ansible))
+
 (define-public emacs-polymode-ansible
   (package
     (name "emacs-polymode-ansible")
@@ -22649,6 +29381,15 @@ (define-public emacs-polymode-ansible
      "Edit YAML files for Ansible containing embedded Jinja2 templating.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-polymode-ansible
+  (package-with-emacs-minimal emacs-polymode-ansible))
+
+(define-public emacs-next-polymode-ansible
+  (package-with-emacs-next emacs-polymode-ansible))
+
+(define-public emacs-pgtk-polymode-ansible
+  (package-with-emacs-pgtk emacs-polymode-ansible))
+
 (define-public emacs-polymode-markdown
   (package
     (name "emacs-polymode-markdown")
@@ -22673,6 +29414,15 @@ (define-public emacs-polymode-markdown
 files using the major mode corresponding to each block.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-polymode-markdown
+  (package-with-emacs-minimal emacs-polymode-markdown))
+
+(define-public emacs-next-polymode-markdown
+  (package-with-emacs-next emacs-polymode-markdown))
+
+(define-public emacs-pgtk-polymode-markdown
+  (package-with-emacs-pgtk emacs-polymode-markdown))
+
 (define-public emacs-poly-noweb
   (package
     (name "emacs-poly-noweb")
@@ -22696,6 +29446,15 @@ (define-public emacs-poly-noweb
 files.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-poly-noweb
+  (package-with-emacs-minimal emacs-poly-noweb))
+
+(define-public emacs-next-poly-noweb
+  (package-with-emacs-next emacs-poly-noweb))
+
+(define-public emacs-pgtk-poly-noweb
+  (package-with-emacs-pgtk emacs-poly-noweb))
+
 (define-public emacs-powershell
   ;; Tagged branch 0.1 is outdated (2015).
   (let ((revision "0")
@@ -22720,6 +29479,15 @@ (define-public emacs-powershell
 Microsoft PowerShell files.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-powershell
+  (package-with-emacs-minimal emacs-powershell))
+
+(define-public emacs-next-powershell
+  (package-with-emacs-next emacs-powershell))
+
+(define-public emacs-pgtk-powershell
+  (package-with-emacs-pgtk emacs-powershell))
+
 (define-public emacs-polymode-org
   (package
     (name "emacs-polymode-org")
@@ -22745,6 +29513,15 @@ (define-public emacs-polymode-org
 languages while remaining inside the primary Org buffer.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-polymode-org
+  (package-with-emacs-minimal emacs-polymode-org))
+
+(define-public emacs-next-polymode-org
+  (package-with-emacs-next emacs-polymode-org))
+
+(define-public emacs-pgtk-polymode-org
+  (package-with-emacs-pgtk emacs-polymode-org))
+
 (define-public eless
   (package
     (name "eless")
@@ -22834,6 +29611,15 @@ (define-public emacs-evil-matchit
 evil mode using @kbd{%}.  It is a port of @code{matchit} for Vim.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-evil-matchit
+  (package-with-emacs-minimal emacs-evil-matchit))
+
+(define-public emacs-next-evil-matchit
+  (package-with-emacs-next emacs-evil-matchit))
+
+(define-public emacs-pgtk-evil-matchit
+  (package-with-emacs-pgtk emacs-evil-matchit))
+
 (define-public emacs-evil-smartparens
   (package
     (name "emacs-evil-smartparens")
@@ -22857,6 +29643,15 @@ (define-public emacs-evil-smartparens
 emulates Vim features and provides Vim-like key bindings.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-evil-smartparens
+  (package-with-emacs-minimal emacs-evil-smartparens))
+
+(define-public emacs-next-evil-smartparens
+  (package-with-emacs-next emacs-evil-smartparens))
+
+(define-public emacs-pgtk-evil-smartparens
+  (package-with-emacs-pgtk emacs-evil-smartparens))
+
 (define-public emacs-evil-quickscope
   (package
     (name "emacs-evil-quickscope")
@@ -22904,6 +29699,15 @@ (define-public emacs-evil-quickscope
 features and provides Vim-like key bindings.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-evil-quickscope
+  (package-with-emacs-minimal emacs-evil-quickscope))
+
+(define-public emacs-next-evil-quickscope
+  (package-with-emacs-next emacs-evil-quickscope))
+
+(define-public emacs-pgtk-evil-quickscope
+  (package-with-emacs-pgtk emacs-evil-quickscope))
+
 (define-public emacs-bongo
   (package
     (name "emacs-bongo")
@@ -22927,6 +29731,15 @@ (define-public emacs-bongo
 @code{afplay}.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-bongo
+  (package-with-emacs-minimal emacs-bongo))
+
+(define-public emacs-next-bongo
+  (package-with-emacs-next emacs-bongo))
+
+(define-public emacs-pgtk-bongo
+  (package-with-emacs-pgtk emacs-bongo))
+
 (define-public emacs-groovy-modes
   (package
     (name "emacs-groovy-modes")
@@ -22956,6 +29769,15 @@ (define-public emacs-groovy-modes
 Grails project navigation with the grails mode.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-groovy-modes
+  (package-with-emacs-minimal emacs-groovy-modes))
+
+(define-public emacs-next-groovy-modes
+  (package-with-emacs-next emacs-groovy-modes))
+
+(define-public emacs-pgtk-groovy-modes
+  (package-with-emacs-pgtk emacs-groovy-modes))
+
 (define-public emacs-jenkinsfile-mode
   (let ((commit "65bf3925852c35c6bd499978f08f83c1193f4347")
         (revision "1"))
@@ -22980,6 +29802,15 @@ (define-public emacs-jenkinsfile-mode
 from @code{groovy-mode} for editing Jenkins declarative pipeline files.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-jenkinsfile-mode
+  (package-with-emacs-minimal emacs-jenkinsfile-mode))
+
+(define-public emacs-next-jenkinsfile-mode
+  (package-with-emacs-next emacs-jenkinsfile-mode))
+
+(define-public emacs-pgtk-jenkinsfile-mode
+  (package-with-emacs-pgtk emacs-jenkinsfile-mode))
+
 (define-public emacs-kotlin-mode
   (let ((commit "0e4bafb31d1fc2a0a420a521c2723d5526646c0b")
         (revision "1"))
@@ -23006,6 +29837,15 @@ (define-public emacs-kotlin-mode
        "This package provides a @code{kotlin-mode} for editing Kotlin files.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-kotlin-mode
+  (package-with-emacs-minimal emacs-kotlin-mode))
+
+(define-public emacs-next-kotlin-mode
+  (package-with-emacs-next emacs-kotlin-mode))
+
+(define-public emacs-pgtk-kotlin-mode
+  (package-with-emacs-pgtk emacs-kotlin-mode))
+
 (define-public emacs-org-tree-slide
   (let ((commit "e2599a106a26ce5511095e23df4ea04be6687a8a")
         (revision "0"))
@@ -23030,6 +29870,15 @@ (define-public emacs-org-tree-slide
 document.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-tree-slide
+  (package-with-emacs-minimal emacs-org-tree-slide))
+
+(define-public emacs-next-org-tree-slide
+  (package-with-emacs-next emacs-org-tree-slide))
+
+(define-public emacs-pgtk-org-tree-slide
+  (package-with-emacs-pgtk emacs-org-tree-slide))
+
 (define-public emacs-scratch-el
   (package
     (name "emacs-scratch-el")
@@ -23066,6 +29915,15 @@ (define-public emacs-scratch-el
 formatting rules for that language.")
     (license license:bsd-2)))
 
+(define-public emacs-minimal-scratch-el
+  (package-with-emacs-minimal emacs-scratch-el))
+
+(define-public emacs-next-scratch-el
+  (package-with-emacs-next emacs-scratch-el))
+
+(define-public emacs-pgtk-scratch-el
+  (package-with-emacs-pgtk emacs-scratch-el))
+
 (define-public emacs-kv
   (package
     (name "emacs-kv")
@@ -23094,6 +29952,15 @@ (define-public emacs-kv
 Lisp.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-kv
+  (package-with-emacs-minimal emacs-kv))
+
+(define-public emacs-next-kv
+  (package-with-emacs-next emacs-kv))
+
+(define-public emacs-pgtk-kv
+  (package-with-emacs-pgtk emacs-kv))
+
 (define-public emacs-esxml
   (package
     (name "emacs-esxml")
@@ -23109,8 +29976,7 @@ (define-public emacs-esxml
                 "1xzxmgsg0j72sf1vjh9gjswz3c29js0kqhm7r3jrqrh3a5agdnml"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:emacs ,emacs                   ;need libxml
-       ;; XXX: Only the two following files are meant to be packaged.
+     `(;; XXX: Only the two following files are meant to be packaged.
        ;; Byte-compiling the others Elisp files leads to build errors anyway.
        #:include (list "esxml.el" "esxml-query.el")))
     (propagated-inputs
@@ -23124,6 +29990,15 @@ (define-public emacs-esxml
 the format.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-esxml
+  (package-with-emacs-minimal emacs-esxml))
+
+(define-public emacs-next-esxml
+  (package-with-emacs-next emacs-esxml))
+
+(define-public emacs-pgtk-esxml
+  (package-with-emacs-pgtk emacs-esxml))
+
 (define-public emacs-nov-el
   (package
     (name "emacs-nov-el")
@@ -23141,7 +30016,6 @@ (define-public emacs-nov-el
     (build-system emacs-build-system)
     (arguments
      (list
-      #:emacs emacs                    ;need libxml
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'embed-path-to-unzip
@@ -23174,6 +30048,15 @@ (define-public emacs-nov-el
 ")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-nov-el
+  (package-with-emacs-minimal emacs-nov-el))
+
+(define-public emacs-next-nov-el
+  (package-with-emacs-next emacs-nov-el))
+
+(define-public emacs-pgtk-nov-el
+  (package-with-emacs-pgtk emacs-nov-el))
+
 (define-public epipe
   (package
     (name "epipe")
@@ -23246,6 +30129,15 @@ (define-public emacs-jupyter
 features.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-jupyter
+  (package-with-emacs-minimal emacs-jupyter))
+
+(define-public emacs-next-jupyter
+  (package-with-emacs-next emacs-jupyter))
+
+(define-public emacs-pgtk-jupyter
+  (package-with-emacs-pgtk emacs-jupyter))
+
 (define-public emacs-hcl-mode
   (package
     (name "emacs-hcl-mode")
@@ -23268,6 +30160,15 @@ (define-public emacs-hcl-mode
 highlighting and indentation support.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-hcl-mode
+  (package-with-emacs-minimal emacs-hcl-mode))
+
+(define-public emacs-next-hcl-mode
+  (package-with-emacs-next emacs-hcl-mode))
+
+(define-public emacs-pgtk-hcl-mode
+  (package-with-emacs-pgtk emacs-hcl-mode))
+
 (define-public emacs-terraform-mode
   (package
     (name "emacs-terraform-mode")
@@ -23292,6 +30193,15 @@ (define-public emacs-terraform-mode
 functionality is inherited from @code{hcl-mode}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-terraform-mode
+  (package-with-emacs-minimal emacs-terraform-mode))
+
+(define-public emacs-next-terraform-mode
+  (package-with-emacs-next emacs-terraform-mode))
+
+(define-public emacs-pgtk-terraform-mode
+  (package-with-emacs-pgtk emacs-terraform-mode))
+
 (define-public emacs-exec-path-from-shell
   (package
     (name "emacs-exec-path-from-shell")
@@ -23318,6 +30228,15 @@ (define-public emacs-exec-path-from-shell
 the same values you get in a terminal.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-exec-path-from-shell
+  (package-with-emacs-minimal emacs-exec-path-from-shell))
+
+(define-public emacs-next-exec-path-from-shell
+  (package-with-emacs-next emacs-exec-path-from-shell))
+
+(define-public emacs-pgtk-exec-path-from-shell
+  (package-with-emacs-pgtk emacs-exec-path-from-shell))
+
 (define-public emacs-frog-menu
   (package
     (name "emacs-frog-menu")
@@ -23339,6 +30258,15 @@ (define-public emacs-frog-menu
 on which user-defined dispatch actions can act.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-frog-menu
+  (package-with-emacs-minimal emacs-frog-menu))
+
+(define-public emacs-next-frog-menu
+  (package-with-emacs-next emacs-frog-menu))
+
+(define-public emacs-pgtk-frog-menu
+  (package-with-emacs-pgtk emacs-frog-menu))
+
 (define-public emacs-frog-jump-buffer
   (let ((commit "2d7b342785ae27d45f5d252272df6eb773c78e20")
         (revision "1"))
@@ -23365,6 +30293,15 @@ (define-public emacs-frog-jump-buffer
 to with quicklink-style selections.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-frog-jump-buffer
+  (package-with-emacs-minimal emacs-frog-jump-buffer))
+
+(define-public emacs-next-frog-jump-buffer
+  (package-with-emacs-next emacs-frog-jump-buffer))
+
+(define-public emacs-pgtk-frog-jump-buffer
+  (package-with-emacs-pgtk emacs-frog-jump-buffer))
+
 (define-public emacs-deft
   (package
     (name "emacs-deft")
@@ -23387,6 +30324,15 @@ (define-public emacs-deft
 directories of plain text notes, inspired by Notational Velocity.")
     (license license:bsd-3)))
 
+(define-public emacs-minimal-deft
+  (package-with-emacs-minimal emacs-deft))
+
+(define-public emacs-next-deft
+  (package-with-emacs-next emacs-deft))
+
+(define-public emacs-pgtk-deft
+  (package-with-emacs-pgtk emacs-deft))
+
 (define-public emacs-anzu
   (package
     (name "emacs-anzu")
@@ -23409,6 +30355,15 @@ (define-public emacs-anzu
 Anzu.zim.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-anzu
+  (package-with-emacs-minimal emacs-anzu))
+
+(define-public emacs-next-anzu
+  (package-with-emacs-next emacs-anzu))
+
+(define-public emacs-pgtk-anzu
+  (package-with-emacs-pgtk emacs-anzu))
+
 (define-public emacs-ascii-art-to-unicode
   (package
     (name "emacs-ascii-art-to-unicode")
@@ -23429,6 +30384,15 @@ (define-public emacs-ascii-art-to-unicode
 region of the buffer, while the latter works on rectangular selections.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ascii-art-to-unicode
+  (package-with-emacs-minimal emacs-ascii-art-to-unicode))
+
+(define-public emacs-next-ascii-art-to-unicode
+  (package-with-emacs-next emacs-ascii-art-to-unicode))
+
+(define-public emacs-pgtk-ascii-art-to-unicode
+  (package-with-emacs-pgtk emacs-ascii-art-to-unicode))
+
 (define-public emacs-emmet-mode
   (let ((commit "1acb821e0142136344ccf40c1e5fb664d7db2e70")
         (revision "1"))
@@ -23452,6 +30416,15 @@ (define-public emacs-emmet-mode
 used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-emmet-mode
+  (package-with-emacs-minimal emacs-emmet-mode))
+
+(define-public emacs-next-emmet-mode
+  (package-with-emacs-next emacs-emmet-mode))
+
+(define-public emacs-pgtk-emmet-mode
+  (package-with-emacs-pgtk emacs-emmet-mode))
+
 (define-public emacs-ergoemacs-mode
   (package
     (name "emacs-ergoemacs-mode")
@@ -23480,6 +30453,15 @@ (define-public emacs-ergoemacs-mode
 close, copy, cut, paste, undo, redo.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ergoemacs-mode
+  (package-with-emacs-minimal emacs-ergoemacs-mode))
+
+(define-public emacs-next-ergoemacs-mode
+  (package-with-emacs-next emacs-ergoemacs-mode))
+
+(define-public emacs-pgtk-ergoemacs-mode
+  (package-with-emacs-pgtk emacs-ergoemacs-mode))
+
 (define-public emacs-password-store
   (package
     (name "emacs-password-store")
@@ -23526,6 +30508,15 @@ (define-public emacs-password-store
     standard Unix password manager\").")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-password-store
+  (package-with-emacs-minimal emacs-password-store))
+
+(define-public emacs-next-password-store
+  (package-with-emacs-next emacs-password-store))
+
+(define-public emacs-pgtk-password-store
+  (package-with-emacs-pgtk emacs-password-store))
+
 (define-public emacs-password-store-otp
   (package
     (name "emacs-password-store-otp")
@@ -23551,6 +30542,15 @@ (define-public emacs-password-store-otp
 needed.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-password-store-otp
+  (package-with-emacs-minimal emacs-password-store-otp))
+
+(define-public emacs-next-password-store-otp
+  (package-with-emacs-next emacs-password-store-otp))
+
+(define-public emacs-pgtk-password-store-otp
+  (package-with-emacs-pgtk emacs-password-store-otp))
+
 (define-public emacs-auth-source-pass
   (let ((commit "847a1f54ed48856b4dfaaa184583ef2c84173edf")
         (revision "2"))
@@ -23579,6 +30579,15 @@ (define-public emacs-auth-source-pass
 @code{password-store} application.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-auth-source-pass
+  (package-with-emacs-minimal emacs-auth-source-pass))
+
+(define-public emacs-next-auth-source-pass
+  (package-with-emacs-next emacs-auth-source-pass))
+
+(define-public emacs-pgtk-auth-source-pass
+  (package-with-emacs-pgtk emacs-auth-source-pass))
+
 (define-public emacs-pass
   (package
     (name "emacs-pass")
@@ -23602,6 +30611,15 @@ (define-public emacs-pass
 and can be consulted and modified.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-pass
+  (package-with-emacs-minimal emacs-pass))
+
+(define-public emacs-next-pass
+  (package-with-emacs-next emacs-pass))
+
+(define-public emacs-pgtk-pass
+  (package-with-emacs-pgtk emacs-pass))
+
 (define-public emacs-psc-ide
   ;; There is no proper release.  The base version is extracted from the
   ;; "Version" keyword in the main file.
@@ -23641,6 +30659,15 @@ (define-public emacs-psc-ide
 @end itemize")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-psc-ide
+  (package-with-emacs-minimal emacs-psc-ide))
+
+(define-public emacs-next-psc-ide
+  (package-with-emacs-next emacs-psc-ide))
+
+(define-public emacs-pgtk-psc-ide
+  (package-with-emacs-pgtk emacs-psc-ide))
+
 (define-public emacs-evil-anzu
   ;; No release since January 2015
   (let ((commit "d1e98ee6976437164627542909a25c6946497899")
@@ -23666,6 +30693,15 @@ (define-public emacs-evil-anzu
 match and total match information in the mode-line in various search modes.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-evil-anzu
+  (package-with-emacs-minimal emacs-evil-anzu))
+
+(define-public emacs-next-evil-anzu
+  (package-with-emacs-next emacs-evil-anzu))
+
+(define-public emacs-pgtk-evil-anzu
+  (package-with-emacs-pgtk emacs-evil-anzu))
+
 (define-public emacs-pg
   (package
     (name "emacs-pg")
@@ -23690,6 +30726,15 @@ (define-public emacs-pg
 end users.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-pg
+  (package-with-emacs-minimal emacs-pg))
+
+(define-public emacs-next-pg
+  (package-with-emacs-next emacs-pg))
+
+(define-public emacs-pgtk-pg
+  (package-with-emacs-pgtk emacs-pg))
+
 (define-public emacs-finalize
   (package
   (name "emacs-finalize")
@@ -23713,6 +30758,15 @@ (define-public emacs-finalize
 object has been freed.")
   (license license:unlicense)))
 
+(define-public emacs-minimal-finalize
+  (package-with-emacs-minimal emacs-finalize))
+
+(define-public emacs-next-finalize
+  (package-with-emacs-next emacs-finalize))
+
+(define-public emacs-pgtk-finalize
+  (package-with-emacs-pgtk emacs-finalize))
+
 (define-public emacs-emacsql
   (let ((commit "efddd69c5e69214dbbe921fbf90f938501414894")
         (revision "2"))
@@ -23780,6 +30834,15 @@ (define-public emacs-emacsql
 object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-emacsql
+  (package-with-emacs-minimal emacs-emacsql))
+
+(define-public emacs-next-emacsql
+  (package-with-emacs-next emacs-emacsql))
+
+(define-public emacs-pgtk-emacsql
+  (package-with-emacs-pgtk emacs-emacsql))
+
 (define-public emacs-closql
   (package
     (name "emacs-closql")
@@ -23807,6 +30870,15 @@ (define-public emacs-closql
 add any additional instance slots.")
     (license license:gpl3)))
 
+(define-public emacs-minimal-closql
+  (package-with-emacs-minimal emacs-closql))
+
+(define-public emacs-next-closql
+  (package-with-emacs-next emacs-closql))
+
+(define-public emacs-pgtk-closql
+  (package-with-emacs-pgtk emacs-closql))
+
 (define-public emacs-sql-indent
   (package
     (name "emacs-sql-indent")
@@ -23827,6 +30899,15 @@ (define-public emacs-sql-indent
 match your personal coding style.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-sql-indent
+  (package-with-emacs-minimal emacs-sql-indent))
+
+(define-public emacs-next-sql-indent
+  (package-with-emacs-next emacs-sql-indent))
+
+(define-public emacs-pgtk-sql-indent
+  (package-with-emacs-pgtk emacs-sql-indent))
+
 (define-public emacs-epkg
   (package
     (name "emacs-epkg")
@@ -23874,6 +30955,15 @@ (define-public emacs-epkg
 Epkg itself is not a package manager.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-epkg
+  (package-with-emacs-minimal emacs-epkg))
+
+(define-public emacs-next-epkg
+  (package-with-emacs-next emacs-epkg))
+
+(define-public emacs-pgtk-epkg
+  (package-with-emacs-pgtk emacs-epkg))
+
 (define-public emacs-elisp-slime-nav
   (package
     (name "emacs-elisp-slime-nav")
@@ -23896,6 +30986,15 @@ (define-public emacs-elisp-slime-nav
 @code{slime-describe-symbol}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-elisp-slime-nav
+  (package-with-emacs-minimal emacs-elisp-slime-nav))
+
+(define-public emacs-next-elisp-slime-nav
+  (package-with-emacs-next emacs-elisp-slime-nav))
+
+(define-public emacs-pgtk-elisp-slime-nav
+  (package-with-emacs-pgtk emacs-elisp-slime-nav))
+
 (define-public emacs-dedicated
   (package
     (name "emacs-dedicated")
@@ -23921,6 +31020,15 @@ (define-public emacs-dedicated
 the source file.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-dedicated
+  (package-with-emacs-minimal emacs-dedicated))
+
+(define-public emacs-next-dedicated
+  (package-with-emacs-next emacs-dedicated))
+
+(define-public emacs-pgtk-dedicated
+  (package-with-emacs-pgtk emacs-dedicated))
+
 (define-public emacs-nnreddit
   (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
         (revision "1"))
@@ -23944,6 +31052,15 @@ (define-public emacs-nnreddit
 newsreader.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-nnreddit
+  (package-with-emacs-minimal emacs-nnreddit))
+
+(define-public emacs-next-nnreddit
+  (package-with-emacs-next emacs-nnreddit))
+
+(define-public emacs-pgtk-nnreddit
+  (package-with-emacs-pgtk emacs-nnreddit))
+
 (define-public emacs-makey
   (package
     (name "emacs-makey")
@@ -23964,6 +31081,15 @@ (define-public emacs-makey
      "This package provides an Emacs interactive command-line mode.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-makey
+  (package-with-emacs-minimal emacs-makey))
+
+(define-public emacs-next-makey
+  (package-with-emacs-next emacs-makey))
+
+(define-public emacs-pgtk-makey
+  (package-with-emacs-pgtk emacs-makey))
+
 (define-public emacs-outorg
   (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
     (package
@@ -23989,6 +31115,15 @@ (define-public emacs-outorg
 text-mode (i.e. Org-mode).")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-outorg
+  (package-with-emacs-minimal emacs-outorg))
+
+(define-public emacs-next-outorg
+  (package-with-emacs-next emacs-outorg))
+
+(define-public emacs-pgtk-outorg
+  (package-with-emacs-pgtk emacs-outorg))
+
 (define-public emacs-outshine
   (package
     (name "emacs-outshine")
@@ -24014,6 +31149,15 @@ (define-public emacs-outshine
 @code{outline-minor-mode} with outshine extensions loaded.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-outshine
+  (package-with-emacs-minimal emacs-outshine))
+
+(define-public emacs-next-outshine
+  (package-with-emacs-next emacs-outshine))
+
+(define-public emacs-pgtk-outshine
+  (package-with-emacs-pgtk emacs-outshine))
+
 (define-public emacs-frecency
   (package
     (name "emacs-frecency")
@@ -24035,6 +31179,15 @@ (define-public emacs-frecency
 a heuristic based on frequency and recency.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-frecency
+  (package-with-emacs-minimal emacs-frecency))
+
+(define-public emacs-next-frecency
+  (package-with-emacs-next emacs-frecency))
+
+(define-public emacs-pgtk-frecency
+  (package-with-emacs-pgtk emacs-frecency))
+
 (define-public emacs-org-recent-headings
   (let ((commit "97418d581ea030f0718794e50b005e9bae44582e")
         (revision "0"))
@@ -24060,6 +31213,15 @@ (define-public emacs-org-recent-headings
 as well as functions for navigating between these headings.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-recent-headings
+  (package-with-emacs-minimal emacs-org-recent-headings))
+
+(define-public emacs-next-org-recent-headings
+  (package-with-emacs-next emacs-org-recent-headings))
+
+(define-public emacs-pgtk-org-recent-headings
+  (package-with-emacs-pgtk emacs-org-recent-headings))
+
 (define-public emacs-org-recur
   (package
     (name "emacs-org-recur")
@@ -24086,6 +31248,15 @@ (define-public emacs-org-recur
 for defining recurring tasks and easily scheduling them.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-recur
+  (package-with-emacs-minimal emacs-org-recur))
+
+(define-public emacs-next-org-recur
+  (package-with-emacs-next emacs-org-recur))
+
+(define-public emacs-pgtk-org-recur
+  (package-with-emacs-pgtk emacs-org-recur))
+
 (define-public emacs-org-timeblock
   (let ((revision "0")
         (commit "b423b01712b9c25dff3e4203c7cde736225f62ef"))
@@ -24115,6 +31286,15 @@ (define-public emacs-org-timeblock
 calendars provide.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-timeblock
+  (package-with-emacs-minimal emacs-org-timeblock))
+
+(define-public emacs-next-org-timeblock
+  (package-with-emacs-next emacs-org-timeblock))
+
+(define-public emacs-pgtk-org-timeblock
+  (package-with-emacs-pgtk emacs-org-timeblock))
+
 (define-public emacs-org-super-agenda
   (package
     (name "emacs-org-super-agenda")
@@ -24169,6 +31349,15 @@ (define-public emacs-org-super-agenda
 into sections while preserving the structure imposed by any timestamps.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-super-agenda
+  (package-with-emacs-minimal emacs-org-super-agenda))
+
+(define-public emacs-next-org-super-agenda
+  (package-with-emacs-next emacs-org-super-agenda))
+
+(define-public emacs-pgtk-org-super-agenda
+  (package-with-emacs-pgtk emacs-org-super-agenda))
+
 (define-public emacs-elegant-agenda-mode
   (let ((commit "c72f42e0f551c3dd81e68262f07a96c0ec90a589")
         (revision "1"))
@@ -24194,6 +31383,15 @@ (define-public emacs-elegant-agenda-mode
 work Nicolas Rougier.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-elegant-agenda-mode
+  (package-with-emacs-minimal emacs-elegant-agenda-mode))
+
+(define-public emacs-next-elegant-agenda-mode
+  (package-with-emacs-next emacs-elegant-agenda-mode))
+
+(define-public emacs-pgtk-elegant-agenda-mode
+  (package-with-emacs-pgtk emacs-elegant-agenda-mode))
+
 (define-public emacs-org-make-toc
   (package
     (name "emacs-org-make-toc")
@@ -24216,6 +31414,15 @@ (define-public emacs-org-make-toc
 tables of contents.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-make-toc
+  (package-with-emacs-minimal emacs-org-make-toc))
+
+(define-public emacs-next-org-make-toc
+  (package-with-emacs-next emacs-org-make-toc))
+
+(define-public emacs-pgtk-org-make-toc
+  (package-with-emacs-pgtk emacs-org-make-toc))
+
 (define-public emacs-ts
   ;; XXX: Upstream did not tag last release.  Use commit matching version
   ;; bump.
@@ -24280,6 +31487,15 @@ (define-public emacs-ts
 timestamps by providing a @code{ts} struct.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ts
+  (package-with-emacs-minimal emacs-ts))
+
+(define-public emacs-next-ts
+  (package-with-emacs-next emacs-ts))
+
+(define-public emacs-pgtk-ts
+  (package-with-emacs-pgtk emacs-ts))
+
 (define-public emacs-circadian
   (package
     (name "emacs-circadian")
@@ -24322,6 +31538,15 @@ (define-public emacs-circadian
     (license (list license:gpl3+
                    license:expat))))
 
+(define-public emacs-minimal-circadian
+  (package-with-emacs-minimal emacs-circadian))
+
+(define-public emacs-next-circadian
+  (package-with-emacs-next emacs-circadian))
+
+(define-public emacs-pgtk-circadian
+  (package-with-emacs-pgtk emacs-circadian))
+
 (define-public emacs-peg
   (package
     (name "emacs-peg")
@@ -24339,6 +31564,15 @@ (define-public emacs-peg
 according to a parsing expression grammar.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-peg
+  (package-with-emacs-minimal emacs-peg))
+
+(define-public emacs-next-peg
+  (package-with-emacs-next emacs-peg))
+
+(define-public emacs-pgtk-peg
+  (package-with-emacs-pgtk emacs-peg))
+
 (define-public emacs-eldev
   (package
     (name "emacs-eldev")
@@ -24394,6 +31628,15 @@ (define-public emacs-eldev
 parallel to Gradle — its configuration is a program on its own.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-eldev
+  (package-with-emacs-minimal emacs-eldev))
+
+(define-public emacs-next-eldev
+  (package-with-emacs-next emacs-eldev))
+
+(define-public emacs-pgtk-eldev
+  (package-with-emacs-pgtk emacs-eldev))
+
 (define-public emacs-with-simulated-input
   (package
     (name "emacs-with-simulated-input")
@@ -24428,6 +31671,15 @@ (define-public emacs-with-simulated-input
 interactive commands and functions, such as @code{completing-read}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-with-simulated-input
+  (package-with-emacs-minimal emacs-with-simulated-input))
+
+(define-public emacs-next-with-simulated-input
+  (package-with-emacs-next emacs-with-simulated-input))
+
+(define-public emacs-pgtk-with-simulated-input
+  (package-with-emacs-pgtk emacs-with-simulated-input))
+
 (define-public emacs-org-ql
   (package
     (name "emacs-org-ql")
@@ -24469,6 +31721,15 @@ (define-public emacs-org-ql
 files, allowing for actions to be performed based on search criteria.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-ql
+  (package-with-emacs-minimal emacs-org-ql))
+
+(define-public emacs-next-org-ql
+  (package-with-emacs-next emacs-org-ql))
+
+(define-public emacs-pgtk-org-ql
+  (package-with-emacs-pgtk emacs-org-ql))
+
 (define-public emacs-helm-org-ql
   (package
     (inherit emacs-org-ql)
@@ -24497,6 +31758,15 @@ (define-public emacs-helm-org-ql
 @{emacs-org-ql}, a Lispy query language for Org files, allowing for actions to
 be performed based on search criteria.")))
 
+(define-public emacs-minimal-helm-org-ql
+  (package-with-emacs-minimal emacs-helm-org-ql))
+
+(define-public emacs-next-helm-org-ql
+  (package-with-emacs-next emacs-helm-org-ql))
+
+(define-public emacs-pgtk-helm-org-ql
+  (package-with-emacs-pgtk emacs-helm-org-ql))
+
 (define-public emacs-bing-dict
   (package
     (name "emacs-bing-dict")
@@ -24519,6 +31789,15 @@ (define-public emacs-bing-dict
 Chinese to English.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-bing-dict
+  (package-with-emacs-minimal emacs-bing-dict))
+
+(define-public emacs-next-bing-dict
+  (package-with-emacs-next emacs-bing-dict))
+
+(define-public emacs-pgtk-bing-dict
+  (package-with-emacs-pgtk emacs-bing-dict))
+
 (define-public emacs-org-auto-tangle
   (package
     (name "emacs-org-auto-tangle")
@@ -24541,6 +31820,15 @@ (define-public emacs-org-auto-tangle
 whenever saving an @code{org-mode} file.")
     (license license:bsd-2)))
 
+(define-public emacs-minimal-org-auto-tangle
+  (package-with-emacs-minimal emacs-org-auto-tangle))
+
+(define-public emacs-next-org-auto-tangle
+  (package-with-emacs-next emacs-org-auto-tangle))
+
+(define-public emacs-pgtk-org-auto-tangle
+  (package-with-emacs-pgtk emacs-org-auto-tangle))
+
 (define-public emacs-org-auto-expand
   (let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62")
         (revision "1"))
@@ -24565,6 +31853,15 @@ (define-public emacs-org-auto-expand
 files to be expanded upon opening them.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-auto-expand
+  (package-with-emacs-minimal emacs-org-auto-expand))
+
+(define-public emacs-next-org-auto-expand
+  (package-with-emacs-next emacs-org-auto-expand))
+
+(define-public emacs-pgtk-org-auto-expand
+  (package-with-emacs-pgtk emacs-org-auto-expand))
+
 (define-public emacs-parsebib
   (package
     (name "emacs-parsebib")
@@ -24585,6 +31882,15 @@ (define-public emacs-parsebib
      "This package provides an Emacs library for parsing @file{.bib} files.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-parsebib
+  (package-with-emacs-minimal emacs-parsebib))
+
+(define-public emacs-next-parsebib
+  (package-with-emacs-next emacs-parsebib))
+
+(define-public emacs-pgtk-parsebib
+  (package-with-emacs-pgtk emacs-parsebib))
+
 (define-public emacs-ebib
   (package
     (name "emacs-ebib")
@@ -24615,6 +31921,15 @@ (define-public emacs-ebib
     (license (list license:bsd-3
                    license:gpl3+))))
 
+(define-public emacs-minimal-ebib
+  (package-with-emacs-minimal emacs-ebib))
+
+(define-public emacs-next-ebib
+  (package-with-emacs-next emacs-ebib))
+
+(define-public emacs-pgtk-ebib
+  (package-with-emacs-pgtk emacs-ebib))
+
 (define-public emacs-biblio
   (package
     (name "emacs-biblio")
@@ -24641,6 +31956,15 @@ (define-public emacs-biblio
 automatically fetched from well-curated sources, and formatted as BibTeX.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-biblio
+  (package-with-emacs-minimal emacs-biblio))
+
+(define-public emacs-next-biblio
+  (package-with-emacs-next emacs-biblio))
+
+(define-public emacs-pgtk-biblio
+  (package-with-emacs-pgtk emacs-biblio))
+
 (define-public emacs-citar
   (package
     (name "emacs-citar")
@@ -24657,7 +31981,6 @@ (define-public emacs-citar
     (build-system emacs-build-system)
     (arguments
      (list
-      #:emacs emacs-no-x
       #:tests? #true
       #:test-command #~(list "emacs" "--batch" "-L" "."
                              "-l" "test/citar-test.el"
@@ -24688,7 +32011,17 @@ (define-public emacs-citar
 
 With Embark, it also makes available at-point actions in Org
 citations.")
-    (license license:gpl3+)))
+    (license license:gpl3+)
+    (properties `((minimal-variant . ,(delay emacs-no-x-toolkit-citar))))))
+
+(define-public emacs-no-x-toolkit-citar
+  (package-with-emacs-no-x-toolkit emacs-citar))
+
+(define-public emacs-next-citar
+  (package-with-emacs-next emacs-citar))
+
+(define-public emacs-pgtk-citar
+  (package-with-emacs-pgtk emacs-citar))
 
 (define-public emacs-citar-org-roam
   (package
@@ -24718,7 +32051,18 @@ (define-public emacs-citar-org-roam
 @item ability to query note citations by reference
 @item ``live'' updating of Citar UI for presence of notes
 @end itemize")
-    (license license:gpl3+)))
+    (license license:gpl3+)
+    (properties
+     `((minimal-variant . ,(delay emacs-no-x-toolkit-citar-org-roam))))))
+
+(define-public emacs-no-x-toolkit-citar-org-roam
+  (package-with-emacs-minimal emacs-citar-org-roam))
+
+(define-public emacs-next-citar-org-roam
+  (package-with-emacs-next emacs-citar-org-roam))
+
+(define-public emacs-pgtk-citar-org-roam
+  (package-with-emacs-pgtk emacs-citar-org-roam))
 
 (define-public emacs-citar-denote
   (package
@@ -24741,7 +32085,18 @@ (define-public emacs-citar-denote
     (description
      "@code{citar-denote} is a minor-mode integrating the Emacs Citar and
 Denote packages to enable create managing bibliographic notes and citations.")
-    (license license:gpl3+)))
+    (license license:gpl3+)
+    (properties
+     `((minimal-variant . ,(delay emacs-no-x-toolkit-citar-denote))))))
+
+(define-public emacs-no-x-toolkit-citar-denote
+  (package-with-emacs-no-x-toolkit emacs-citar-denote))
+
+(define-public emacs-next-citar-denote
+  (package-with-emacs-next emacs-citar-denote))
+
+(define-public emacs-pgtk-citar-denote
+  (package-with-emacs-pgtk emacs-citar-denote))
 
 (define-public emacs-helm-bibtex
   (let ((commit "8ebf50d5bd368082d0b7ab79d26a52f372cdef98")
@@ -24789,6 +32144,15 @@ (define-public emacs-helm-bibtex
 @end itemize\n")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-helm-bibtex
+  (package-with-emacs-minimal emacs-helm-bibtex))
+
+(define-public emacs-next-helm-bibtex
+  (package-with-emacs-next emacs-helm-bibtex))
+
+(define-public emacs-pgtk-helm-bibtex
+  (package-with-emacs-pgtk emacs-helm-bibtex))
+
 (define-public emacs-ewmctrl
   (package
     (name "emacs-ewmctrl")
@@ -24823,6 +32187,15 @@ (define-public emacs-ewmctrl
 @code{wmctrl} command-line window-management program.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ewmctrl
+  (package-with-emacs-minimal emacs-ewmctrl))
+
+(define-public emacs-next-ewmctrl
+  (package-with-emacs-next emacs-ewmctrl))
+
+(define-public emacs-pgtk-ewmctrl
+  (package-with-emacs-pgtk emacs-ewmctrl))
+
 (define-public emacs-erc-image
   (let ((commit "82fb3871f02e24b1e880770b9a3d187aab43d0f0")
         (revision "3"))
@@ -24853,6 +32226,15 @@ (define-public emacs-erc-image
 and @code{erc-send-modify-hook} to download and show images.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-erc-image
+  (package-with-emacs-minimal emacs-erc-image))
+
+(define-public emacs-next-erc-image
+  (package-with-emacs-next emacs-erc-image))
+
+(define-public emacs-pgtk-erc-image
+  (package-with-emacs-pgtk emacs-erc-image))
+
 (define-public emacs-helm-gtags
   (package
     (name "emacs-helm-gtags")
@@ -24875,6 +32257,15 @@ (define-public emacs-helm-gtags
      "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-helm-gtags
+  (package-with-emacs-minimal emacs-helm-gtags))
+
+(define-public emacs-next-helm-gtags
+  (package-with-emacs-next emacs-helm-gtags))
+
+(define-public emacs-pgtk-helm-gtags
+  (package-with-emacs-pgtk emacs-helm-gtags))
+
 (define-public emacs-list-utils
   ;; Use a git snapshot until upstream fixes the build with emacs 28.1.
   ;; See <http://issues.guix.gnu.org/55558>.
@@ -24898,6 +32289,15 @@ (define-public emacs-list-utils
        "This package provides a list manipulation library for Emacs.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-list-utils
+  (package-with-emacs-minimal emacs-list-utils))
+
+(define-public emacs-next-list-utils
+  (package-with-emacs-next emacs-list-utils))
+
+(define-public emacs-pgtk-list-utils
+  (package-with-emacs-pgtk emacs-list-utils))
+
 (define-public emacs-parsec
   (package
     (name "emacs-parsec")
@@ -24923,6 +32323,15 @@ (define-public emacs-parsec
 that it can display an error message showing how the parser fails.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-parsec
+  (package-with-emacs-minimal emacs-parsec))
+
+(define-public emacs-next-parsec
+  (package-with-emacs-next emacs-parsec))
+
+(define-public emacs-pgtk-parsec
+  (package-with-emacs-pgtk emacs-parsec))
+
 (define-public emacs-move-text
   (package
     (name "emacs-move-text")
@@ -24944,6 +32353,15 @@ (define-public emacs-move-text
 region instead.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-move-text
+  (package-with-emacs-minimal emacs-move-text))
+
+(define-public emacs-next-move-text
+  (package-with-emacs-next emacs-move-text))
+
+(define-public emacs-pgtk-move-text
+  (package-with-emacs-pgtk emacs-move-text))
+
 (define-public emacs-validate
   (package
     (name "emacs-validate")
@@ -24964,6 +32382,15 @@ (define-public emacs-validate
 schema validation.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-validate
+  (package-with-emacs-minimal emacs-validate))
+
+(define-public emacs-next-validate
+  (package-with-emacs-next emacs-validate))
+
+(define-public emacs-pgtk-validate
+  (package-with-emacs-pgtk emacs-validate))
+
 (define-public emacs-rainbow-blocks
   (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
     (package
@@ -24987,6 +32414,15 @@ (define-public emacs-rainbow-blocks
 orient yourself in the code, and tell which statements are at a given level.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-rainbow-blocks
+  (package-with-emacs-minimal emacs-rainbow-blocks))
+
+(define-public emacs-next-rainbow-blocks
+  (package-with-emacs-next emacs-rainbow-blocks))
+
+(define-public emacs-pgtk-rainbow-blocks
+  (package-with-emacs-pgtk emacs-rainbow-blocks))
+
 (define-public emacs-tree-mode
   (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
         (revision "1"))
@@ -25011,6 +32447,15 @@ (define-public emacs-tree-mode
        "This package provides an Emacs library to manage tree widgets.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-tree-mode
+  (package-with-emacs-minimal emacs-tree-mode))
+
+(define-public emacs-next-tree-mode
+  (package-with-emacs-next emacs-tree-mode))
+
+(define-public emacs-pgtk-tree-mode
+  (package-with-emacs-pgtk emacs-tree-mode))
+
 (define-public emacs-md4rd
   (package
     (name "emacs-md4rd")
@@ -25033,6 +32478,15 @@ (define-public emacs-md4rd
      "This package allows reading Reddit from within Emacs interactively.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-md4rd
+  (package-with-emacs-minimal emacs-md4rd))
+
+(define-public emacs-next-md4rd
+  (package-with-emacs-next emacs-md4rd))
+
+(define-public emacs-pgtk-md4rd
+  (package-with-emacs-pgtk emacs-md4rd))
+
 (define-public emacs-pulseaudio-control
   (let ((commit "34a6114357dbbc6b6720aa013e0f8a48f3739403")
         (revision "0"))
@@ -25065,6 +32519,15 @@ (define-public emacs-pulseaudio-control
        "This package allows controlling Pulseaudio from Emacs.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-pulseaudio-control
+  (package-with-emacs-minimal emacs-pulseaudio-control))
+
+(define-public emacs-next-pulseaudio-control
+  (package-with-emacs-next emacs-pulseaudio-control))
+
+(define-public emacs-pgtk-pulseaudio-control
+  (package-with-emacs-pgtk emacs-pulseaudio-control))
+
 (define-public emacs-smudge
   (let ((commit "4a9c5b34e9bc0a694d0faf8c2f83dc244b8b6a2f")
 	(revision "1"))
@@ -25090,6 +32553,15 @@ (define-public emacs-smudge
 subscription.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-smudge
+  (package-with-emacs-minimal emacs-smudge))
+
+(define-public emacs-next-smudge
+  (package-with-emacs-next emacs-smudge))
+
+(define-public emacs-pgtk-smudge
+  (package-with-emacs-pgtk emacs-smudge))
+
 (define-public emacs-pulsar
   (package
     (name "emacs-pulsar")
@@ -25124,6 +32596,15 @@ (define-public emacs-pulsar
     (license (list license:gpl3+
                    license:fdl1.3+)))) ; GFDLv1.3+ for the manual
 
+(define-public emacs-minimal-pulsar
+  (package-with-emacs-minimal emacs-pulsar))
+
+(define-public emacs-next-pulsar
+  (package-with-emacs-next emacs-pulsar))
+
+(define-public emacs-pgtk-pulsar
+  (package-with-emacs-pgtk emacs-pulsar))
+
 (define-public emacs-datetime
   (package
     (name "emacs-datetime")
@@ -25149,6 +32630,15 @@ (define-public emacs-datetime
 recoding timestamps and date-time format strings.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-datetime
+  (package-with-emacs-minimal emacs-datetime))
+
+(define-public emacs-next-datetime
+  (package-with-emacs-next emacs-datetime))
+
+(define-public emacs-pgtk-datetime
+  (package-with-emacs-pgtk emacs-datetime))
+
 (define-public emacs-org-mind-map
   ;; XXX: Upstream does not provide any tag.  The commit below corresponds to
   ;; an exact version bump from the main file.
@@ -25174,6 +32664,15 @@ (define-public emacs-org-mind-map
        "This package creates Graphviz directed graphs from Org files.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-mind-map
+  (package-with-emacs-minimal emacs-org-mind-map))
+
+(define-public emacs-next-org-mind-map
+  (package-with-emacs-next emacs-org-mind-map))
+
+(define-public emacs-pgtk-org-mind-map
+  (package-with-emacs-pgtk emacs-org-mind-map))
+
 (define-public emacs-npm-mode
   (package
     (name "emacs-npm-mode")
@@ -25194,6 +32693,15 @@ (define-public emacs-npm-mode
      "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-npm-mode
+  (package-with-emacs-minimal emacs-npm-mode))
+
+(define-public emacs-next-npm-mode
+  (package-with-emacs-next emacs-npm-mode))
+
+(define-public emacs-pgtk-npm-mode
+  (package-with-emacs-pgtk emacs-npm-mode))
+
 (define-public emacs-itail
   ;; XXX: Upstream provides no tags.  The commit below corresponds to an exact
   ;; version bump from main file.
@@ -25218,6 +32726,15 @@ (define-public emacs-itail
 the tailed file.  It works locally or on remote files using Tramp.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-itail
+  (package-with-emacs-minimal emacs-itail))
+
+(define-public emacs-next-itail
+  (package-with-emacs-next emacs-itail))
+
+(define-public emacs-pgtk-itail
+  (package-with-emacs-pgtk emacs-itail))
+
 (define-public emacs-loop
   (package
     (name "emacs-loop")
@@ -25244,6 +32761,15 @@ (define-public emacs-loop
 continue.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-loop
+  (package-with-emacs-minimal emacs-loop))
+
+(define-public emacs-next-loop
+  (package-with-emacs-next emacs-loop))
+
+(define-public emacs-pgtk-loop
+  (package-with-emacs-pgtk emacs-loop))
+
 (define-public emacs-elisp-refs
   (package
     (name "emacs-elisp-refs")
@@ -25278,6 +32804,15 @@ (define-public emacs-elisp-refs
 never confused by comments or @code{foo-bar} matching @code{foo}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-elisp-refs
+  (package-with-emacs-minimal emacs-elisp-refs))
+
+(define-public emacs-next-elisp-refs
+  (package-with-emacs-next emacs-elisp-refs))
+
+(define-public emacs-pgtk-elisp-refs
+  (package-with-emacs-pgtk emacs-elisp-refs))
+
 (define-public emacs-crdt
   ;; XXX: Upstream does not always tag new releases.  The commit below
   ;; corresponds exactly to latest version bump.
@@ -25306,6 +32841,15 @@ (define-public emacs-crdt
 mode.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-crdt
+  (package-with-emacs-minimal emacs-crdt))
+
+(define-public emacs-next-crdt
+  (package-with-emacs-next emacs-crdt))
+
+(define-public emacs-pgtk-crdt
+  (package-with-emacs-pgtk emacs-crdt))
+
 (define-public emacs-crux
   (package
     (name "emacs-crux")
@@ -25327,6 +32871,15 @@ (define-public emacs-crux
      "@code{crux} provides a collection of useful functions for Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-crux
+  (package-with-emacs-minimal emacs-crux))
+
+(define-public emacs-next-crux
+  (package-with-emacs-next emacs-crux))
+
+(define-public emacs-pgtk-crux
+  (package-with-emacs-pgtk emacs-crux))
+
 (define-public emacs-edit-server
   (package
     (name "emacs-edit-server")
@@ -25355,6 +32908,15 @@ (define-public emacs-edit-server
      "This package provides an edit server to respond to requests from Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-edit-server
+  (package-with-emacs-minimal emacs-edit-server))
+
+(define-public emacs-next-edit-server
+  (package-with-emacs-next emacs-edit-server))
+
+(define-public emacs-pgtk-edit-server
+  (package-with-emacs-pgtk emacs-edit-server))
+
 (define-public emacs-m-buffer-el
   (package
     (name "emacs-m-buffer-el")
@@ -25387,6 +32949,15 @@ (define-public emacs-m-buffer-el
 for operating over the contents of Emacs buffers.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-m-buffer-el
+  (package-with-emacs-minimal emacs-m-buffer-el))
+
+(define-public emacs-next-m-buffer-el
+  (package-with-emacs-next emacs-m-buffer-el))
+
+(define-public emacs-pgtk-m-buffer-el
+  (package-with-emacs-pgtk emacs-m-buffer-el))
+
 (define-public emacs-let-alist
   (package
     (name "emacs-let-alist")
@@ -25405,6 +32976,15 @@ (define-public emacs-let-alist
 macro takes a first argument (whose value must be an alist) and a body.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-let-alist
+  (package-with-emacs-minimal emacs-let-alist))
+
+(define-public emacs-next-let-alist
+  (package-with-emacs-next emacs-let-alist))
+
+(define-public emacs-pgtk-let-alist
+  (package-with-emacs-pgtk emacs-let-alist))
+
 (define-public emacs-esup
   (let ((commit "0de8af8233d9ce1b67f05a50f25c481c4f1118d8")
         (revision "1"))
@@ -25435,6 +33015,15 @@ (define-public emacs-esup
 your Emacs.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-esup
+  (package-with-emacs-minimal emacs-esup))
+
+(define-public emacs-next-esup
+  (package-with-emacs-next emacs-esup))
+
+(define-public emacs-pgtk-esup
+  (package-with-emacs-pgtk emacs-esup))
+
 (define-public emacs-restart-emacs
   (let ((commit "9aa90d3df9e08bc420e1c9845ee3ff568e911bd9")
         (revision "1"))
@@ -25457,6 +33046,15 @@ (define-public emacs-restart-emacs
 within Emacs.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-restart-emacs
+  (package-with-emacs-minimal emacs-restart-emacs))
+
+(define-public emacs-next-restart-emacs
+  (package-with-emacs-next emacs-restart-emacs))
+
+(define-public emacs-pgtk-restart-emacs
+  (package-with-emacs-pgtk emacs-restart-emacs))
+
 (define-public emacs-svg-lib
   ;; XXX: Upstream does not tag releases.  The commit hash below corresponds
   ;; to the version bump.
@@ -25483,6 +33081,15 @@ (define-public emacs-svg-lib
 width is an integer multiple of character width.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-svg-lib
+  (package-with-emacs-minimal emacs-svg-lib))
+
+(define-public emacs-next-svg-lib
+  (package-with-emacs-next emacs-svg-lib))
+
+(define-public emacs-pgtk-svg-lib
+  (package-with-emacs-pgtk emacs-svg-lib))
+
 (define-public emacs-svg-tag-mode
   ;; XXX: Upstream does not tag releases.  The commit hash below corresponds
   ;; to the version bump.
@@ -25508,6 +33115,15 @@ (define-public emacs-svg-tag-mode
 or expressions with SVG rounded box labels that are fully customizable.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-svg-tag-mode
+  (package-with-emacs-minimal emacs-svg-tag-mode))
+
+(define-public emacs-next-svg-tag-mode
+  (package-with-emacs-next emacs-svg-tag-mode))
+
+(define-public emacs-pgtk-svg-tag-mode
+  (package-with-emacs-pgtk emacs-svg-tag-mode))
+
 (define-public emacs-kind-icon
   (package
     (name "emacs-kind-icon")
@@ -25529,6 +33145,15 @@ (define-public emacs-kind-icon
 functions.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-kind-icon
+  (package-with-emacs-minimal emacs-kind-icon))
+
+(define-public emacs-next-kind-icon
+  (package-with-emacs-next emacs-kind-icon))
+
+(define-public emacs-pgtk-kind-icon
+  (package-with-emacs-pgtk emacs-kind-icon))
+
 (define-public emacs-svg-icon
   (let ((commit "ebc2b8d0f6c680fd575a90e683cc7b832acd1eb7")
         (revision "1"))
@@ -25553,6 +33178,15 @@ (define-public emacs-svg-icon
 without disturbing alignment.")
       (license (list license:gpl3+)))))
 
+(define-public emacs-minimal-svg-icon
+  (package-with-emacs-minimal emacs-svg-icon))
+
+(define-public emacs-next-svg-icon
+  (package-with-emacs-next emacs-svg-icon))
+
+(define-public emacs-pgtk-svg-icon
+  (package-with-emacs-pgtk emacs-svg-icon))
+
 (define-public emacs-sourcemap
   (package
     (name "emacs-sourcemap")
@@ -25572,6 +33206,15 @@ (define-public emacs-sourcemap
     (description "Sourcemap parser")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-sourcemap
+  (package-with-emacs-minimal emacs-sourcemap))
+
+(define-public emacs-next-sourcemap
+  (package-with-emacs-next emacs-sourcemap))
+
+(define-public emacs-pgtk-sourcemap
+  (package-with-emacs-pgtk emacs-sourcemap))
+
 (define-public emacs-macrostep
   (package
     (name "emacs-macrostep")
@@ -25620,6 +33263,15 @@ (define-public emacs-macrostep
 expansions for debugging with Edebug as normal.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-macrostep
+  (package-with-emacs-minimal emacs-macrostep))
+
+(define-public emacs-next-macrostep
+  (package-with-emacs-next emacs-macrostep))
+
+(define-public emacs-pgtk-macrostep
+  (package-with-emacs-pgtk emacs-macrostep))
+
 (define-public emacs-macrostep-geiser
   ;; XXX: Upstream does not tag commits (yet).  The commit below matches the
   ;; version bump.
@@ -25644,6 +33296,15 @@ (define-public emacs-macrostep-geiser
        "This plug-in implements a Macrostep back-end powered by Geiser.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-macrostep-geiser
+  (package-with-emacs-minimal emacs-macrostep-geiser))
+
+(define-public emacs-next-macrostep-geiser
+  (package-with-emacs-next emacs-macrostep-geiser))
+
+(define-public emacs-pgtk-macrostep-geiser
+  (package-with-emacs-pgtk emacs-macrostep-geiser))
+
 (define-public emacs-parent-mode
   (package
     (name "emacs-parent-mode")
@@ -25671,6 +33332,15 @@ (define-public emacs-parent-mode
 modes.")
     (license license:bsd-2)))
 
+(define-public emacs-minimal-parent-mode
+  (package-with-emacs-minimal emacs-parent-mode))
+
+(define-public emacs-next-parent-mode
+  (package-with-emacs-next emacs-parent-mode))
+
+(define-public emacs-pgtk-parent-mode
+  (package-with-emacs-pgtk emacs-parent-mode))
+
 (define-public emacs-lacarte
   (let ((commit "79afc5d2406dae5aabc1c12089e8e2e1990abd85")
         (revision "1"))
@@ -25699,6 +33369,15 @@ (define-public emacs-lacarte
 corresponding command is executed.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-lacarte
+  (package-with-emacs-minimal emacs-lacarte))
+
+(define-public emacs-next-lacarte
+  (package-with-emacs-next emacs-lacarte))
+
+(define-public emacs-pgtk-lacarte
+  (package-with-emacs-pgtk emacs-lacarte))
+
 (define-public emacs-latex-preview-pane
   (let ((commit "5297668a89996b50b2b62f99cba01cc544dbed2e")
         (revision "0"))
@@ -25727,6 +33406,15 @@ (define-public emacs-latex-preview-pane
 buffer.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-latex-preview-pane
+  (package-with-emacs-minimal emacs-latex-preview-pane))
+
+(define-public emacs-next-latex-preview-pane
+  (package-with-emacs-next emacs-latex-preview-pane))
+
+(define-public emacs-pgtk-latex-preview-pane
+  (package-with-emacs-pgtk emacs-latex-preview-pane))
+
 (define-public emacs-isearch-prop
   (let ((commit "4a2765f835dd115d472142da05215c4c748809f4")
         (revision "2"))
@@ -25753,6 +33441,15 @@ (define-public emacs-isearch-prop
   provided specially by this library.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-isearch-prop
+  (package-with-emacs-minimal emacs-isearch-prop))
+
+(define-public emacs-next-isearch-prop
+  (package-with-emacs-next emacs-isearch-prop))
+
+(define-public emacs-pgtk-isearch-prop
+  (package-with-emacs-pgtk emacs-isearch-prop))
+
 (define-public emacs-company-lua
   (let ((commit "29f6819de4d691e5fd0b62893a9f4fbc1c6fcb52")
         (revision "2"))
@@ -25780,6 +33477,15 @@ (define-public emacs-company-lua
        "This package provides Company backend for Lua programming language.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-company-lua
+  (package-with-emacs-minimal emacs-company-lua))
+
+(define-public emacs-next-company-lua
+  (package-with-emacs-next emacs-company-lua))
+
+(define-public emacs-pgtk-company-lua
+  (package-with-emacs-pgtk emacs-company-lua))
+
 (define-public emacs-beginend
   (package
     (name "emacs-beginend")
@@ -25805,6 +33511,15 @@ (define-public emacs-beginend
 key again.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-beginend
+  (package-with-emacs-minimal emacs-beginend))
+
+(define-public emacs-next-beginend
+  (package-with-emacs-next emacs-beginend))
+
+(define-public emacs-pgtk-beginend
+  (package-with-emacs-pgtk emacs-beginend))
+
 (define-public emacs-mbsync
   (let ((commit "d3c81da81ce5b154c0d048047a47277338721a70")
         (revision "5"))
@@ -25828,6 +33543,15 @@ (define-public emacs-mbsync
 within Emacs.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-mbsync
+  (package-with-emacs-minimal emacs-mbsync))
+
+(define-public emacs-next-mbsync
+  (package-with-emacs-next emacs-mbsync))
+
+(define-public emacs-pgtk-mbsync
+  (package-with-emacs-pgtk emacs-mbsync))
+
 (define-public emacs-ibrowse
   (package
     (name "emacs-ibrowse")
@@ -25849,6 +33573,15 @@ (define-public emacs-ibrowse
 tabs, history, or bookmarks from Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ibrowse
+  (package-with-emacs-minimal emacs-ibrowse))
+
+(define-public emacs-next-ibrowse
+  (package-with-emacs-next emacs-ibrowse))
+
+(define-public emacs-pgtk-ibrowse
+  (package-with-emacs-pgtk emacs-ibrowse))
+
 (define-public emacs-ibuffer-projectile
   (package
     (name "emacs-ibuffer-projectile")
@@ -25873,6 +33606,15 @@ (define-public emacs-ibuffer-projectile
 by their Projectile root directory.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ibuffer-projectile
+  (package-with-emacs-minimal emacs-ibuffer-projectile))
+
+(define-public emacs-next-ibuffer-projectile
+  (package-with-emacs-next emacs-ibuffer-projectile))
+
+(define-public emacs-pgtk-ibuffer-projectile
+  (package-with-emacs-pgtk emacs-ibuffer-projectile))
+
 (define-public emacs-ibuffer-vc
   (package
     (name "emacs-ibuffer-vc")
@@ -25895,6 +33637,15 @@ (define-public emacs-ibuffer-vc
 by the status of listed files.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ibuffer-vc
+  (package-with-emacs-minimal emacs-ibuffer-vc))
+
+(define-public emacs-next-ibuffer-vc
+  (package-with-emacs-next emacs-ibuffer-vc))
+
+(define-public emacs-pgtk-ibuffer-vc
+  (package-with-emacs-pgtk emacs-ibuffer-vc))
+
 (define-public emacs-elm-mode
   (package
     (name "emacs-elm-mode")
@@ -25931,6 +33682,15 @@ (define-public emacs-elm-mode
 @end itemize")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-elm-mode
+  (package-with-emacs-minimal emacs-elm-mode))
+
+(define-public emacs-next-elm-mode
+  (package-with-emacs-next emacs-elm-mode))
+
+(define-public emacs-pgtk-elm-mode
+  (package-with-emacs-pgtk emacs-elm-mode))
+
 (define-public emacs-helm-mode-manager
   (package
     (name "emacs-helm-mode-manager")
@@ -25963,6 +33723,15 @@ (define-public emacs-helm-mode-manager
 documentation.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-helm-mode-manager
+  (package-with-emacs-minimal emacs-helm-mode-manager))
+
+(define-public emacs-next-helm-mode-manager
+  (package-with-emacs-next emacs-helm-mode-manager))
+
+(define-public emacs-pgtk-helm-mode-manager
+  (package-with-emacs-pgtk emacs-helm-mode-manager))
+
 (define-public emacs-hy-mode
   (package
     (name "emacs-hy-mode")
@@ -25984,6 +33753,15 @@ (define-public emacs-hy-mode
     (description "This package provides a major mode for Hylang.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-hy-mode
+  (package-with-emacs-minimal emacs-hy-mode))
+
+(define-public emacs-next-hy-mode
+  (package-with-emacs-next emacs-hy-mode))
+
+(define-public emacs-pgtk-hy-mode
+  (package-with-emacs-pgtk emacs-hy-mode))
+
 (define-public emacs-web-beautify
   (package
     (name "emacs-web-beautify")
@@ -26004,6 +33782,15 @@ (define-public emacs-web-beautify
 CSS, JavaScript, JSON.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-web-beautify
+  (package-with-emacs-minimal emacs-web-beautify))
+
+(define-public emacs-next-web-beautify
+  (package-with-emacs-next emacs-web-beautify))
+
+(define-public emacs-pgtk-web-beautify
+  (package-with-emacs-pgtk emacs-web-beautify))
+
 (define-public emacs-helm-shell-history
   (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
     (package
@@ -26039,6 +33826,15 @@ (define-public emacs-helm-shell-history
 throw a shell history.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-helm-shell-history
+  (package-with-emacs-minimal emacs-helm-shell-history))
+
+(define-public emacs-next-helm-shell-history
+  (package-with-emacs-next emacs-helm-shell-history))
+
+(define-public emacs-pgtk-helm-shell-history
+  (package-with-emacs-pgtk emacs-helm-shell-history))
+
 (define-public emacs-discover-my-major
   (package
     (name "emacs-discover-my-major")
@@ -26062,6 +33858,15 @@ (define-public emacs-discover-my-major
 their meaning for the current Emacs major-mode.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-discover-my-major
+  (package-with-emacs-minimal emacs-discover-my-major))
+
+(define-public emacs-next-discover-my-major
+  (package-with-emacs-next emacs-discover-my-major))
+
+(define-public emacs-pgtk-discover-my-major
+  (package-with-emacs-pgtk emacs-discover-my-major))
+
 (define-public emacs-org-ref
   (let ((commit "bb375f366f883e5b60e3bb625f2acd026811fb55")
         (revision "0"))
@@ -26123,6 +33928,15 @@ (define-public emacs-org-ref
 notes.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-ref
+  (package-with-emacs-minimal emacs-org-ref))
+
+(define-public emacs-next-org-ref
+  (package-with-emacs-next emacs-org-ref))
+
+(define-public emacs-pgtk-org-ref
+  (package-with-emacs-pgtk emacs-org-ref))
+
 (define-public emacs-org-reveal
   (let ((commit "f55c851bf6aeb1bb2a7f6cf0f2b7bd0e79c4a5a0"))
     (package
@@ -26145,6 +33959,15 @@ (define-public emacs-org-reveal
 powerful Org contents.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-reveal
+  (package-with-emacs-minimal emacs-org-reveal))
+
+(define-public emacs-next-org-reveal
+  (package-with-emacs-next emacs-org-reveal))
+
+(define-public emacs-pgtk-org-reveal
+  (package-with-emacs-pgtk emacs-org-reveal))
+
 (define-public emacs-org-re-reveal
   (package
     (name "emacs-org-re-reveal")
@@ -26168,6 +33991,15 @@ (define-public emacs-org-re-reveal
 files.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-re-reveal
+  (package-with-emacs-minimal emacs-org-re-reveal))
+
+(define-public emacs-next-org-re-reveal
+  (package-with-emacs-next emacs-org-re-reveal))
+
+(define-public emacs-pgtk-org-re-reveal
+  (package-with-emacs-pgtk emacs-org-re-reveal))
+
 (define-public emacs-add-hooks
   (package
     (name "emacs-add-hooks")
@@ -26188,6 +34020,15 @@ (define-public emacs-add-hooks
 duplicate hook and function names further into a single declarative call.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-add-hooks
+  (package-with-emacs-minimal emacs-add-hooks))
+
+(define-public emacs-next-add-hooks
+  (package-with-emacs-next emacs-add-hooks))
+
+(define-public emacs-pgtk-add-hooks
+  (package-with-emacs-pgtk emacs-add-hooks))
+
 (define-public emacs-fancy-battery
   (package
     (name "emacs-fancy-battery")
@@ -26210,6 +34051,15 @@ (define-public emacs-fancy-battery
 more customizable.")
     (license license:gpl3)))
 
+(define-public emacs-minimal-fancy-battery
+  (package-with-emacs-minimal emacs-fancy-battery))
+
+(define-public emacs-next-fancy-battery
+  (package-with-emacs-next emacs-fancy-battery))
+
+(define-public emacs-pgtk-fancy-battery
+  (package-with-emacs-pgtk emacs-fancy-battery))
+
 (define-public emacs-fancy-narrow
   (package
     (name "emacs-fancy-narrow")
@@ -26235,6 +34085,15 @@ (define-public emacs-fancy-narrow
 buffer.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-fancy-narrow
+  (package-with-emacs-minimal emacs-fancy-narrow))
+
+(define-public emacs-next-fancy-narrow
+  (package-with-emacs-next emacs-fancy-narrow))
+
+(define-public emacs-pgtk-fancy-narrow
+  (package-with-emacs-pgtk emacs-fancy-narrow))
+
 (define-public emacs-hideshowvis
   (let ((commit "614e856620445166a60c00a1c4653dbd59c871c9")
         (revision "1"))
@@ -26257,6 +34116,15 @@ (define-public emacs-hideshowvis
 regions which @code{hideshow} can hide.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-hideshowvis
+  (package-with-emacs-minimal emacs-hideshowvis))
+
+(define-public emacs-next-hideshowvis
+  (package-with-emacs-next emacs-hideshowvis))
+
+(define-public emacs-pgtk-hideshowvis
+  (package-with-emacs-pgtk emacs-hideshowvis))
+
 (define-public emacs-know-your-http-well
   (package
     (name "emacs-know-your-http-well")
@@ -26291,6 +34159,15 @@ (define-public emacs-know-your-http-well
     (description "Meaning of HTTP headers codes.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-know-your-http-well
+  (package-with-emacs-minimal emacs-know-your-http-well))
+
+(define-public emacs-next-know-your-http-well
+  (package-with-emacs-next emacs-know-your-http-well))
+
+(define-public emacs-pgtk-know-your-http-well
+  (package-with-emacs-pgtk emacs-know-your-http-well))
+
 (define-public emacs-navi-mode
   (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
     (package
@@ -26315,6 +34192,15 @@ (define-public emacs-navi-mode
        "This package provides an Emacs major-mode for easy buffer-navigation")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-navi-mode
+  (package-with-emacs-minimal emacs-navi-mode))
+
+(define-public emacs-next-navi-mode
+  (package-with-emacs-next emacs-navi-mode))
+
+(define-public emacs-pgtk-navi-mode
+  (package-with-emacs-pgtk emacs-navi-mode))
+
 (define-public emacs-download-region
   (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
         (revision "1"))
@@ -26339,6 +34225,15 @@ (define-public emacs-download-region
 downloading manager for Emacs.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-download-region
+  (package-with-emacs-minimal emacs-download-region))
+
+(define-public emacs-next-download-region
+  (package-with-emacs-next emacs-download-region))
+
+(define-public emacs-pgtk-download-region
+  (package-with-emacs-pgtk emacs-download-region))
+
 (define-public emacs-helpful
   (package
     (name "emacs-helpful")
@@ -26384,6 +34279,15 @@ (define-public emacs-helpful
 @end itemize\n")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-helpful
+  (package-with-emacs-minimal emacs-helpful))
+
+(define-public emacs-next-helpful
+  (package-with-emacs-next emacs-helpful))
+
+(define-public emacs-pgtk-helpful
+  (package-with-emacs-pgtk emacs-helpful))
+
 (define-public emacs-logview
   (package
     (name "emacs-logview")
@@ -26405,6 +34309,15 @@ (define-public emacs-logview
     (description "@code{logview} provides an Emacs mode to view log files.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-logview
+  (package-with-emacs-minimal emacs-logview))
+
+(define-public emacs-next-logview
+  (package-with-emacs-next emacs-logview))
+
+(define-public emacs-pgtk-logview
+  (package-with-emacs-pgtk emacs-logview))
+
 (define-public emacs-suggest
   (package
     (name "emacs-suggest")
@@ -26439,6 +34352,15 @@ (define-public emacs-suggest
 functions.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-suggest
+  (package-with-emacs-minimal emacs-suggest))
+
+(define-public emacs-next-suggest
+  (package-with-emacs-next emacs-suggest))
+
+(define-public emacs-pgtk-suggest
+  (package-with-emacs-pgtk emacs-suggest))
+
 (define-public emacs-benchmark-init
   (package
     (name "emacs-benchmark-init")
@@ -26459,6 +34381,15 @@ (define-public emacs-benchmark-init
 time is being spent during Emacs startup in order to optimize startup time.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-benchmark-init
+  (package-with-emacs-minimal emacs-benchmark-init))
+
+(define-public emacs-next-benchmark-init
+  (package-with-emacs-next emacs-benchmark-init))
+
+(define-public emacs-pgtk-benchmark-init
+  (package-with-emacs-pgtk emacs-benchmark-init))
+
 (define-public emacs-magit-gerrit
   (let ((commit "a97521574c5b7d4b7ab89e25c358c87fd5b1887f")
         (revision "1"))
@@ -26484,6 +34415,15 @@ (define-public emacs-magit-gerrit
 Emacs.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-magit-gerrit
+  (package-with-emacs-minimal emacs-magit-gerrit))
+
+(define-public emacs-next-magit-gerrit
+  (package-with-emacs-next emacs-magit-gerrit))
+
+(define-public emacs-pgtk-magit-gerrit
+  (package-with-emacs-pgtk emacs-magit-gerrit))
+
 (define-public emacs-magit-org-todos-el
   (package
     (name "emacs-magit-org-todos-el")
@@ -26511,6 +34451,15 @@ (define-public emacs-magit-org-todos-el
 buffer with each of your todos.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-magit-org-todos-el
+  (package-with-emacs-minimal emacs-magit-org-todos-el))
+
+(define-public emacs-next-magit-org-todos-el
+  (package-with-emacs-next emacs-magit-org-todos-el))
+
+(define-public emacs-pgtk-magit-org-todos-el
+  (package-with-emacs-pgtk emacs-magit-org-todos-el))
+
 (define-public emacs-vcsh
   (package
     (name "emacs-vcsh")
@@ -26534,6 +34483,15 @@ (define-public emacs-vcsh
 Magit.")
     (license license:public-domain)))
 
+(define-public emacs-minimal-vcsh
+  (package-with-emacs-minimal emacs-vcsh))
+
+(define-public emacs-next-vcsh
+  (package-with-emacs-next emacs-vcsh))
+
+(define-public emacs-pgtk-vcsh
+  (package-with-emacs-pgtk emacs-vcsh))
+
 (define-public emacs-f3
   (package
     (name "emacs-f3")
@@ -26556,6 +34514,15 @@ (define-public emacs-f3
      "The Fantastic File Finder for Emacs.  Find files fast, using helm.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-f3
+  (package-with-emacs-minimal emacs-f3))
+
+(define-public emacs-next-f3
+  (package-with-emacs-next emacs-f3))
+
+(define-public emacs-pgtk-f3
+  (package-with-emacs-pgtk emacs-f3))
+
 (define-public emacs-lice-el
   (package
     (name "emacs-lice-el")
@@ -26590,6 +34557,15 @@ (define-public emacs-lice-el
 @end itemize\n")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-lice-el
+  (package-with-emacs-minimal emacs-lice-el))
+
+(define-public emacs-next-lice-el
+  (package-with-emacs-next emacs-lice-el))
+
+(define-public emacs-pgtk-lice-el
+  (package-with-emacs-pgtk emacs-lice-el))
+
 (define-public emacs-academic-phrases
   (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
     (package
@@ -26622,6 +34598,15 @@ (define-public emacs-academic-phrases
 browse the phrases by the paper section and fill-in the blanks if required.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-academic-phrases
+  (package-with-emacs-minimal emacs-academic-phrases))
+
+(define-public emacs-next-academic-phrases
+  (package-with-emacs-next emacs-academic-phrases))
+
+(define-public emacs-pgtk-academic-phrases
+  (package-with-emacs-pgtk emacs-academic-phrases))
+
 (define-public emacs-auto-yasnippet
   (let ((commit "624b0d9711222073a2a3f2186e2605eb99fc83c9")
         (revision "2"))
@@ -26652,6 +34637,15 @@ (define-public emacs-auto-yasnippet
 yasnippet fields and mirrors to be.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-auto-yasnippet
+  (package-with-emacs-minimal emacs-auto-yasnippet))
+
+(define-public emacs-next-auto-yasnippet
+  (package-with-emacs-next emacs-auto-yasnippet))
+
+(define-public emacs-pgtk-auto-yasnippet
+  (package-with-emacs-pgtk emacs-auto-yasnippet))
+
 (define-public emacs-highlight-numbers
   (package
     (name "emacs-highlight-numbers")
@@ -26677,6 +34671,15 @@ (define-public emacs-highlight-numbers
 \"number\" in given major mode.  See @code{highlight-numbers-modelist}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-highlight-numbers
+  (package-with-emacs-minimal emacs-highlight-numbers))
+
+(define-public emacs-next-highlight-numbers
+  (package-with-emacs-next emacs-highlight-numbers))
+
+(define-public emacs-pgtk-highlight-numbers
+  (package-with-emacs-pgtk emacs-highlight-numbers))
+
 (define-public emacs-darkroom
   (package
     (name "emacs-darkroom")
@@ -26703,6 +34706,15 @@ (define-public emacs-darkroom
 @code{darkroom-mode}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-darkroom
+  (package-with-emacs-minimal emacs-darkroom))
+
+(define-public emacs-next-darkroom
+  (package-with-emacs-next emacs-darkroom))
+
+(define-public emacs-pgtk-darkroom
+  (package-with-emacs-pgtk emacs-darkroom))
+
 (define-public emacs-rsw-elisp
   (package
     (name "emacs-rsw-elisp")
@@ -26726,6 +34738,15 @@ (define-public emacs-rsw-elisp
 interactive behavior should be different.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-rsw-elisp
+  (package-with-emacs-minimal emacs-rsw-elisp))
+
+(define-public emacs-next-rsw-elisp
+  (package-with-emacs-next emacs-rsw-elisp))
+
+(define-public emacs-pgtk-rsw-elisp
+  (package-with-emacs-pgtk emacs-rsw-elisp))
+
 (define-public emacs-default-text-scale
   (package
     (name "emacs-default-text-scale")
@@ -26746,6 +34767,15 @@ (define-public emacs-default-text-scale
 decreasing the default font size in all GUI Emacs frames.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-default-text-scale
+  (package-with-emacs-minimal emacs-default-text-scale))
+
+(define-public emacs-next-default-text-scale
+  (package-with-emacs-next emacs-default-text-scale))
+
+(define-public emacs-pgtk-default-text-scale
+  (package-with-emacs-pgtk emacs-default-text-scale))
+
 (define-public emacs-fixed-pitch
   (package
     (name "emacs-fixed-pitch")
@@ -26769,6 +34799,15 @@ (define-public emacs-fixed-pitch
 a monospaced typeface for code.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-fixed-pitch
+  (package-with-emacs-minimal emacs-fixed-pitch))
+
+(define-public emacs-next-fixed-pitch
+  (package-with-emacs-next emacs-fixed-pitch))
+
+(define-public emacs-pgtk-fixed-pitch
+  (package-with-emacs-pgtk emacs-fixed-pitch))
+
 (define-public emacs-mixed-pitch
   (package
     (name "emacs-mixed-pitch")
@@ -26792,6 +34831,15 @@ (define-public emacs-mixed-pitch
 fixed-pitch,everything else becomes variable-pitch.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-mixed-pitch
+  (package-with-emacs-minimal emacs-mixed-pitch))
+
+(define-public emacs-next-mixed-pitch
+  (package-with-emacs-next emacs-mixed-pitch))
+
+(define-public emacs-pgtk-mixed-pitch
+  (package-with-emacs-pgtk emacs-mixed-pitch))
+
 (define-public emacs-visual-regexp
   (package
     (name "emacs-visual-regexp")
@@ -26812,6 +34860,15 @@ (define-public emacs-visual-regexp
 interactive visual feedback.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-visual-regexp
+  (package-with-emacs-minimal emacs-visual-regexp))
+
+(define-public emacs-next-visual-regexp
+  (package-with-emacs-next emacs-visual-regexp))
+
+(define-public emacs-pgtk-visual-regexp
+  (package-with-emacs-pgtk emacs-visual-regexp))
+
 (define-public emacs-faceup
   (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
         (revision "1"))
@@ -26837,6 +34894,15 @@ (define-public emacs-faceup
 perform regression test for packages that provide font-lock rules.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-faceup
+  (package-with-emacs-minimal emacs-faceup))
+
+(define-public emacs-next-faceup
+  (package-with-emacs-next emacs-faceup))
+
+(define-public emacs-pgtk-faceup
+  (package-with-emacs-pgtk emacs-faceup))
+
 (define-public emacs-racket-mode
   ;; XXX: Upstream does not tag releases, nor does it bump versions.  The
   ;; "0.0.2" version below does not exist.  It might change, tho.  See
@@ -26868,6 +34934,15 @@ (define-public emacs-racket-mode
 It follows DrRacket concepts where applicable.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-racket-mode
+  (package-with-emacs-minimal emacs-racket-mode))
+
+(define-public emacs-next-racket-mode
+  (package-with-emacs-next emacs-racket-mode))
+
+(define-public emacs-pgtk-racket-mode
+  (package-with-emacs-pgtk emacs-racket-mode))
+
 (define-public emacs-ob-racket
   (package
     (name "emacs-ob-racket")
@@ -26889,6 +34964,15 @@ (define-public emacs-ob-racket
 Org Babel in Org mode.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ob-racket
+  (package-with-emacs-minimal emacs-ob-racket))
+
+(define-public emacs-next-ob-racket
+  (package-with-emacs-next emacs-ob-racket))
+
+(define-public emacs-pgtk-ob-racket
+  (package-with-emacs-pgtk emacs-ob-racket))
+
 (define-public emacs-grep-context
   (let ((commit "5a4e3efdf775755c1bbefcfe4b461c1166d81d7d")
         (revision "1"))
@@ -26916,6 +35000,15 @@ (define-public emacs-grep-context
 @code{ivy}.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-grep-context
+  (package-with-emacs-minimal emacs-grep-context))
+
+(define-public emacs-next-grep-context
+  (package-with-emacs-next emacs-grep-context))
+
+(define-public emacs-pgtk-grep-context
+  (package-with-emacs-pgtk emacs-grep-context))
+
 (define-public emacs-helm-firefox
   (package
     (name "emacs-helm-firefox")
@@ -26938,6 +35031,15 @@ (define-public emacs-helm-firefox
     (description "Display firefox bookmarks with Emacs Helm interface")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-helm-firefox
+  (package-with-emacs-minimal emacs-helm-firefox))
+
+(define-public emacs-next-helm-firefox
+  (package-with-emacs-next emacs-helm-firefox))
+
+(define-public emacs-pgtk-helm-firefox
+  (package-with-emacs-pgtk emacs-helm-firefox))
+
 (define-public emacs-interactive-align
   (package
     (name "emacs-interactive-align")
@@ -26958,6 +35060,15 @@ (define-public emacs-interactive-align
     (description "Interactive align-regexp command in Emacs")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-interactive-align
+  (package-with-emacs-minimal emacs-interactive-align))
+
+(define-public emacs-next-interactive-align
+  (package-with-emacs-next emacs-interactive-align))
+
+(define-public emacs-pgtk-interactive-align
+  (package-with-emacs-pgtk emacs-interactive-align))
+
 (define-public emacs-shift-number
   (package
     (name "emacs-shift-number")
@@ -26980,6 +35091,15 @@ (define-public emacs-shift-number
 decrease the number at point.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-shift-number
+  (package-with-emacs-minimal emacs-shift-number))
+
+(define-public emacs-next-shift-number
+  (package-with-emacs-next emacs-shift-number))
+
+(define-public emacs-pgtk-shift-number
+  (package-with-emacs-pgtk emacs-shift-number))
+
 (define-public emacs-highlight-defined
   (package
     (name "emacs-highlight-defined")
@@ -27001,6 +35121,15 @@ (define-public emacs-highlight-defined
 macros, faces and variables.  To enable call @code{highlight-defined-mode}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-highlight-defined
+  (package-with-emacs-minimal emacs-highlight-defined))
+
+(define-public emacs-next-highlight-defined
+  (package-with-emacs-next emacs-highlight-defined))
+
+(define-public emacs-pgtk-highlight-defined
+  (package-with-emacs-pgtk emacs-highlight-defined))
+
 (define-public emacs-parinfer-mode
   (package
     (name "emacs-parinfer-mode")
@@ -27024,6 +35153,15 @@ (define-public emacs-parinfer-mode
 keep Parens and Indentation inline with one another.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-parinfer-mode
+  (package-with-emacs-minimal emacs-parinfer-mode))
+
+(define-public emacs-next-parinfer-mode
+  (package-with-emacs-next emacs-parinfer-mode))
+
+(define-public emacs-pgtk-parinfer-mode
+  (package-with-emacs-pgtk emacs-parinfer-mode))
+
 (define-public emacs-helm-eww
   (package
     (name "emacs-helm-eww")
@@ -27046,6 +35184,15 @@ (define-public emacs-helm-eww
 bookmarks and history.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-helm-eww
+  (package-with-emacs-minimal emacs-helm-eww))
+
+(define-public emacs-next-helm-eww
+  (package-with-emacs-next emacs-helm-eww))
+
+(define-public emacs-pgtk-helm-eww
+  (package-with-emacs-pgtk emacs-helm-eww))
+
 (define-public emacs-stumpwm-mode
     (let ((commit "920f8fc1488f7953f205e1dda4c2ecbbbda56d6")
         (revision "3"))
@@ -27074,6 +35221,15 @@ (define-public emacs-stumpwm-mode
       (description "Emacs minor-mode for Stumpwm")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-stumpwm-mode
+  (package-with-emacs-minimal emacs-stumpwm-mode))
+
+(define-public emacs-next-stumpwm-mode
+  (package-with-emacs-next emacs-stumpwm-mode))
+
+(define-public emacs-pgtk-stumpwm-mode
+  (package-with-emacs-pgtk emacs-stumpwm-mode))
+
 (define-public emacs-irfc
   (package
     (name "emacs-irfc")
@@ -27093,6 +35249,15 @@ (define-public emacs-irfc
      "This package provides an Emacs interface for IETF RFC document.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-irfc
+  (package-with-emacs-minimal emacs-irfc))
+
+(define-public emacs-next-irfc
+  (package-with-emacs-next emacs-irfc))
+
+(define-public emacs-pgtk-irfc
+  (package-with-emacs-pgtk emacs-irfc))
+
 (define-public emacs-ido-at-point
   (package
     (name "emacs-ido-at-point")
@@ -27114,6 +35279,15 @@ (define-public emacs-ido-at-point
     (home-page "https://github.com/katspaugh/ido-at-point")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ido-at-point
+  (package-with-emacs-minimal emacs-ido-at-point))
+
+(define-public emacs-next-ido-at-point
+  (package-with-emacs-next emacs-ido-at-point))
+
+(define-public emacs-pgtk-ido-at-point
+  (package-with-emacs-pgtk emacs-ido-at-point))
+
 (define-public emacs-ido-vertical-mode
   (package
     (name "emacs-ido-vertical-mode")
@@ -27133,6 +35307,15 @@ (define-public emacs-ido-vertical-mode
     (description "Makes ido-mode display prospects vertically.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ido-vertical-mode
+  (package-with-emacs-minimal emacs-ido-vertical-mode))
+
+(define-public emacs-next-ido-vertical-mode
+  (package-with-emacs-next emacs-ido-vertical-mode))
+
+(define-public emacs-pgtk-ido-vertical-mode
+  (package-with-emacs-pgtk emacs-ido-vertical-mode))
+
 (define-public emacs-wordgen
   (package
     (name "emacs-wordgen")
@@ -27159,6 +35342,15 @@ (define-public emacs-wordgen
 using user-provided rules.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-wordgen
+  (package-with-emacs-minimal emacs-wordgen))
+
+(define-public emacs-next-wordgen
+  (package-with-emacs-next emacs-wordgen))
+
+(define-public emacs-pgtk-wordgen
+  (package-with-emacs-pgtk emacs-wordgen))
+
 (define-public emacs-on
   (let ((commit "83baed07a105c135190d49d7ec77f95e8f38fa54")
         (revision "0"))
@@ -27182,6 +35374,15 @@ (define-public emacs-on
 from Doom Emacs.")
       (license license:expat))))
 
+(define-public emacs-minimal-on
+  (package-with-emacs-minimal emacs-on))
+
+(define-public emacs-next-on
+  (package-with-emacs-next emacs-on))
+
+(define-public emacs-pgtk-on
+  (package-with-emacs-pgtk emacs-on))
+
 (define-public emacs-on-screen
   (package
     (name "emacs-on-screen")
@@ -27203,6 +35404,15 @@ (define-public emacs-on-screen
 the previously visible buffer part after each scroll.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-on-screen
+  (package-with-emacs-minimal emacs-on-screen))
+
+(define-public emacs-next-on-screen
+  (package-with-emacs-next emacs-on-screen))
+
+(define-public emacs-pgtk-on-screen
+  (package-with-emacs-pgtk emacs-on-screen))
+
 (define-public emacs-highlight-escape-sequences
   ;; No release upstream.  Extract version from main file.
   (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
@@ -27226,6 +35436,15 @@ (define-public emacs-highlight-escape-sequences
 Emacs minor mode to escape sequences in code.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-highlight-escape-sequences
+  (package-with-emacs-minimal emacs-highlight-escape-sequences))
+
+(define-public emacs-next-highlight-escape-sequences
+  (package-with-emacs-next emacs-highlight-escape-sequences))
+
+(define-public emacs-pgtk-highlight-escape-sequences
+  (package-with-emacs-pgtk emacs-highlight-escape-sequences))
+
 (define-public emacs-dashboard
   (package
     (name "emacs-dashboard")
@@ -27250,6 +35469,15 @@ (define-public emacs-dashboard
 sections for bookmarks, Projectile projects, Org Agenda and more.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-dashboard
+  (package-with-emacs-minimal emacs-dashboard))
+
+(define-public emacs-next-dashboard
+  (package-with-emacs-next emacs-dashboard))
+
+(define-public emacs-pgtk-dashboard
+  (package-with-emacs-pgtk emacs-dashboard))
+
 (define-public emacs-enlight
   (package
     (name "emacs-enlight")
@@ -27270,6 +35498,15 @@ (define-public emacs-enlight
     (description "Lightweight yet very flexible startup screen for Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-enlight
+  (package-with-emacs-minimal emacs-enlight))
+
+(define-public emacs-next-enlight
+  (package-with-emacs-next emacs-enlight))
+
+(define-public emacs-pgtk-enlight
+  (package-with-emacs-pgtk emacs-enlight))
+
 (define-public emacs-slime-company
   (package
     (name "emacs-slime-company")
@@ -27294,6 +35531,15 @@ (define-public emacs-slime-company
 modes of SLIME.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-slime-company
+  (package-with-emacs-minimal emacs-slime-company))
+
+(define-public emacs-next-slime-company
+  (package-with-emacs-next emacs-slime-company))
+
+(define-public emacs-pgtk-slime-company
+  (package-with-emacs-pgtk emacs-slime-company))
+
 (define-public emacs-sml-mode
   (package
     (name "emacs-sml-mode")
@@ -27314,6 +35560,15 @@ (define-public emacs-sml-mode
 interactive loop.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-sml-mode
+  (package-with-emacs-minimal emacs-sml-mode))
+
+(define-public emacs-next-sml-mode
+  (package-with-emacs-next emacs-sml-mode))
+
+(define-public emacs-pgtk-sml-mode
+  (package-with-emacs-pgtk emacs-sml-mode))
+
 (define-public emacs-eros
   (let ((commit "dd8910279226259e100dab798b073a52f9b4233a")
         (revision "2"))
@@ -27336,6 +35591,15 @@ (define-public emacs-eros
       (description "@code{eros} provides evaluation result overlays.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-eros
+  (package-with-emacs-minimal emacs-eros))
+
+(define-public emacs-next-eros
+  (package-with-emacs-next emacs-eros))
+
+(define-public emacs-pgtk-eros
+  (package-with-emacs-pgtk emacs-eros))
+
 (define-public emacs-geiser-eros
   (package
     (name "emacs-geiser-eros")
@@ -27358,6 +35622,15 @@ (define-public emacs-geiser-eros
      "@code{geiser-eros} provides evaluation result overlays for geiser.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-geiser-eros
+  (package-with-emacs-minimal emacs-geiser-eros))
+
+(define-public emacs-next-geiser-eros
+  (package-with-emacs-next emacs-geiser-eros))
+
+(define-public emacs-pgtk-geiser-eros
+  (package-with-emacs-pgtk emacs-geiser-eros))
+
 (define-public emacs-stickyfunc-enhance
   (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
         (revision "1"))
@@ -27384,6 +35657,15 @@ (define-public emacs-stickyfunc-enhance
 scroll up to read the function name and then scroll down to original position.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-stickyfunc-enhance
+  (package-with-emacs-minimal emacs-stickyfunc-enhance))
+
+(define-public emacs-next-stickyfunc-enhance
+  (package-with-emacs-next emacs-stickyfunc-enhance))
+
+(define-public emacs-pgtk-stickyfunc-enhance
+  (package-with-emacs-pgtk emacs-stickyfunc-enhance))
+
 (define-public emacs-git-auto-commit-mode
   (package
     (name "emacs-git-auto-commit-mode")
@@ -27412,6 +35694,15 @@ (define-public emacs-git-auto-commit-mode
 current upstream.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-git-auto-commit-mode
+  (package-with-emacs-minimal emacs-git-auto-commit-mode))
+
+(define-public emacs-next-git-auto-commit-mode
+  (package-with-emacs-next emacs-git-auto-commit-mode))
+
+(define-public emacs-pgtk-git-auto-commit-mode
+  (package-with-emacs-pgtk emacs-git-auto-commit-mode))
+
 (define-public emacs-scroll-on-drag
   (let ((commit "179c2acecc48d3ceca4b449b2a225d684002bb32")
         (revision "2"))
@@ -27435,6 +35726,15 @@ (define-public emacs-scroll-on-drag
 on drag distance.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-scroll-on-drag
+  (package-with-emacs-minimal emacs-scroll-on-drag))
+
+(define-public emacs-next-scroll-on-drag
+  (package-with-emacs-next emacs-scroll-on-drag))
+
+(define-public emacs-pgtk-scroll-on-drag
+  (package-with-emacs-pgtk emacs-scroll-on-drag))
+
 (define-public emacs-company-restclient
   (package
     (name "emacs-company-restclient")
@@ -27461,6 +35761,15 @@ (define-public emacs-company-restclient
 @code{know-your-http-well}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-company-restclient
+  (package-with-emacs-minimal emacs-company-restclient))
+
+(define-public emacs-next-company-restclient
+  (package-with-emacs-next emacs-company-restclient))
+
+(define-public emacs-pgtk-company-restclient
+  (package-with-emacs-pgtk emacs-company-restclient))
+
 (define-public emacs-noflet
   (let ((version "20170629")
         (revision "1")
@@ -27498,6 +35807,15 @@ (define-public emacs-noflet
 through the symbol: @command{this-fn}.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-noflet
+  (package-with-emacs-minimal emacs-noflet))
+
+(define-public emacs-next-noflet
+  (package-with-emacs-next emacs-noflet))
+
+(define-public emacs-pgtk-noflet
+  (package-with-emacs-pgtk emacs-noflet))
+
 (define-public emacs-dumb-jump
   (package
     (name "emacs-dumb-jump")
@@ -27536,6 +35854,15 @@ (define-public emacs-dumb-jump
 @command{rg} installed.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-dumb-jump
+  (package-with-emacs-minimal emacs-dumb-jump))
+
+(define-public emacs-next-dumb-jump
+  (package-with-emacs-next emacs-dumb-jump))
+
+(define-public emacs-pgtk-dumb-jump
+  (package-with-emacs-pgtk emacs-dumb-jump))
+
 (define-public emacs-dts-mode
   (package
     (name "emacs-dts-mode")
@@ -27555,6 +35882,15 @@ (define-public emacs-dts-mode
 device tree files.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-dts-mode
+  (package-with-emacs-minimal emacs-dts-mode))
+
+(define-public emacs-next-dts-mode
+  (package-with-emacs-next emacs-dts-mode))
+
+(define-public emacs-pgtk-dts-mode
+  (package-with-emacs-pgtk emacs-dts-mode))
+
 (define-public emacs-devicetree-ts-mode
   (package
     (name "emacs-devicetree-ts-mode")
@@ -27578,6 +35914,15 @@ (define-public emacs-devicetree-ts-mode
 for editing Devicetree files.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-devicetree-ts-mode
+  (package-with-emacs-minimal emacs-devicetree-ts-mode))
+
+(define-public emacs-next-devicetree-ts-mode
+  (package-with-emacs-next emacs-devicetree-ts-mode))
+
+(define-public emacs-pgtk-devicetree-ts-mode
+  (package-with-emacs-pgtk emacs-devicetree-ts-mode))
+
 (define-public emacs-devil
   (package
     (name "emacs-devil")
@@ -27603,6 +35948,15 @@ (define-public emacs-devil
 can be configured to perform other key sequence translations.")
     (license license:expat)))
 
+(define-public emacs-minimal-devil
+  (package-with-emacs-minimal emacs-devil))
+
+(define-public emacs-next-devil
+  (package-with-emacs-next emacs-devil))
+
+(define-public emacs-pgtk-devil
+  (package-with-emacs-pgtk emacs-devil))
+
 (define-public emacs-daemons
   (package
     (name "emacs-daemons")
@@ -27627,6 +35981,15 @@ (define-public emacs-daemons
 systems.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-daemons
+  (package-with-emacs-minimal emacs-daemons))
+
+(define-public emacs-next-daemons
+  (package-with-emacs-next emacs-daemons))
+
+(define-public emacs-pgtk-daemons
+  (package-with-emacs-pgtk emacs-daemons))
+
 (define-public emacs-isearch+
   (let ((commit "7c251b91a67bf914066e23e269ba52fda5b45f5f")
         (revision "2"))
@@ -27650,6 +36013,15 @@ (define-public emacs-isearch+
 filters, highlighting of regexp group levels, and more.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-isearch+
+  (package-with-emacs-minimal emacs-isearch+))
+
+(define-public emacs-next-isearch+
+  (package-with-emacs-next emacs-isearch+))
+
+(define-public emacs-pgtk-isearch+
+  (package-with-emacs-pgtk emacs-isearch+))
+
 (define-public emacs-eshell-bookmark
   (package
     (name "emacs-eshell-bookmark")
@@ -27673,6 +36045,15 @@ (define-public emacs-eshell-bookmark
 appropriate directory if no @code{eshell} session is active.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-eshell-bookmark
+  (package-with-emacs-minimal emacs-eshell-bookmark))
+
+(define-public emacs-next-eshell-bookmark
+  (package-with-emacs-next emacs-eshell-bookmark))
+
+(define-public emacs-pgtk-eshell-bookmark
+  (package-with-emacs-pgtk emacs-eshell-bookmark))
+
 (define-public emacs-eshell-syntax-highlighting
   (package
     (name "emacs-eshell-syntax-highlighting")
@@ -27694,6 +36075,15 @@ (define-public emacs-eshell-syntax-highlighting
 to provide feedback on the validity of commands and syntax.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-eshell-syntax-highlighting
+  (package-with-emacs-minimal emacs-eshell-syntax-highlighting))
+
+(define-public emacs-next-eshell-syntax-highlighting
+  (package-with-emacs-next emacs-eshell-syntax-highlighting))
+
+(define-public emacs-pgtk-eshell-syntax-highlighting
+  (package-with-emacs-pgtk emacs-eshell-syntax-highlighting))
+
 (define-public emacs-eshell-z
   (package
     (name "emacs-eshell-z")
@@ -27717,6 +36107,15 @@ (define-public emacs-eshell-z
 matching regexps.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-eshell-z
+  (package-with-emacs-minimal emacs-eshell-z))
+
+(define-public emacs-next-eshell-z
+  (package-with-emacs-next emacs-eshell-z))
+
+(define-public emacs-pgtk-eshell-z
+  (package-with-emacs-pgtk emacs-eshell-z))
+
 (define-public emacs-esh-autosuggest
   (package
     (name "emacs-esh-autosuggest")
@@ -27746,6 +36145,15 @@ (define-public emacs-esh-autosuggest
 @code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-esh-autosuggest
+  (package-with-emacs-minimal emacs-esh-autosuggest))
+
+(define-public emacs-next-esh-autosuggest
+  (package-with-emacs-next emacs-esh-autosuggest))
+
+(define-public emacs-pgtk-esh-autosuggest
+  (package-with-emacs-pgtk emacs-esh-autosuggest))
+
 (define-public emacs-desktop-environment
   (let ((commit "bc1153aa619b12456304cca642424a0d8d2eb416")
         (revision "0"))
@@ -27773,6 +36181,15 @@ (define-public emacs-desktop-environment
 be changed by customizing the appropriate variables.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-desktop-environment
+  (package-with-emacs-minimal emacs-desktop-environment))
+
+(define-public emacs-next-desktop-environment
+  (package-with-emacs-next emacs-desktop-environment))
+
+(define-public emacs-pgtk-desktop-environment
+  (package-with-emacs-pgtk emacs-desktop-environment))
+
 (define-public emacs-org-caldav
   (package
     (name "emacs-org-caldav")
@@ -27799,6 +36216,15 @@ (define-public emacs-org-caldav
 calendar.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-caldav
+  (package-with-emacs-minimal emacs-org-caldav))
+
+(define-public emacs-next-org-caldav
+  (package-with-emacs-next emacs-org-caldav))
+
+(define-public emacs-pgtk-org-caldav
+  (package-with-emacs-pgtk emacs-org-caldav))
+
 (define-public emacs-zotxt
   (package
     (name "emacs-zotxt")
@@ -27822,6 +36248,15 @@ (define-public emacs-zotxt
 Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-zotxt
+  (package-with-emacs-minimal emacs-zotxt))
+
+(define-public emacs-next-zotxt
+  (package-with-emacs-next emacs-zotxt))
+
+(define-public emacs-pgtk-zotxt
+  (package-with-emacs-pgtk emacs-zotxt))
+
 (define-public emacs-evil-multiedit
   (package
     (name "emacs-evil-multiedit")
@@ -27860,6 +36295,15 @@ (define-public emacs-evil-multiedit
 defaults.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-evil-multiedit
+  (package-with-emacs-minimal emacs-evil-multiedit))
+
+(define-public emacs-next-evil-multiedit
+  (package-with-emacs-next emacs-evil-multiedit))
+
+(define-public emacs-pgtk-evil-multiedit
+  (package-with-emacs-pgtk emacs-evil-multiedit))
+
 (define-public emacs-evil-mc
   (let ((commit "1cabb869fe70cef49f7dc06f015c3ade1a969c8c")
         (revision "2"))
@@ -27886,6 +36330,15 @@ (define-public emacs-evil-mc
 provide an incremental search that moves all fake cursors in sync.")
       (license license:expat))))
 
+(define-public emacs-minimal-evil-mc
+  (package-with-emacs-minimal emacs-evil-mc))
+
+(define-public emacs-next-evil-mc
+  (package-with-emacs-next emacs-evil-mc))
+
+(define-public emacs-pgtk-evil-mc
+  (package-with-emacs-pgtk emacs-evil-mc))
+
 (define-public emacs-evil-org
   (let ((commit "0d10ff7bb9a3a93d25cd91018b17f0a052b335f3")
         (revision "2"))
@@ -27921,6 +36374,15 @@ (define-public emacs-evil-org
 @end itemize\n")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-evil-org
+  (package-with-emacs-minimal emacs-evil-org))
+
+(define-public emacs-next-evil-org
+  (package-with-emacs-next emacs-evil-org))
+
+(define-public emacs-pgtk-evil-org
+  (package-with-emacs-pgtk emacs-evil-org))
+
 (define-public emacs-debpaste
   (package
     (name "emacs-debpaste")
@@ -27944,6 +36406,15 @@ (define-public emacs-debpaste
 server using XML-RPC.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-debpaste
+  (package-with-emacs-minimal emacs-debpaste))
+
+(define-public emacs-next-debpaste
+  (package-with-emacs-next emacs-debpaste))
+
+(define-public emacs-pgtk-debpaste
+  (package-with-emacs-pgtk emacs-debpaste))
+
 (define-public emacs-xml-rpc
   (package
     (name "emacs-xml-rpc")
@@ -27968,6 +36439,15 @@ (define-public emacs-xml-rpc
 using XML-RPC methods fairly transparent to the Lisp code.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-xml-rpc
+  (package-with-emacs-minimal emacs-xml-rpc))
+
+(define-public emacs-next-xml-rpc
+  (package-with-emacs-next emacs-xml-rpc))
+
+(define-public emacs-pgtk-xml-rpc
+  (package-with-emacs-pgtk emacs-xml-rpc))
+
 (define-public emacs-xpm
   (package
     (name "emacs-xpm")
@@ -27987,6 +36467,15 @@ (define-public emacs-xpm
 cohesion with the Emacs Way.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-xpm
+  (package-with-emacs-minimal emacs-xpm))
+
+(define-public emacs-next-xpm
+  (package-with-emacs-next emacs-xpm))
+
+(define-public emacs-pgtk-xpm
+  (package-with-emacs-pgtk emacs-xpm))
+
 (define-public emacs-fish-completion
   (package
     (name "emacs-fish-completion")
@@ -28037,6 +36526,15 @@ (define-public emacs-fish-completion
 try completing.  See @code{fish-completion-fallback-on-bash-p}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-fish-completion
+  (package-with-emacs-minimal emacs-fish-completion))
+
+(define-public emacs-next-fish-completion
+  (package-with-emacs-next emacs-fish-completion))
+
+(define-public emacs-pgtk-fish-completion
+  (package-with-emacs-pgtk emacs-fish-completion))
+
 (define-public emacs-gif-screencast
   (package
     (name "emacs-gif-screencast")
@@ -28085,6 +36583,15 @@ (define-public emacs-gif-screencast
 the GIF result.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-gif-screencast
+  (package-with-emacs-minimal emacs-gif-screencast))
+
+(define-public emacs-next-gif-screencast
+  (package-with-emacs-next emacs-gif-screencast))
+
+(define-public emacs-pgtk-gif-screencast
+  (package-with-emacs-pgtk emacs-gif-screencast))
+
 (define-public emacs-google-translate
   (package
     (name "emacs-google-translate")
@@ -28107,6 +36614,15 @@ (define-public emacs-google-translate
 on-line service.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-google-translate
+  (package-with-emacs-minimal emacs-google-translate))
+
+(define-public emacs-next-google-translate
+  (package-with-emacs-next emacs-google-translate))
+
+(define-public emacs-pgtk-google-translate
+  (package-with-emacs-pgtk emacs-google-translate))
+
 (define-public emacs-langtool
   (package
     (name "emacs-langtool")
@@ -28135,6 +36651,15 @@ (define-public emacs-langtool
 LanguageTool} server.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-langtool
+  (package-with-emacs-minimal emacs-langtool))
+
+(define-public emacs-next-langtool
+  (package-with-emacs-next emacs-langtool))
+
+(define-public emacs-pgtk-langtool
+  (package-with-emacs-pgtk emacs-langtool))
+
 (define-public emacs-lingva
   (let ((commit "6c33594068fa33de622172503deeec6778d9c744")
         (revision "1"))
@@ -28161,6 +36686,15 @@ (define-public emacs-lingva
 tracking.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-lingva
+  (package-with-emacs-minimal emacs-lingva))
+
+(define-public emacs-next-lingva
+  (package-with-emacs-next emacs-lingva))
+
+(define-public emacs-pgtk-lingva
+  (package-with-emacs-pgtk emacs-lingva))
+
 (define-public emacs-helm-company
   (package
     (name "emacs-helm-company")
@@ -28189,6 +36723,15 @@ (define-public emacs-helm-company
      "This is a Helm interface to Company mode, a text completion framework.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-helm-company
+  (package-with-emacs-minimal emacs-helm-company))
+
+(define-public emacs-next-helm-company
+  (package-with-emacs-next emacs-helm-company))
+
+(define-public emacs-pgtk-helm-company
+  (package-with-emacs-pgtk emacs-helm-company))
+
 (define-public emacs-helm-descbinds
   (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
     (package
@@ -28217,6 +36760,15 @@ (define-public emacs-helm-descbinds
 you searched for and execute it, or view its documentation.")
     (license license:gpl3+))))
 
+(define-public emacs-minimal-helm-descbinds
+  (package-with-emacs-minimal emacs-helm-descbinds))
+
+(define-public emacs-next-helm-descbinds
+  (package-with-emacs-next emacs-helm-descbinds))
+
+(define-public emacs-pgtk-helm-descbinds
+  (package-with-emacs-pgtk emacs-helm-descbinds))
+
 (define-public emacs-helm-emms
   (let ((commit "37e5aa029abfa5a5c48636314de8157142944fa2"))
     (package
@@ -28242,6 +36794,15 @@ (define-public emacs-helm-emms
 from @code{emms-source-file-default-directory}.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-helm-emms
+  (package-with-emacs-minimal emacs-helm-emms))
+
+(define-public emacs-next-helm-emms
+  (package-with-emacs-next emacs-helm-emms))
+
+(define-public emacs-pgtk-helm-emms
+  (package-with-emacs-pgtk emacs-helm-emms))
+
 (define-public emacs-helm-exwm
   (package
     (name "emacs-helm-exwm")
@@ -28268,6 +36829,15 @@ (define-public emacs-helm-exwm
 See @code{helm-exwm-switch-browser} for an example.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-helm-exwm
+  (package-with-emacs-minimal emacs-helm-exwm))
+
+(define-public emacs-next-helm-exwm
+  (package-with-emacs-next emacs-helm-exwm))
+
+(define-public emacs-pgtk-helm-exwm
+  (package-with-emacs-pgtk emacs-helm-exwm))
+
 (define-public emacs-helm-flycheck
   (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
     (package
@@ -28292,6 +36862,15 @@ (define-public emacs-helm-flycheck
        "This integrates Flycheck with Helm.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-helm-flycheck
+  (package-with-emacs-minimal emacs-helm-flycheck))
+
+(define-public emacs-next-helm-flycheck
+  (package-with-emacs-next emacs-helm-flycheck))
+
+(define-public emacs-pgtk-helm-flycheck
+  (package-with-emacs-pgtk emacs-helm-flycheck))
+
 (define-public emacs-helm-ls-git
   (package
     (name "emacs-helm-ls-git")
@@ -28327,6 +36906,15 @@ (define-public emacs-helm-ls-git
 @end itemize\n")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-helm-ls-git
+  (package-with-emacs-minimal emacs-helm-ls-git))
+
+(define-public emacs-next-helm-ls-git
+  (package-with-emacs-next emacs-helm-ls-git))
+
+(define-public emacs-pgtk-helm-ls-git
+  (package-with-emacs-pgtk emacs-helm-ls-git))
+
 (define-public emacs-helm-mu
   (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
     (package
@@ -28356,6 +36944,15 @@ (define-public emacs-helm-mu
 e.g: @code{from:Peter to:Anne flag:attach search term}.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-helm-mu
+  (package-with-emacs-minimal emacs-helm-mu))
+
+(define-public emacs-next-helm-mu
+  (package-with-emacs-next emacs-helm-mu))
+
+(define-public emacs-pgtk-helm-mu
+  (package-with-emacs-pgtk emacs-helm-mu))
+
 (define-public emacs-helm-pass
   (package
     (name "emacs-helm-pass")
@@ -28386,6 +36983,15 @@ (define-public emacs-helm-pass
 @end itemize\n")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-helm-pass
+  (package-with-emacs-minimal emacs-helm-pass))
+
+(define-public emacs-next-helm-pass
+  (package-with-emacs-next emacs-helm-pass))
+
+(define-public emacs-pgtk-helm-pass
+  (package-with-emacs-pgtk emacs-helm-pass))
+
 (define-public emacs-image+
   (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
     (package
@@ -28425,6 +37031,15 @@ (define-public emacs-image+
 image, rotate it, save modified images, and more.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-image+
+  (package-with-emacs-minimal emacs-image+))
+
+(define-public emacs-next-image+
+  (package-with-emacs-next emacs-image+))
+
+(define-public emacs-pgtk-image+
+  (package-with-emacs-pgtk emacs-image+))
+
 (define-public emacs-package-lint
   (package
     (name "emacs-package-lint")
@@ -28452,6 +37067,15 @@ (define-public emacs-package-lint
 present in the file.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-package-lint
+  (package-with-emacs-minimal emacs-package-lint))
+
+(define-public emacs-next-package-lint
+  (package-with-emacs-next emacs-package-lint))
+
+(define-public emacs-pgtk-package-lint
+  (package-with-emacs-pgtk emacs-package-lint))
+
 (define-public emacs-packed
   (package
     (name "emacs-packed")
@@ -28484,6 +37108,15 @@ (define-public emacs-packed
 package recipes.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-packed
+  (package-with-emacs-minimal emacs-packed))
+
+(define-public emacs-next-packed
+  (package-with-emacs-next emacs-packed))
+
+(define-public emacs-pgtk-packed
+  (package-with-emacs-pgtk emacs-packed))
+
 (define-public emacs-dpd
   (package
     (name "emacs-dpd")
@@ -28507,6 +37140,15 @@ (define-public emacs-dpd
 feeding them to package.el library.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-dpd
+  (package-with-emacs-minimal emacs-dpd))
+
+(define-public emacs-next-dpd
+  (package-with-emacs-next emacs-dpd))
+
+(define-public emacs-pgtk-dpd
+  (package-with-emacs-pgtk emacs-dpd))
+
 (define-public emacs-picpocket
   (let ((version "41")
         (commit "fa3a49f011b5ae139728548fec7375743f61c7c7"))
@@ -28543,6 +37185,15 @@ (define-public emacs-picpocket
 @end itemize")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-picpocket
+  (package-with-emacs-minimal emacs-picpocket))
+
+(define-public emacs-next-picpocket
+  (package-with-emacs-next emacs-picpocket))
+
+(define-public emacs-pgtk-picpocket
+  (package-with-emacs-pgtk emacs-picpocket))
+
 (define-public emacs-sxiv
   (package
     (name "emacs-sxiv")
@@ -28576,6 +37227,15 @@ (define-public emacs-sxiv
 in said buffer using sxiv.")
     (license license:unlicense)))
 
+(define-public emacs-minimal-sxiv
+  (package-with-emacs-minimal emacs-sxiv))
+
+(define-public emacs-next-sxiv
+  (package-with-emacs-next emacs-sxiv))
+
+(define-public emacs-pgtk-sxiv
+  (package-with-emacs-pgtk emacs-sxiv))
+
 ;; Package has no releases or tags.  Version is extracted from "Version:"
 ;; keyword in main file.
 (define-public emacs-mu4e-dashboard
@@ -28603,6 +37263,15 @@ (define-public emacs-mu4e-dashboard
 organized into a dashboard, by simply writing an org file.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-mu4e-dashboard
+  (package-with-emacs-minimal emacs-mu4e-dashboard))
+
+(define-public emacs-next-mu4e-dashboard
+  (package-with-emacs-next emacs-mu4e-dashboard))
+
+(define-public emacs-pgtk-mu4e-dashboard
+  (package-with-emacs-pgtk emacs-mu4e-dashboard))
+
 (define-public emacs-pinentry
   (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
         (revision "1"))
@@ -28633,6 +37302,15 @@ (define-public emacs-pinentry
 server with @code{M-x pinentry-start}.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-pinentry
+  (package-with-emacs-minimal emacs-pinentry))
+
+(define-public emacs-next-pinentry
+  (package-with-emacs-next emacs-pinentry))
+
+(define-public emacs-pgtk-pinentry
+  (package-with-emacs-pgtk emacs-pinentry))
+
 (define-public emacs-so-long
   (package
     (name "emacs-so-long")
@@ -28655,6 +37333,15 @@ (define-public emacs-so-long
 later.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-so-long
+  (package-with-emacs-minimal emacs-so-long))
+
+(define-public emacs-next-so-long
+  (package-with-emacs-next emacs-so-long))
+
+(define-public emacs-pgtk-so-long
+  (package-with-emacs-pgtk emacs-so-long))
+
 (define-public emacs-srfi
   ;; SRFI data gets updated quite frequently; lastest tag is from
   ;; 2020; commit from 2021-08-12.
@@ -28680,6 +37367,15 @@ (define-public emacs-srfi
 them in your web browser.")
       (license license:expat))))
 
+(define-public emacs-minimal-srfi
+  (package-with-emacs-minimal emacs-srfi))
+
+(define-public emacs-next-srfi
+  (package-with-emacs-next emacs-srfi))
+
+(define-public emacs-pgtk-srfi
+  (package-with-emacs-pgtk emacs-srfi))
+
 (define-public emacs-srht
   (package
     (name "emacs-srht")
@@ -28715,6 +37411,15 @@ (define-public emacs-srht
 well as commands for interacting with it.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-srht
+  (package-with-emacs-minimal emacs-srht))
+
+(define-public emacs-next-srht
+  (package-with-emacs-next emacs-srht))
+
+(define-public emacs-pgtk-srht
+  (package-with-emacs-pgtk emacs-srht))
+
 (define-public emacs-srv
   (package
     (name "emacs-srv")
@@ -28738,6 +37443,15 @@ (define-public emacs-srv
 turn.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-srv
+  (package-with-emacs-minimal emacs-srv))
+
+(define-public emacs-next-srv
+  (package-with-emacs-next emacs-srv))
+
+(define-public emacs-pgtk-srv
+  (package-with-emacs-pgtk emacs-srv))
+
 (define-public emacs-github-review
   (let ((commit "a13a3b4f1b6114a32af843971a145ab880f51232")
         (revision "2"))
@@ -28777,6 +37491,15 @@ (define-public emacs-github-review
 accept and reject GitHub pull requests.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-github-review
+  (package-with-emacs-minimal emacs-github-review))
+
+(define-public emacs-next-github-review
+  (package-with-emacs-next emacs-github-review))
+
+(define-public emacs-pgtk-github-review
+  (package-with-emacs-pgtk emacs-github-review))
+
 (define-public emacs-deadgrep
   (package
     (name "emacs-deadgrep")
@@ -28817,6 +37540,15 @@ (define-public emacs-deadgrep
 searches with @code{ripgrep}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-deadgrep
+  (package-with-emacs-minimal emacs-deadgrep))
+
+(define-public emacs-next-deadgrep
+  (package-with-emacs-next emacs-deadgrep))
+
+(define-public emacs-pgtk-deadgrep
+  (package-with-emacs-pgtk emacs-deadgrep))
+
 (define-public emacs-focus
   (package
     (name "emacs-focus")
@@ -28838,6 +37570,15 @@ (define-public emacs-focus
 text in neighboring sections.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-focus
+  (package-with-emacs-minimal emacs-focus))
+
+(define-public emacs-next-focus
+  (package-with-emacs-next emacs-focus))
+
+(define-public emacs-pgtk-focus
+  (package-with-emacs-pgtk emacs-focus))
+
 (define-public emacs-pandoc-mode
   (package
     (name "emacs-pandoc-mode")
@@ -28861,6 +37602,15 @@ (define-public emacs-pandoc-mode
 Pandoc, the document-conversion tool.")
     (license license:bsd-3)))
 
+(define-public emacs-minimal-pandoc-mode
+  (package-with-emacs-minimal emacs-pandoc-mode))
+
+(define-public emacs-next-pandoc-mode
+  (package-with-emacs-next emacs-pandoc-mode))
+
+(define-public emacs-pgtk-pandoc-mode
+  (package-with-emacs-pgtk emacs-pandoc-mode))
+
 (define-public emacs-hlint-refactor-mode
   (let ((commit "c4307f86aad6d02e32e9b30cb6edc115584c791c")
         (revision "1"))
@@ -28886,6 +37636,15 @@ (define-public emacs-hlint-refactor-mode
 @code{hlint}.")
       (license license:expat))))
 
+(define-public emacs-minimal-hlint-refactor-mode
+  (package-with-emacs-minimal emacs-hlint-refactor-mode))
+
+(define-public emacs-next-hlint-refactor-mode
+  (package-with-emacs-next emacs-hlint-refactor-mode))
+
+(define-public emacs-pgtk-hlint-refactor-mode
+  (package-with-emacs-pgtk emacs-hlint-refactor-mode))
+
 (define-public emacs-ccls
   (let ((commit "675a5704c14a27931e835a431beea3631d92e8e6")
         (revision "5"))
@@ -28911,6 +37670,15 @@ (define-public emacs-ccls
 and @code{C++} files through the @code{ccls} language server.")
       (license license:expat))))
 
+(define-public emacs-minimal-ccls
+  (package-with-emacs-minimal emacs-ccls))
+
+(define-public emacs-next-ccls
+  (package-with-emacs-next emacs-ccls))
+
+(define-public emacs-pgtk-ccls
+  (package-with-emacs-pgtk emacs-ccls))
+
 (define-public emacs-cpreproc
   (package
    (name "emacs-cpreproc")
@@ -28934,6 +37702,15 @@ (define-public emacs-cpreproc
 versions of third party libraries or @code{C++} standards.")
    (license license:gpl3+)))
 
+(define-public emacs-minimal-cpreproc
+  (package-with-emacs-minimal emacs-cpreproc))
+
+(define-public emacs-next-cpreproc
+  (package-with-emacs-next emacs-cpreproc))
+
+(define-public emacs-pgtk-cpreproc
+  (package-with-emacs-pgtk emacs-cpreproc))
+
 (define-public emacs-cpreproc-openvdb
   (package
    (name "emacs-cpreproc-openvdb")
@@ -28959,6 +37736,15 @@ (define-public emacs-cpreproc-openvdb
 incompatible versions of it.")
    (license license:gpl3+)))
 
+(define-public emacs-minimal-cpreproc-openvdb
+  (package-with-emacs-minimal emacs-cpreproc-openvdb))
+
+(define-public emacs-next-cpreproc-openvdb
+  (package-with-emacs-next emacs-cpreproc-openvdb))
+
+(define-public emacs-pgtk-cpreproc-openvdb
+  (package-with-emacs-pgtk emacs-cpreproc-openvdb))
+
 (define-public emacs-org-board
   (let ((commit "1393bd46d11a81328ed4fb8471831415a3efe224")
         (revision "1"))
@@ -28996,6 +37782,15 @@ (define-public emacs-org-board
 online, or when the site hosting them goes down.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-org-board
+  (package-with-emacs-minimal emacs-org-board))
+
+(define-public emacs-next-org-board
+  (package-with-emacs-next emacs-org-board))
+
+(define-public emacs-pgtk-org-board
+  (package-with-emacs-pgtk emacs-org-board))
+
 (define-public emacs-org-brain
   (package
     (name "emacs-org-brain")
@@ -29022,6 +37817,15 @@ (define-public emacs-org-brain
 wiki.")
     (license license:expat)))
 
+(define-public emacs-minimal-org-brain
+  (package-with-emacs-minimal emacs-org-brain))
+
+(define-public emacs-next-org-brain
+  (package-with-emacs-next emacs-org-brain))
+
+(define-public emacs-pgtk-org-brain
+  (package-with-emacs-pgtk emacs-org-brain))
+
 (define-public emacs-recent-addresses
   (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
         (revision "1"))
@@ -29048,6 +37852,15 @@ (define-public emacs-recent-addresses
 email client.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-recent-addresses
+  (package-with-emacs-minimal emacs-recent-addresses))
+
+(define-public emacs-next-recent-addresses
+  (package-with-emacs-next emacs-recent-addresses))
+
+(define-public emacs-pgtk-recent-addresses
+  (package-with-emacs-pgtk emacs-recent-addresses))
+
 (define-public emacs-fold-dwim
   (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
         (revision "0"))
@@ -29071,6 +37884,15 @@ (define-public emacs-fold-dwim
 show it; if it's not, we want to hide whatever fold the cursor is in.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-fold-dwim
+  (package-with-emacs-minimal emacs-fold-dwim))
+
+(define-public emacs-next-fold-dwim
+  (package-with-emacs-next emacs-fold-dwim))
+
+(define-public emacs-pgtk-fold-dwim
+  (package-with-emacs-pgtk emacs-fold-dwim))
+
 (define-public emacs-markup-faces
   (let ((commit "98a807ed82473eb41c6a201ed7ef816d6bcd67b0"))
     (package
@@ -29096,6 +37918,15 @@ (define-public emacs-markup-faces
 modes and text viewing modes respectively.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-markup-faces
+  (package-with-emacs-minimal emacs-markup-faces))
+
+(define-public emacs-next-markup-faces
+  (package-with-emacs-next emacs-markup-faces))
+
+(define-public emacs-pgtk-markup-faces
+  (package-with-emacs-pgtk emacs-markup-faces))
+
 (define-public emacs-adoc-mode
   (package
     (name "emacs-adoc-mode")
@@ -29145,6 +37976,15 @@ (define-public emacs-adoc-mode
 files.  It focuses on highlighting the document to improve readability.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-adoc-mode
+  (package-with-emacs-minimal emacs-adoc-mode))
+
+(define-public emacs-next-adoc-mode
+  (package-with-emacs-next emacs-adoc-mode))
+
+(define-public emacs-pgtk-adoc-mode
+  (package-with-emacs-pgtk emacs-adoc-mode))
+
 (define-public emacs-racer
   (let ((commit "1e63e98626737ea9b662d4a9b1ffd6842b1c648c")
         (revision "0"))
@@ -29178,6 +38018,15 @@ (define-public emacs-racer
 docstring of the thing at point.")
       (license license:expat))))
 
+(define-public emacs-minimal-racer
+  (package-with-emacs-minimal emacs-racer))
+
+(define-public emacs-next-racer
+  (package-with-emacs-next emacs-racer))
+
+(define-public emacs-pgtk-racer
+  (package-with-emacs-pgtk emacs-racer))
+
 (define-public emacs-rust-mode
   (package
     (name "emacs-rust-mode")
@@ -29202,6 +38051,15 @@ (define-public emacs-rust-mode
     (license (list license:expat
                    license:asl2.0))))
 
+(define-public emacs-minimal-rust-mode
+  (package-with-emacs-minimal emacs-rust-mode))
+
+(define-public emacs-next-rust-mode
+  (package-with-emacs-next emacs-rust-mode))
+
+(define-public emacs-pgtk-rust-mode
+  (package-with-emacs-pgtk emacs-rust-mode))
+
 (define-public emacs-rustic
   (package
     (name "emacs-rustic")
@@ -29255,6 +38113,15 @@ (define-public emacs-rustic
     (license (list license:expat
                    license:asl2.0))))
 
+(define-public emacs-minimal-rustic
+  (package-with-emacs-minimal emacs-rustic))
+
+(define-public emacs-next-rustic
+  (package-with-emacs-next emacs-rustic))
+
+(define-public emacs-pgtk-rustic
+  (package-with-emacs-pgtk emacs-rustic))
+
 (define-public emacs-ztree
   ;; Upstream provides no tag, but the commit below matches latest release.
   (let ((commit "c9ad9136d52ca5a81475693864e255d29448f43f"))
@@ -29280,6 +38147,15 @@ (define-public emacs-ztree
 @command{ztree-diff}).")
       (license license:gpl3))))
 
+(define-public emacs-minimal-ztree
+  (package-with-emacs-minimal emacs-ztree))
+
+(define-public emacs-next-ztree
+  (package-with-emacs-next emacs-ztree))
+
+(define-public emacs-pgtk-ztree
+  (package-with-emacs-pgtk emacs-ztree))
+
 (define-public emacs-heaven-and-hell
   (package
     (name "emacs-heaven-and-hell")
@@ -29300,6 +38176,15 @@ (define-public emacs-heaven-and-hell
 light and dark themes as easy as hitting a single keystroke.")
     (license license:expat)))
 
+(define-public emacs-minimal-heaven-and-hell
+  (package-with-emacs-minimal emacs-heaven-and-hell))
+
+(define-public emacs-next-heaven-and-hell
+  (package-with-emacs-next emacs-heaven-and-hell))
+
+(define-public emacs-pgtk-heaven-and-hell
+  (package-with-emacs-pgtk emacs-heaven-and-hell))
+
 (define-public emacs-helm-org-contacts
   (let ((commit "741eca6239684950219c9a12802386a132491b8c")
         (revision "2"))
@@ -29327,6 +38212,15 @@ (define-public emacs-helm-org-contacts
 was called.")
       (license license:gpl3))))
 
+(define-public emacs-minimal-helm-org-contacts
+  (package-with-emacs-minimal emacs-helm-org-contacts))
+
+(define-public emacs-next-helm-org-contacts
+  (package-with-emacs-next emacs-helm-org-contacts))
+
+(define-public emacs-pgtk-helm-org-contacts
+  (package-with-emacs-pgtk emacs-helm-org-contacts))
+
 (define-public emacs-dired-du
   (package
     (name "emacs-dired-du")
@@ -29352,6 +38246,15 @@ (define-public emacs-dired-du
 buffer displays recursive dir sizes.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-dired-du
+  (package-with-emacs-minimal emacs-dired-du))
+
+(define-public emacs-next-dired-du
+  (package-with-emacs-next emacs-dired-du))
+
+(define-public emacs-pgtk-dired-du
+  (package-with-emacs-pgtk emacs-dired-du))
+
 (define-public emacs-dired-preview
   (package
     (name "emacs-dired-preview")
@@ -29376,6 +38279,15 @@ (define-public emacs-dired-preview
 customisation options to control its behaviour.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-dired-preview
+  (package-with-emacs-minimal emacs-dired-preview))
+
+(define-public emacs-next-dired-preview
+  (package-with-emacs-next emacs-dired-preview))
+
+(define-public emacs-pgtk-dired-preview
+  (package-with-emacs-pgtk emacs-dired-preview))
+
 (define-public emacs-dired-rsync
   (package
     (name "emacs-dired-rsync")
@@ -29401,6 +38313,15 @@ (define-public emacs-dired-rsync
 Tramp's own encoding methods for moving data between systems.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-dired-rsync
+  (package-with-emacs-minimal emacs-dired-rsync))
+
+(define-public emacs-next-dired-rsync
+  (package-with-emacs-next emacs-dired-rsync))
+
+(define-public emacs-pgtk-dired-rsync
+  (package-with-emacs-pgtk emacs-dired-rsync))
+
 (define-public emacs-pcre2el
   (let ((commit "018531ba0cf8e2b28d1108136a0e031b6a45f1c1")) ;version bump
     (package
@@ -29436,6 +38357,15 @@ (define-public emacs-pcre2el
 @end itemize\n")
       (license license:gpl3))))
 
+(define-public emacs-minimal-pcre2el
+  (package-with-emacs-minimal emacs-pcre2el))
+
+(define-public emacs-next-pcre2el
+  (package-with-emacs-next emacs-pcre2el))
+
+(define-public emacs-pgtk-pcre2el
+  (package-with-emacs-pgtk emacs-pcre2el))
+
 (define-public emacs-magit-todos
   (package
     (name "emacs-magit-todos")
@@ -29467,6 +38397,15 @@ (define-public emacs-magit-todos
 few (like NOTE).")
     (license license:gpl3)))
 
+(define-public emacs-minimal-magit-todos
+  (package-with-emacs-minimal emacs-magit-todos))
+
+(define-public emacs-next-magit-todos
+  (package-with-emacs-next emacs-magit-todos))
+
+(define-public emacs-pgtk-magit-todos
+  (package-with-emacs-pgtk emacs-magit-todos))
+
 (define-public emacs-git-annex
   ;; Unreleased version has a fontification fix.
   (let ((commit "1324d3f23c534fe79391a2c256bb8803054e383b")
@@ -29494,6 +38433,15 @@ (define-public emacs-git-annex
 files) are provided.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-git-annex
+  (package-with-emacs-minimal emacs-git-annex))
+
+(define-public emacs-next-git-annex
+  (package-with-emacs-next emacs-git-annex))
+
+(define-public emacs-pgtk-git-annex
+  (package-with-emacs-pgtk emacs-git-annex))
+
 (define-public emacs-hackernews
   (package
     (name "emacs-hackernews")
@@ -29517,6 +38465,15 @@ (define-public emacs-hackernews
 News homepage.")
     (license license:gpl3)))
 
+(define-public emacs-minimal-hackernews
+  (package-with-emacs-minimal emacs-hackernews))
+
+(define-public emacs-next-hackernews
+  (package-with-emacs-next emacs-hackernews))
+
+(define-public emacs-pgtk-hackernews
+  (package-with-emacs-pgtk emacs-hackernews))
+
 (define-public emacs-tokei
   (package
     (name "emacs-tokei")
@@ -29554,6 +38511,15 @@ (define-public emacs-tokei
 statistics with the help of @code{tokei}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-tokei
+  (package-with-emacs-minimal emacs-tokei))
+
+(define-public emacs-next-tokei
+  (package-with-emacs-next emacs-tokei))
+
+(define-public emacs-pgtk-tokei
+  (package-with-emacs-pgtk emacs-tokei))
+
 (define-public emacs-youtube-dl
   (let ((commit "af877b5bc4f01c04fccfa7d47a2c328926f20ef4")
         (revision "2"))
@@ -29595,6 +38561,15 @@ (define-public emacs-youtube-dl
 can be queued at any time.")
       (license license:unlicense))))
 
+(define-public emacs-minimal-youtube-dl
+  (package-with-emacs-minimal emacs-youtube-dl))
+
+(define-public emacs-next-youtube-dl
+  (package-with-emacs-next emacs-youtube-dl))
+
+(define-public emacs-pgtk-youtube-dl
+  (package-with-emacs-pgtk emacs-youtube-dl))
+
 (define-public emacs-ytdl
   (let ((commit "2ea3daf2f6aa9d18b71fe3e15f05c30a56fca228")
         (revision "0"))
@@ -29636,6 +38611,15 @@ (define-public emacs-ytdl
 depending on the downloaded URL.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ytdl
+  (package-with-emacs-minimal emacs-ytdl))
+
+(define-public emacs-next-ytdl
+  (package-with-emacs-next emacs-ytdl))
+
+(define-public emacs-pgtk-ytdl
+  (package-with-emacs-pgtk emacs-ytdl))
+
 (define-public emacs-ytel
   ;; No tagged releases.  Using version from main file.
   (let ((commit "d40bc7ead8d4d7e4d16b03b66a93d63bef51cc5f")
@@ -29672,6 +38656,15 @@ (define-public emacs-ytel
 as playing them in some video player, or downloading them.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ytel
+  (package-with-emacs-minimal emacs-ytel))
+
+(define-public emacs-next-ytel
+  (package-with-emacs-next emacs-ytel))
+
+(define-public emacs-pgtk-ytel
+  (package-with-emacs-pgtk emacs-ytel))
+
 (define-public emacs-ytel-show
   ;; No tagged releases.  Version extracted from main file.
   (let ((commit "8b999484eb447ecdb741b24cbef2b5a7260a53e6")
@@ -29698,6 +38691,15 @@ (define-public emacs-ytel-show
 and comments.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ytel-show
+  (package-with-emacs-minimal emacs-ytel-show))
+
+(define-public emacs-next-ytel-show
+  (package-with-emacs-next emacs-ytel-show))
+
+(define-public emacs-pgtk-ytel-show
+  (package-with-emacs-pgtk emacs-ytel-show))
+
 (define-public emacs-yeetube
   (let ((commit "5c0a3efd2fb5cc25a6a90741ad198e31fdb15640")) ;version bump
     (package
@@ -29741,6 +38743,15 @@ (define-public emacs-yeetube
 This package also includes a minimal @code{yt-dlp} wrapper.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-yeetube
+  (package-with-emacs-minimal emacs-yeetube))
+
+(define-public emacs-next-yeetube
+  (package-with-emacs-next emacs-yeetube))
+
+(define-public emacs-pgtk-yeetube
+  (package-with-emacs-pgtk emacs-yeetube))
+
 (define-public emacs-org-web-tools
   (package
     (name "emacs-org-web-tools")
@@ -29787,6 +38798,15 @@ (define-public emacs-org-web-tools
 inserts it as an Org entry instead of displaying it in a new buffer.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-web-tools
+  (package-with-emacs-minimal emacs-org-web-tools))
+
+(define-public emacs-next-org-web-tools
+  (package-with-emacs-next emacs-org-web-tools))
+
+(define-public emacs-pgtk-org-web-tools
+  (package-with-emacs-pgtk emacs-org-web-tools))
+
 (define-public emacs-blimp
   (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
     (package
@@ -29813,6 +38833,15 @@ (define-public emacs-blimp
 execute its commands and resize images.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-blimp
+  (package-with-emacs-minimal emacs-blimp))
+
+(define-public emacs-next-blimp
+  (package-with-emacs-next emacs-blimp))
+
+(define-public emacs-pgtk-blimp
+  (package-with-emacs-pgtk emacs-blimp))
+
 (define-public emacs-synosaurus
   (package
     (name "emacs-synosaurus")
@@ -29849,6 +38878,15 @@ (define-public emacs-synosaurus
 backends, including the @command{wordnet} offline backend.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-synosaurus
+  (package-with-emacs-minimal emacs-synosaurus))
+
+(define-public emacs-next-synosaurus
+  (package-with-emacs-next emacs-synosaurus))
+
+(define-public emacs-pgtk-synosaurus
+  (package-with-emacs-pgtk emacs-synosaurus))
+
 (define-public emacs-editorconfig
   (package
     (name "emacs-editorconfig")
@@ -29873,6 +38911,15 @@ (define-public emacs-editorconfig
 files are easily readable and they work nicely with version control systems.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-editorconfig
+  (package-with-emacs-minimal emacs-editorconfig))
+
+(define-public emacs-next-editorconfig
+  (package-with-emacs-next emacs-editorconfig))
+
+(define-public emacs-pgtk-editorconfig
+  (package-with-emacs-pgtk emacs-editorconfig))
+
 (define-public emacs-nerd-icons
   (package
     (name "emacs-nerd-icons")
@@ -29894,6 +38941,15 @@ (define-public emacs-nerd-icons
 GUI and terminal, and requires a nerd font installed on your system.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-nerd-icons
+  (package-with-emacs-minimal emacs-nerd-icons))
+
+(define-public emacs-next-nerd-icons
+  (package-with-emacs-next emacs-nerd-icons))
+
+(define-public emacs-pgtk-nerd-icons
+  (package-with-emacs-pgtk emacs-nerd-icons))
+
 (define-public emacs-all-the-icons
   (package
     (name "emacs-all-the-icons")
@@ -29952,6 +39008,15 @@ (define-public emacs-all-the-icons
     (license
      (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
 
+(define-public emacs-minimal-all-the-icons
+  (package-with-emacs-minimal emacs-all-the-icons))
+
+(define-public emacs-next-all-the-icons
+  (package-with-emacs-next emacs-all-the-icons))
+
+(define-public emacs-pgtk-all-the-icons
+  (package-with-emacs-pgtk emacs-all-the-icons))
+
 (define-public emacs-all-the-icons-completion
   (package
     (name "emacs-all-the-icons-completion")
@@ -29975,6 +39040,15 @@ (define-public emacs-all-the-icons-completion
 type.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-all-the-icons-completion
+  (package-with-emacs-minimal emacs-all-the-icons-completion))
+
+(define-public emacs-next-all-the-icons-completion
+  (package-with-emacs-next emacs-all-the-icons-completion))
+
+(define-public emacs-pgtk-all-the-icons-completion
+  (package-with-emacs-pgtk emacs-all-the-icons-completion))
+
 (define-public emacs-wttrin
   (package
     (name "emacs-wttrin")
@@ -29997,6 +39071,15 @@ (define-public emacs-wttrin
 @url{wttr.in}.")
     (license license:expat)))
 
+(define-public emacs-minimal-wttrin
+  (package-with-emacs-minimal emacs-wttrin))
+
+(define-public emacs-next-wttrin
+  (package-with-emacs-next emacs-wttrin))
+
+(define-public emacs-pgtk-wttrin
+  (package-with-emacs-pgtk emacs-wttrin))
+
 (define-public emacs-browse-kill-ring
   (let ((commit "1ef72cc6accd94cd7032c02b1b2c78ae7f1d1965")
         (revision "0"))
@@ -30022,6 +39105,15 @@ (define-public emacs-browse-kill-ring
 @code{browse-kill-ring.el} is for you.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-browse-kill-ring
+  (package-with-emacs-minimal emacs-browse-kill-ring))
+
+(define-public emacs-next-browse-kill-ring
+  (package-with-emacs-next emacs-browse-kill-ring))
+
+(define-public emacs-pgtk-browse-kill-ring
+  (package-with-emacs-pgtk emacs-browse-kill-ring))
+
 (define-public emacs-powerline
   (package
     (name "emacs-powerline")
@@ -30044,6 +39136,15 @@ (define-public emacs-powerline
 themes comes with the package.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-powerline
+  (package-with-emacs-minimal emacs-powerline))
+
+(define-public emacs-next-powerline
+  (package-with-emacs-next emacs-powerline))
+
+(define-public emacs-pgtk-powerline
+  (package-with-emacs-pgtk emacs-powerline))
+
 (define-public emacs-spaceline
   (package
     (name "emacs-spaceline")
@@ -30075,6 +39176,15 @@ (define-public emacs-spaceline
 @end itemize")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-spaceline
+  (package-with-emacs-minimal emacs-spaceline))
+
+(define-public emacs-next-spaceline
+  (package-with-emacs-next emacs-spaceline))
+
+(define-public emacs-pgtk-spaceline
+  (package-with-emacs-pgtk emacs-spaceline))
+
 (define-public emacs-spaceline-next
   (let ((commit "1b26af2c1a701481ac5d90928fe0200e389756c3")
         (last-release-version "2.0.1")
@@ -30093,6 +39203,15 @@ (define-public emacs-spaceline-next
           (base32 "11lwckqcgzsahrkkm5wk1ph4kc7d4yz05r7251g8c9f0q6vdj9dp"))
          (file-name (git-file-name name version)))))))
 
+(define-public emacs-minimal-spaceline-next
+  (package-with-emacs-minimal emacs-spaceline-next))
+
+(define-public emacs-next-spaceline-next
+  (package-with-emacs-next emacs-spaceline-next))
+
+(define-public emacs-pgtk-spaceline-next
+  (package-with-emacs-pgtk emacs-spaceline-next))
+
 (define-public emacs-column-enforce-mode
   (let ((commit "14a7622f2268890e33536ccd29510024d51ee96f")
         (revision "1"))
@@ -30118,6 +39237,15 @@ (define-public emacs-column-enforce-mode
 for any @var{N}-column rule.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-column-enforce-mode
+  (package-with-emacs-minimal emacs-column-enforce-mode))
+
+(define-public emacs-next-column-enforce-mode
+  (package-with-emacs-next emacs-column-enforce-mode))
+
+(define-public emacs-pgtk-column-enforce-mode
+  (package-with-emacs-pgtk emacs-column-enforce-mode))
+
 (define-public emacs-column-marker
   (package
     (name "emacs-column-marker")
@@ -30139,6 +39267,15 @@ (define-public emacs-column-marker
 correctly.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-column-marker
+  (package-with-emacs-minimal emacs-column-marker))
+
+(define-public emacs-next-column-marker
+  (package-with-emacs-next emacs-column-marker))
+
+(define-public emacs-pgtk-column-marker
+  (package-with-emacs-pgtk emacs-column-marker))
+
 (define-public emacs-slime-repl-ansi-color
   (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
     (package
@@ -30159,6 +39296,15 @@ (define-public emacs-slime-repl-ansi-color
       (description "Color ANSI codes in the REPL of SLIME")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-slime-repl-ansi-color
+  (package-with-emacs-minimal emacs-slime-repl-ansi-color))
+
+(define-public emacs-next-slime-repl-ansi-color
+  (package-with-emacs-next emacs-slime-repl-ansi-color))
+
+(define-public emacs-pgtk-slime-repl-ansi-color
+  (package-with-emacs-pgtk emacs-slime-repl-ansi-color))
+
 (define-public emacs-helm-slime
   (package
     (name "emacs-helm-slime")
@@ -30187,6 +39333,15 @@ (define-public emacs-helm-slime
 @end itemize\n")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-helm-slime
+  (package-with-emacs-minimal emacs-helm-slime))
+
+(define-public emacs-next-helm-slime
+  (package-with-emacs-next emacs-helm-slime))
+
+(define-public emacs-pgtk-helm-slime
+  (package-with-emacs-pgtk emacs-helm-slime))
+
 (define-public emacs-helm-sly
   (package
     (name "emacs-helm-sly")
@@ -30217,6 +39372,15 @@ (define-public emacs-helm-sly
 @end itemize\n")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-helm-sly
+  (package-with-emacs-minimal emacs-helm-sly))
+
+(define-public emacs-next-helm-sly
+  (package-with-emacs-next emacs-helm-sly))
+
+(define-public emacs-pgtk-helm-sly
+  (package-with-emacs-pgtk emacs-helm-sly))
+
 (define-public emacs-gtk-look
   (package
     (name "emacs-gtk-look")
@@ -30255,6 +39419,15 @@ (define-public emacs-gtk-look
 @end itemize\n")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-gtk-look
+  (package-with-emacs-minimal emacs-gtk-look))
+
+(define-public emacs-next-gtk-look
+  (package-with-emacs-next emacs-gtk-look))
+
+(define-public emacs-pgtk-gtk-look
+  (package-with-emacs-pgtk emacs-gtk-look))
+
 (define-public emacs-ov
   (package
     (name "emacs-ov")
@@ -30275,6 +39448,15 @@ (define-public emacs-ov
 Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ov
+  (package-with-emacs-minimal emacs-ov))
+
+(define-public emacs-next-ov
+  (package-with-emacs-next emacs-ov))
+
+(define-public emacs-pgtk-ov
+  (package-with-emacs-pgtk emacs-ov))
+
 (define-public emacs-matrix-client
   (let ((commit "d2ac55293c96d4c95971ed8e2a3f6f354565c5ed"))
     (package
@@ -30310,6 +39492,15 @@ (define-public emacs-matrix-client
 RPC channels with users and other software.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-matrix-client
+  (package-with-emacs-minimal emacs-matrix-client))
+
+(define-public emacs-next-matrix-client
+  (package-with-emacs-next emacs-matrix-client))
+
+(define-public emacs-pgtk-matrix-client
+  (package-with-emacs-pgtk emacs-matrix-client))
+
 (define-public emacs-sesman
   (package
     (name "emacs-sesman")
@@ -30344,6 +39535,15 @@ (define-public emacs-sesman
 targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-sesman
+  (package-with-emacs-minimal emacs-sesman))
+
+(define-public emacs-next-sesman
+  (package-with-emacs-next emacs-sesman))
+
+(define-public emacs-pgtk-sesman
+  (package-with-emacs-pgtk emacs-sesman))
+
 (define-public emacs-buttercup
   (package
     (name "emacs-buttercup")
@@ -30377,6 +39577,15 @@ (define-public emacs-buttercup
 functions to ensure they are called with the right arguments during testing.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-buttercup
+  (package-with-emacs-minimal emacs-buttercup))
+
+(define-public emacs-next-buttercup
+  (package-with-emacs-next emacs-buttercup))
+
+(define-public emacs-pgtk-buttercup
+  (package-with-emacs-pgtk emacs-buttercup))
+
 (define-public emacs-cort
   (package
     (name "emacs-cort")
@@ -30403,6 +39612,15 @@ (define-public emacs-cort
     (description "@code{cort} is a lightweight Emacs Lisp unit test library.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-cort
+  (package-with-emacs-minimal emacs-cort))
+
+(define-public emacs-next-cort
+  (package-with-emacs-next emacs-cort))
+
+(define-public emacs-pgtk-cort
+  (package-with-emacs-pgtk emacs-cort))
+
 (define-public emacs-wordnut
   (let ((commit "feac531404041855312c1a046bde7ea18c674915")
         (revision "0"))
@@ -30428,6 +39646,15 @@ (define-public emacs-wordnut
 too ambiguous and navigation in the result buffer.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-wordnut
+  (package-with-emacs-minimal emacs-wordnut))
+
+(define-public emacs-next-wordnut
+  (package-with-emacs-next emacs-wordnut))
+
+(define-public emacs-pgtk-wordnut
+  (package-with-emacs-pgtk emacs-wordnut))
+
 (define-public emacs-frame-local
   ;; There is no release yet.  Version is extracted from the main
   ;; file.
@@ -30456,6 +39683,15 @@ (define-public emacs-frame-local
 @code{defconst}, etc.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-frame-local
+  (package-with-emacs-minimal emacs-frame-local))
+
+(define-public emacs-next-frame-local
+  (package-with-emacs-next emacs-frame-local))
+
+(define-public emacs-pgtk-frame-local
+  (package-with-emacs-pgtk emacs-frame-local))
+
 (define-public emacs-frame-purpose
   (package
     (name "emacs-frame-purpose")
@@ -30480,6 +39716,15 @@ (define-public emacs-frame-purpose
     (home-page "https://github.com/alphapapa/frame-purpose.el")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-frame-purpose
+  (package-with-emacs-minimal emacs-frame-purpose))
+
+(define-public emacs-next-frame-purpose
+  (package-with-emacs-next emacs-frame-purpose))
+
+(define-public emacs-pgtk-frame-purpose
+  (package-with-emacs-pgtk emacs-frame-purpose))
+
 (define-public emacs-arduino-mode
   (let ((commit "652c6a328fa8f2db06534d5f231c6b6933be3edc")
         (revision "0"))
@@ -30504,6 +39749,15 @@ (define-public emacs-arduino-mode
       (home-page "https://repo.or.cz/arduino-mode")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-arduino-mode
+  (package-with-emacs-minimal emacs-arduino-mode))
+
+(define-public emacs-next-arduino-mode
+  (package-with-emacs-next emacs-arduino-mode))
+
+(define-public emacs-pgtk-arduino-mode
+  (package-with-emacs-pgtk emacs-arduino-mode))
+
 (define-public emacs-annalist
   (package
     (name "emacs-annalist")
@@ -30536,6 +39790,15 @@ (define-public emacs-annalist
 advice to be recorded and displayed.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-annalist
+  (package-with-emacs-minimal emacs-annalist))
+
+(define-public emacs-next-annalist
+  (package-with-emacs-next emacs-annalist))
+
+(define-public emacs-pgtk-annalist
+  (package-with-emacs-pgtk emacs-annalist))
+
 (define-public emacs-general
   (let ((commit "a0b17d207badf462311b2eef7c065b884462cb7c")
         (revision "4"))
@@ -30573,6 +39836,15 @@ (define-public emacs-general
 leader key in vim), and much more.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-general
+  (package-with-emacs-minimal emacs-general))
+
+(define-public emacs-next-general
+  (package-with-emacs-next emacs-general))
+
+(define-public emacs-pgtk-general
+  (package-with-emacs-pgtk emacs-general))
+
 (define-public emacs-tldr
   (let ((commit "1b09d2032491d3904bd7ee9bf5ba7c7503db6593")
         (revision "2"))
@@ -30610,6 +39882,15 @@ (define-public emacs-tldr
 man pages with practical examples.")
       (license license:wtfpl2))))
 
+(define-public emacs-minimal-tldr
+  (package-with-emacs-minimal emacs-tldr))
+
+(define-public emacs-next-tldr
+  (package-with-emacs-next emacs-tldr))
+
+(define-public emacs-pgtk-tldr
+  (package-with-emacs-pgtk emacs-tldr))
+
 (define-public emacs-window-layout
   (package
     (name "emacs-window-layout")
@@ -30630,6 +39911,15 @@ (define-public emacs-window-layout
 or a window into some windows according to a layout recipe.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-window-layout
+  (package-with-emacs-minimal emacs-window-layout))
+
+(define-public emacs-next-window-layout
+  (package-with-emacs-next emacs-window-layout))
+
+(define-public emacs-pgtk-window-layout
+  (package-with-emacs-pgtk emacs-window-layout))
+
 (define-public emacs-e2wm
   (package
       (name "emacs-e2wm")
@@ -30654,6 +39944,15 @@ (define-public emacs-e2wm
 buffers, etc.  It also has plug-ins to help your Emacs life.")
       (license license:gpl3+)))
 
+(define-public emacs-minimal-e2wm
+  (package-with-emacs-minimal emacs-e2wm))
+
+(define-public emacs-next-e2wm
+  (package-with-emacs-next emacs-e2wm))
+
+(define-public emacs-pgtk-e2wm
+  (package-with-emacs-pgtk emacs-e2wm))
+
 (define-public emacs-ctable
   ;; Latest release is not tagged.  Use commit matching version bump.
   (let ((commit "04dbcddeba1da1f39e885bc0d36240ff37d829e9")
@@ -30681,6 +39980,15 @@ (define-public emacs-ctable
 programs can use this table component for the application UI.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ctable
+  (package-with-emacs-minimal emacs-ctable))
+
+(define-public emacs-next-ctable
+  (package-with-emacs-next emacs-ctable))
+
+(define-public emacs-pgtk-ctable
+  (package-with-emacs-pgtk emacs-ctable))
+
 (define-public emacs-leetcode
   (let ((commit "8624496af9e105c3e07d88844b37ede87540d604")
         (revision "1"))
@@ -30705,6 +40013,15 @@ (define-public emacs-leetcode
 allowing users to log in and solve problems of their choice using Emacs.")
       (license license:unlicense))))
 
+(define-public emacs-minimal-leetcode
+  (package-with-emacs-minimal emacs-leetcode))
+
+(define-public emacs-next-leetcode
+  (package-with-emacs-next emacs-leetcode))
+
+(define-public emacs-pgtk-leetcode
+  (package-with-emacs-pgtk emacs-leetcode))
+
 (define-public emacs-epc
   (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
     (package
@@ -30730,6 +40047,15 @@ (define-public emacs-epc
 asynchronous communications, the RPC response is fairly good.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-epc
+  (package-with-emacs-minimal emacs-epc))
+
+(define-public emacs-next-epc
+  (package-with-emacs-next emacs-epc))
+
+(define-public emacs-pgtk-epc
+  (package-with-emacs-pgtk emacs-epc))
+
 (define-public emacs-edbi
   (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
     (package
@@ -30779,6 +40105,15 @@ (define-public emacs-edbi
 DBI, and provides DB-accessing API and the simple management UI.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-edbi
+  (package-with-emacs-minimal emacs-edbi))
+
+(define-public emacs-next-edbi
+  (package-with-emacs-next emacs-edbi))
+
+(define-public emacs-pgtk-edbi
+  (package-with-emacs-pgtk emacs-edbi))
+
 (define-public emacs-edbi-sqlite
   (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
     (package
@@ -30802,6 +40137,15 @@ (define-public emacs-edbi-sqlite
 to open SQLite databases.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-edbi-sqlite
+  (package-with-emacs-minimal emacs-edbi-sqlite))
+
+(define-public emacs-next-edbi-sqlite
+  (package-with-emacs-next emacs-edbi-sqlite))
+
+(define-public emacs-pgtk-edbi-sqlite
+  (package-with-emacs-pgtk emacs-edbi-sqlite))
+
 (define-public emacs-nice-citation
   (let ((commit "1013b56d9d1495a335f40a5f76203034dc5fa0ea")
         (revision "0"))
@@ -30829,6 +40173,15 @@ (define-public emacs-nice-citation
 chevron marks.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-nice-citation
+  (package-with-emacs-minimal emacs-nice-citation))
+
+(define-public emacs-next-nice-citation
+  (package-with-emacs-next emacs-nice-citation))
+
+(define-public emacs-pgtk-nice-citation
+  (package-with-emacs-pgtk emacs-nice-citation))
+
 (define-public emacs-nix-mode
   (package
     (name "emacs-nix-mode")
@@ -30852,6 +40205,15 @@ (define-public emacs-nix-mode
 comments.")
     (license license:lgpl2.1+)))
 
+(define-public emacs-minimal-nix-mode
+  (package-with-emacs-minimal emacs-nix-mode))
+
+(define-public emacs-next-nix-mode
+  (package-with-emacs-next emacs-nix-mode))
+
+(define-public emacs-pgtk-nix-mode
+  (package-with-emacs-pgtk emacs-nix-mode))
+
 (define-public emacs-nyxt
   ;; This forge doesn't support fetching from refs, use commits.
   (let ((commit "5f732e3d039c9d9c316dd5fbbbc91bd015dd2659")
@@ -30886,6 +40248,15 @@ (define-public emacs-nyxt
 from Emacs.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-nyxt
+  (package-with-emacs-minimal emacs-nyxt))
+
+(define-public emacs-next-nyxt
+  (package-with-emacs-next emacs-nyxt))
+
+(define-public emacs-pgtk-nyxt
+  (package-with-emacs-pgtk emacs-nyxt))
+
 (define-public emacs-libmpdel
   (package
     (name "emacs-libmpdel")
@@ -30914,6 +40285,15 @@ (define-public emacs-libmpdel
 music.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-libmpdel
+  (package-with-emacs-minimal emacs-libmpdel))
+
+(define-public emacs-next-libmpdel
+  (package-with-emacs-next emacs-libmpdel))
+
+(define-public emacs-pgtk-libmpdel
+  (package-with-emacs-pgtk emacs-libmpdel))
+
 (define-public emacs-mpdel
   (package
     (name "emacs-mpdel")
@@ -30939,6 +40319,15 @@ (define-public emacs-mpdel
 stored playlists.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-mpdel
+  (package-with-emacs-minimal emacs-mpdel))
+
+(define-public emacs-next-mpdel
+  (package-with-emacs-next emacs-mpdel))
+
+(define-public emacs-pgtk-mpdel
+  (package-with-emacs-pgtk emacs-mpdel))
+
 
 (define-public emacs-kodi-remote
   (let ((commit "f5e932036c16e2b61a63020e006fc601e38d181e")
@@ -30965,6 +40354,15 @@ (define-public emacs-kodi-remote
 instances (play/pause, volume control, media selection, etc.) remotely.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-kodi-remote
+  (package-with-emacs-minimal emacs-kodi-remote))
+
+(define-public emacs-next-kodi-remote
+  (package-with-emacs-next emacs-kodi-remote))
+
+(define-public emacs-pgtk-kodi-remote
+  (package-with-emacs-pgtk emacs-kodi-remote))
+
 (define-public emacs-navigel
   (package
     (name "emacs-navigel")
@@ -30995,6 +40393,15 @@ (define-public emacs-navigel
 tabulated-lists).")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-navigel
+  (package-with-emacs-minimal emacs-navigel))
+
+(define-public emacs-next-navigel
+  (package-with-emacs-next emacs-navigel))
+
+(define-public emacs-pgtk-navigel
+  (package-with-emacs-pgtk emacs-navigel))
+
 (define-public emacs-eat
   (package
     (name "emacs-eat")
@@ -31051,6 +40458,15 @@ (define-public emacs-eat
 shell integration.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-eat
+  (package-with-emacs-minimal emacs-eat))
+
+(define-public emacs-next-eat
+  (package-with-emacs-next emacs-eat))
+
+(define-public emacs-pgtk-eat
+  (package-with-emacs-pgtk emacs-eat))
+
 (define-public emacs-vterm
   (let ((commit "c3a3a23a5eace137947524c93644204bf6b56cff")
         (revision "1"))
@@ -31111,6 +40527,15 @@ (define-public emacs-vterm
 display a terminal in an Emacs buffer.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-vterm
+  (package-with-emacs-minimal emacs-vterm))
+
+(define-public emacs-next-vterm
+  (package-with-emacs-next emacs-vterm))
+
+(define-public emacs-pgtk-vterm
+  (package-with-emacs-pgtk emacs-vterm))
+
 (define-public emacs-vterm-toggle
   ;; There have been no releases.
   (let ((commit "d10239b7bb89b78dddb82f66ac2286bc0b02747b")
@@ -31136,6 +40561,15 @@ (define-public emacs-vterm-toggle
 a vterm buffer and back again.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-vterm-toggle
+  (package-with-emacs-minimal emacs-vterm-toggle))
+
+(define-public emacs-next-vterm-toggle
+  (package-with-emacs-next emacs-vterm-toggle))
+
+(define-public emacs-pgtk-vterm-toggle
+  (package-with-emacs-pgtk emacs-vterm-toggle))
+
 (define-public emacs-multi-vterm
   (let ((commit "a3df7218c1ecadef779e2c47815201052283f9ea")
         (revision "1"))
@@ -31159,6 +40593,15 @@ (define-public emacs-multi-vterm
        "This package provides an Emacs library to manage vterm buffers.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-multi-vterm
+  (package-with-emacs-minimal emacs-multi-vterm))
+
+(define-public emacs-next-multi-vterm
+  (package-with-emacs-next emacs-multi-vterm))
+
+(define-public emacs-pgtk-multi-vterm
+  (package-with-emacs-pgtk emacs-multi-vterm))
+
 (define-public emacs-simple-mpc
   ;; There have been no releases.
   (let ((commit "35923caf39d4bebeb0e49264a29441c22216f1ed")
@@ -31184,6 +40627,15 @@ (define-public emacs-simple-mpc
 front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-simple-mpc
+  (package-with-emacs-minimal emacs-simple-mpc))
+
+(define-public emacs-next-simple-mpc
+  (package-with-emacs-next emacs-simple-mpc))
+
+(define-public emacs-pgtk-simple-mpc
+  (package-with-emacs-pgtk emacs-simple-mpc))
+
 (define-public emacs-mkmcc-gnuplot-mode
   (package
     (name "emacs-mkmcc-gnuplot-mode")
@@ -31206,6 +40658,15 @@ (define-public emacs-mkmcc-gnuplot-mode
 indentation and a command to plot the file.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-mkmcc-gnuplot-mode
+  (package-with-emacs-minimal emacs-mkmcc-gnuplot-mode))
+
+(define-public emacs-next-mkmcc-gnuplot-mode
+  (package-with-emacs-next emacs-mkmcc-gnuplot-mode))
+
+(define-public emacs-pgtk-mkmcc-gnuplot-mode
+  (package-with-emacs-pgtk emacs-mkmcc-gnuplot-mode))
+
 (define-public emacs-cmake-font-lock
   (package
     (name "emacs-cmake-font-lock")
@@ -31230,6 +40691,15 @@ (define-public emacs-cmake-font-lock
 according to their use.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-cmake-font-lock
+  (package-with-emacs-minimal emacs-cmake-font-lock))
+
+(define-public emacs-next-cmake-font-lock
+  (package-with-emacs-next emacs-cmake-font-lock))
+
+(define-public emacs-pgtk-cmake-font-lock
+  (package-with-emacs-pgtk emacs-cmake-font-lock))
+
 (define-public emacs-detached
   (package
     (name "emacs-detached")
@@ -31267,6 +40737,15 @@ (define-public emacs-detached
 interface to attach and interact with the processes.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-detached
+  (package-with-emacs-minimal emacs-detached))
+
+(define-public emacs-next-detached
+  (package-with-emacs-next emacs-detached))
+
+(define-public emacs-pgtk-detached
+  (package-with-emacs-pgtk emacs-detached))
+
 (define-public emacs-dtache
   (deprecated-package "emacs-dtache" emacs-detached))
 
@@ -31292,6 +40771,15 @@ (define-public emacs-dtrt-indent
 convenient to edit foreign files.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-dtrt-indent
+  (package-with-emacs-minimal emacs-dtrt-indent))
+
+(define-public emacs-next-dtrt-indent
+  (package-with-emacs-next emacs-dtrt-indent))
+
+(define-public emacs-pgtk-dtrt-indent
+  (package-with-emacs-pgtk emacs-dtrt-indent))
+
 (define-public emacs-repo
   (package
     (name "emacs-repo")
@@ -31317,6 +40805,15 @@ (define-public emacs-repo
 buffer and launches Magit from the status buffer for the project at point.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-repo
+  (package-with-emacs-minimal emacs-repo))
+
+(define-public emacs-next-repo
+  (package-with-emacs-next emacs-repo))
+
+(define-public emacs-pgtk-repo
+  (package-with-emacs-pgtk emacs-repo))
+
 (define-public emacs-repology
   (package
     (name "emacs-repology")
@@ -31343,6 +40840,15 @@ (define-public emacs-repology
 @url{https://repology.org/api}), process results, and display them.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-repology
+  (package-with-emacs-minimal emacs-repology))
+
+(define-public emacs-next-repology
+  (package-with-emacs-next emacs-repology))
+
+(define-public emacs-pgtk-repology
+  (package-with-emacs-pgtk emacs-repology))
+
 (define-public emacs-alect-themes
   (package
     (name "emacs-alect-themes")
@@ -31364,6 +40870,15 @@ (define-public emacs-alect-themes
 GUI.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-alect-themes
+  (package-with-emacs-minimal emacs-alect-themes))
+
+(define-public emacs-next-alect-themes
+  (package-with-emacs-next emacs-alect-themes))
+
+(define-public emacs-pgtk-alect-themes
+  (package-with-emacs-pgtk emacs-alect-themes))
+
 (define-public emacs-google-c-style
   (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
         (revision "0"))
@@ -31386,6 +40901,15 @@ (define-public emacs-google-c-style
 file for Google C and C++ style.")
       (license license:gpl1+))))
 
+(define-public emacs-minimal-google-c-style
+  (package-with-emacs-minimal emacs-google-c-style))
+
+(define-public emacs-next-google-c-style
+  (package-with-emacs-next emacs-google-c-style))
+
+(define-public emacs-pgtk-google-c-style
+  (package-with-emacs-pgtk emacs-google-c-style))
+
 (define-public emacs-redshank
   (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
         (revision "1"))
@@ -31412,6 +40936,15 @@ (define-public emacs-redshank
 opposed to character-based).")
       (license license:gpl1+))))
 
+(define-public emacs-minimal-redshank
+  (package-with-emacs-minimal emacs-redshank))
+
+(define-public emacs-next-redshank
+  (package-with-emacs-next emacs-redshank))
+
+(define-public emacs-pgtk-redshank
+  (package-with-emacs-pgtk emacs-redshank))
+
 (define-public emacs-disk-usage
   ;; Use a recent commit as the last release is missing changes from 2020
   ;; onwards
@@ -31438,6 +40971,15 @@ (define-public emacs-disk-usage
 recursively.  The results are cached for speed.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-disk-usage
+  (package-with-emacs-minimal emacs-disk-usage))
+
+(define-public emacs-next-disk-usage
+  (package-with-emacs-next emacs-disk-usage))
+
+(define-public emacs-pgtk-disk-usage
+  (package-with-emacs-pgtk emacs-disk-usage))
+
 (define-public emacs-orgit
   (package
     (name "emacs-orgit")
@@ -31463,6 +41005,15 @@ (define-public emacs-orgit
 @code{org-insert-link}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-orgit
+  (package-with-emacs-minimal emacs-orgit))
+
+(define-public emacs-next-orgit
+  (package-with-emacs-next emacs-orgit))
+
+(define-public emacs-pgtk-orgit
+  (package-with-emacs-pgtk emacs-orgit))
+
 (define-public emacs-amx
   (package
     (name "emacs-amx")
@@ -31488,6 +41039,15 @@ (define-public emacs-amx
 completion systems for selecting commands, such as Ido and Ivy.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-amx
+  (package-with-emacs-minimal emacs-amx))
+
+(define-public emacs-next-amx
+  (package-with-emacs-next emacs-amx))
+
+(define-public emacs-pgtk-amx
+  (package-with-emacs-pgtk emacs-amx))
+
 (define-public emacs-lorem-ipsum
   (let ((commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd"))
     (package
@@ -31510,6 +41070,15 @@ (define-public emacs-lorem-ipsum
 paragraphs or pages of text for testing purposes.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-lorem-ipsum
+  (package-with-emacs-minimal emacs-lorem-ipsum))
+
+(define-public emacs-next-lorem-ipsum
+  (package-with-emacs-next emacs-lorem-ipsum))
+
+(define-public emacs-pgtk-lorem-ipsum
+  (package-with-emacs-pgtk emacs-lorem-ipsum))
+
 (define-public emacs-lisp-extra-font-lock
   (let ((commit "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"))
     (package
@@ -31532,6 +41101,15 @@ (define-public emacs-lisp-extra-font-lock
 constant expressions.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-lisp-extra-font-lock
+  (package-with-emacs-minimal emacs-lisp-extra-font-lock))
+
+(define-public emacs-next-lisp-extra-font-lock
+  (package-with-emacs-next emacs-lisp-extra-font-lock))
+
+(define-public emacs-pgtk-lisp-extra-font-lock
+  (package-with-emacs-pgtk emacs-lisp-extra-font-lock))
+
 (define-public emacs-docker-tramp
   (package
     (name "emacs-docker-tramp")
@@ -31553,6 +41131,15 @@ (define-public emacs-docker-tramp
      "This package provides a TRAMP method for Docker containers.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-docker-tramp
+  (package-with-emacs-minimal emacs-docker-tramp))
+
+(define-public emacs-next-docker-tramp
+  (package-with-emacs-next emacs-docker-tramp))
+
+(define-public emacs-pgtk-docker-tramp
+  (package-with-emacs-pgtk emacs-docker-tramp))
+
 (define-public emacs-docker
   (package
     (name "emacs-docker")
@@ -31582,6 +41169,15 @@ (define-public emacs-docker
     (description "This package provides an Emacs interface for Docker.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-docker
+  (package-with-emacs-minimal emacs-docker))
+
+(define-public emacs-next-docker
+  (package-with-emacs-next emacs-docker))
+
+(define-public emacs-pgtk-docker
+  (package-with-emacs-pgtk emacs-docker))
+
 (define-public emacs-dockerfile-mode
   (package
     (name "emacs-dockerfile-mode")
@@ -31606,6 +41202,15 @@ (define-public emacs-dockerfile-mode
 the standard @code{Dockerfile} file format.")
     (license license:asl2.0)))
 
+(define-public emacs-minimal-dockerfile-mode
+  (package-with-emacs-minimal emacs-dockerfile-mode))
+
+(define-public emacs-next-dockerfile-mode
+  (package-with-emacs-next emacs-dockerfile-mode))
+
+(define-public emacs-pgtk-dockerfile-mode
+  (package-with-emacs-pgtk emacs-dockerfile-mode))
+
 (define-public emacs-lsp-mode
   (package
     (name "emacs-lsp-mode")
@@ -31622,7 +41227,6 @@ (define-public emacs-lsp-mode
     (build-system emacs-build-system)
     (arguments
      (list
-      #:emacs emacs                     ;need libxml support
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'move-clients-libraries
@@ -31662,6 +41266,15 @@ (define-public emacs-lsp-mode
 and Projectile.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-lsp-mode
+  (package-with-emacs-minimal emacs-lsp-mode))
+
+(define-public emacs-next-lsp-mode
+  (package-with-emacs-next emacs-lsp-mode))
+
+(define-public emacs-pgtk-lsp-mode
+  (package-with-emacs-pgtk emacs-lsp-mode))
+
 (define* (%emacs-lsp-treemacs-upstream-source #:key commit version hash)
   (origin
     (method git-fetch)
@@ -31747,6 +41360,15 @@ (define-public emacs-lsp-treemacs
                    license:cc-by4.0  ; microsoft/vscode-icons
                    license:expat)))) ; vscode-icons/vscode-icons
 
+(define-public emacs-minimal-lsp-treemacs
+  (package-with-emacs-minimal emacs-lsp-treemacs))
+
+(define-public emacs-next-lsp-treemacs
+  (package-with-emacs-next emacs-lsp-treemacs))
+
+(define-public emacs-pgtk-lsp-treemacs
+  (package-with-emacs-pgtk emacs-lsp-treemacs))
+
 (define-public emacs-lsp-docker
   (let ((commit "16a0cfbe06813a1191b19e412445f9d34cd7493f")
         (revision "1"))
@@ -31771,6 +41393,15 @@ (define-public emacs-lsp-docker
 in Docker environment.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-lsp-docker
+  (package-with-emacs-minimal emacs-lsp-docker))
+
+(define-public emacs-next-lsp-docker
+  (package-with-emacs-next emacs-lsp-docker))
+
+(define-public emacs-pgtk-lsp-docker
+  (package-with-emacs-pgtk emacs-lsp-docker))
+
 (define-public emacs-dape
   (package
     (name "emacs-dape")
@@ -31821,6 +41452,15 @@ (define-public emacs-dape
 interface for debuggers.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-dape
+  (package-with-emacs-minimal emacs-dape))
+
+(define-public emacs-next-dape
+  (package-with-emacs-next emacs-dape))
+
+(define-public emacs-pgtk-dape
+  (package-with-emacs-pgtk emacs-dape))
+
 (define-public emacs-dap-mode
   (package
     (name "emacs-dap-mode")
@@ -31852,6 +41492,15 @@ (define-public emacs-dap-mode
 Debug server.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-dap-mode
+  (package-with-emacs-minimal emacs-dap-mode))
+
+(define-public emacs-next-dap-mode
+  (package-with-emacs-next emacs-dap-mode))
+
+(define-public emacs-pgtk-dap-mode
+  (package-with-emacs-pgtk emacs-dap-mode))
+
 (define-public emacs-bfuture
   (package
     (name "emacs-bfuture")
@@ -31880,6 +41529,15 @@ (define-public emacs-bfuture
 it cannot tell stdout and stderr apart.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-bfuture
+  (package-with-emacs-minimal emacs-bfuture))
+
+(define-public emacs-next-bfuture
+  (package-with-emacs-next emacs-bfuture))
+
+(define-public emacs-pgtk-bfuture
+  (package-with-emacs-pgtk emacs-bfuture))
+
 (define-public emacs-pfuture
   (package
     (name "emacs-pfuture")
@@ -31900,6 +41558,15 @@ (define-public emacs-pfuture
 processes for Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-pfuture
+  (package-with-emacs-minimal emacs-pfuture))
+
+(define-public emacs-next-pfuture
+  (package-with-emacs-next emacs-pfuture))
+
+(define-public emacs-pgtk-pfuture
+  (package-with-emacs-pgtk emacs-pfuture))
+
 (define-public emacs-treemacs
   (package
     (name "emacs-treemacs")
@@ -31978,6 +41645,15 @@ (define-public emacs-treemacs
 utilities.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-treemacs
+  (package-with-emacs-minimal emacs-treemacs))
+
+(define-public emacs-next-treemacs
+  (package-with-emacs-next emacs-treemacs))
+
+(define-public emacs-pgtk-treemacs
+  (package-with-emacs-pgtk emacs-treemacs))
+
 (define-public emacs-treemacs-extra
   (package
     (inherit emacs-treemacs)
@@ -32000,6 +41676,15 @@ (define-public emacs-treemacs-extra
                emacs-perspective
                mu)))))
 
+(define-public emacs-minimal-treemacs-extra
+  (package-with-emacs-minimal emacs-treemacs-extra))
+
+(define-public emacs-next-treemacs-extra
+  (package-with-emacs-next emacs-treemacs-extra))
+
+(define-public emacs-pgtk-treemacs-extra
+  (package-with-emacs-pgtk emacs-treemacs-extra))
+
 (define-public emacs-libyaml
   ;; Upstream made no release so far.
   (let ((version "0.1")
@@ -32051,6 +41736,15 @@ (define-public emacs-libyaml
 files in Elisp.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-libyaml
+  (package-with-emacs-minimal emacs-libyaml))
+
+(define-public emacs-next-libyaml
+  (package-with-emacs-next emacs-libyaml))
+
+(define-public emacs-pgtk-libyaml
+  (package-with-emacs-pgtk emacs-libyaml))
+
 (define-public emacs-lsp-java
   (package
     (name "emacs-lsp-java")
@@ -32079,6 +41773,15 @@ (define-public emacs-lsp-java
     (description "Emacs Java IDE using Eclipse JDT Language Server.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-lsp-java
+  (package-with-emacs-minimal emacs-lsp-java))
+
+(define-public emacs-next-lsp-java
+  (package-with-emacs-next emacs-lsp-java))
+
+(define-public emacs-pgtk-lsp-java
+  (package-with-emacs-pgtk emacs-lsp-java))
+
 (define-public emacs-lsp-metals
   (let ((commit "01060e9df33bb077ba6bb56ccfebc140aef8f8f3")
         (revision "1"))
@@ -32103,6 +41806,15 @@ (define-public emacs-lsp-metals
 to Metals.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-lsp-metals
+  (package-with-emacs-minimal emacs-lsp-metals))
+
+(define-public emacs-next-lsp-metals
+  (package-with-emacs-next emacs-lsp-metals))
+
+(define-public emacs-pgtk-lsp-metals
+  (package-with-emacs-pgtk emacs-lsp-metals))
+
 (define-public emacs-lsp-ui
   (package
     (name "emacs-lsp-ui")
@@ -32127,6 +41839,15 @@ (define-public emacs-lsp-ui
 and code peeking.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-lsp-ui
+  (package-with-emacs-minimal emacs-lsp-ui))
+
+(define-public emacs-next-lsp-ui
+  (package-with-emacs-next emacs-lsp-ui))
+
+(define-public emacs-pgtk-lsp-ui
+  (package-with-emacs-pgtk emacs-lsp-ui))
+
 (define-public emacs-lsp-lua-emmy
   (let ((commit "ab53fb2a8b8942804eb75bab5624fd19f1d360bf"))
     (package
@@ -32150,6 +41871,15 @@ (define-public emacs-lsp-lua-emmy
 @code{lsp-mode} client for Emacs.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-lsp-lua-emmy
+  (package-with-emacs-minimal emacs-lsp-lua-emmy))
+
+(define-public emacs-next-lsp-lua-emmy
+  (package-with-emacs-next emacs-lsp-lua-emmy))
+
+(define-public emacs-pgtk-lsp-lua-emmy
+  (package-with-emacs-pgtk emacs-lsp-lua-emmy))
+
 (define-public emacs-lsp-ivy
   (package
     (name "emacs-lsp-ivy")
@@ -32173,6 +41903,15 @@ (define-public emacs-lsp-ivy
 workspaces with a LSP-compliant server running.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-lsp-ivy
+  (package-with-emacs-minimal emacs-lsp-ivy))
+
+(define-public emacs-next-lsp-ivy
+  (package-with-emacs-next emacs-lsp-ivy))
+
+(define-public emacs-pgtk-lsp-ivy
+  (package-with-emacs-pgtk emacs-lsp-ivy))
+
 (define-public emacs-helm-lsp
   (package
     (name "emacs-helm-lsp")
@@ -32196,6 +41935,15 @@ (define-public emacs-helm-lsp
 workspaces with a LSP-compliant server running.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-helm-lsp
+  (package-with-emacs-minimal emacs-helm-lsp))
+
+(define-public emacs-next-helm-lsp
+  (package-with-emacs-next emacs-helm-lsp))
+
+(define-public emacs-pgtk-helm-lsp
+  (package-with-emacs-pgtk emacs-helm-lsp))
+
 (define-public emacs-helm-notmuch
   (package
     (name "emacs-helm-notmuch")
@@ -32220,6 +41968,15 @@ (define-public emacs-helm-notmuch
 real search.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-helm-notmuch
+  (package-with-emacs-minimal emacs-helm-notmuch))
+
+(define-public emacs-next-helm-notmuch
+  (package-with-emacs-next emacs-helm-notmuch))
+
+(define-public emacs-pgtk-helm-notmuch
+  (package-with-emacs-pgtk emacs-helm-notmuch))
+
 (define-public emacs-notmuch-indicator
   (package
     (name "emacs-notmuch-indicator")
@@ -32241,6 +41998,15 @@ (define-public emacs-notmuch-indicator
 given search terms.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-notmuch-indicator
+  (package-with-emacs-minimal emacs-notmuch-indicator))
+
+(define-public emacs-next-notmuch-indicator
+  (package-with-emacs-next emacs-notmuch-indicator))
+
+(define-public emacs-pgtk-notmuch-indicator
+  (package-with-emacs-pgtk emacs-notmuch-indicator))
+
 (define-public emacs-notmuch-maildir
   (package
     (name "emacs-notmuch-maildir")
@@ -32264,6 +42030,15 @@ (define-public emacs-notmuch-maildir
 buffer''.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-notmuch-maildir
+  (package-with-emacs-minimal emacs-notmuch-maildir))
+
+(define-public emacs-next-notmuch-maildir
+  (package-with-emacs-next emacs-notmuch-maildir))
+
+(define-public emacs-pgtk-notmuch-maildir
+  (package-with-emacs-pgtk emacs-notmuch-maildir))
+
 (define-public emacs-elmacro
   (package
     (name "emacs-elmacro")
@@ -32287,6 +42062,15 @@ (define-public emacs-elmacro
 as Emacs Lisp.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-elmacro
+  (package-with-emacs-minimal emacs-elmacro))
+
+(define-public emacs-next-elmacro
+  (package-with-emacs-next emacs-elmacro))
+
+(define-public emacs-pgtk-elmacro
+  (package-with-emacs-pgtk emacs-elmacro))
+
 (define-public emacs-transient
   (package
     (name "emacs-transient")
@@ -32326,6 +42110,15 @@ (define-public emacs-transient
 commands (a prefix and a suffix) we prefer to call it just a \"transient\".")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-transient
+  (package-with-emacs-minimal emacs-transient))
+
+(define-public emacs-next-transient
+  (package-with-emacs-next emacs-transient))
+
+(define-public emacs-pgtk-transient
+  (package-with-emacs-pgtk emacs-transient))
+
 (define-public emacs-forge
   (package
      (name "emacs-forge")
@@ -32370,6 +42163,15 @@ (define-public emacs-forge
 comfort of Magit and the rest of Emacs.")
      (license license:gpl3+)))
 
+(define-public emacs-minimal-forge
+  (package-with-emacs-minimal emacs-forge))
+
+(define-public emacs-next-forge
+  (package-with-emacs-next emacs-forge))
+
+(define-public emacs-pgtk-forge
+  (package-with-emacs-pgtk emacs-forge))
+
 (define-public emacs-matcha
   (let ((commit "dc4a940b3360aadeb2d9eaab7bd0c85e1e85ab76"))
     (package
@@ -32392,6 +42194,15 @@ (define-public emacs-matcha
 packages with a consistent way to use them.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-matcha
+  (package-with-emacs-minimal emacs-matcha))
+
+(define-public emacs-next-matcha
+  (package-with-emacs-next emacs-matcha))
+
+(define-public emacs-pgtk-matcha
+  (package-with-emacs-pgtk emacs-matcha))
+
 (define-public emacs-undo-propose-el
   (let ((commit "f80baee566807d733fbacbab08a897bcd62579c3")
         (revision "3"))
@@ -32420,6 +42231,15 @@ (define-public emacs-undo-propose-el
 the @code{undo} history.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-undo-propose-el
+  (package-with-emacs-minimal emacs-undo-propose-el))
+
+(define-public emacs-next-undo-propose-el
+  (package-with-emacs-next emacs-undo-propose-el))
+
+(define-public emacs-pgtk-undo-propose-el
+  (package-with-emacs-pgtk emacs-undo-propose-el))
+
 (define-public emacs-elisp-docstring-mode
   (let ((commit "f512e509dd690f65133e55563ebbfd2dede5034f")
         (version "0.0.1")
@@ -32444,6 +42264,15 @@ (define-public emacs-elisp-docstring-mode
 unescaping of quotes.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-elisp-docstring-mode
+  (package-with-emacs-minimal emacs-elisp-docstring-mode))
+
+(define-public emacs-next-elisp-docstring-mode
+  (package-with-emacs-next emacs-elisp-docstring-mode))
+
+(define-public emacs-pgtk-elisp-docstring-mode
+  (package-with-emacs-pgtk emacs-elisp-docstring-mode))
+
 (define-public emacs-vimrc-mode
   (let ((commit "13bc150a870d5d4a95f1111e4740e2b22813c30e")
         (version "0.3.1")
@@ -32468,6 +42297,15 @@ (define-public emacs-vimrc-mode
 @code{end-of-defun} functions for Vimscript files.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-vimrc-mode
+  (package-with-emacs-minimal emacs-vimrc-mode))
+
+(define-public emacs-next-vimrc-mode
+  (package-with-emacs-next emacs-vimrc-mode))
+
+(define-public emacs-pgtk-vimrc-mode
+  (package-with-emacs-pgtk emacs-vimrc-mode))
+
 (define-public emacs-flycheck-elm
   (let ((revision "0")
         (commit "1b60050efd4729bfba548f3e5adbcb58436667cb"))
@@ -32492,6 +42330,15 @@ (define-public emacs-flycheck-elm
       (description "Flycheck Elm adds Flycheck support for Elm language.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-flycheck-elm
+  (package-with-emacs-minimal emacs-flycheck-elm))
+
+(define-public emacs-next-flycheck-elm
+  (package-with-emacs-next emacs-flycheck-elm))
+
+(define-public emacs-pgtk-flycheck-elm
+  (package-with-emacs-pgtk emacs-flycheck-elm))
+
 (define-public emacs-flycheck-haskell
   (let ((commit "32ddff87165a7d3a35e7318bee997b5b4bd41278")
         (revision "2"))
@@ -32519,6 +42366,15 @@ (define-public emacs-flycheck-haskell
 buffers.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-flycheck-haskell
+  (package-with-emacs-minimal emacs-flycheck-haskell))
+
+(define-public emacs-next-flycheck-haskell
+  (package-with-emacs-next emacs-flycheck-haskell))
+
+(define-public emacs-pgtk-flycheck-haskell
+  (package-with-emacs-pgtk emacs-flycheck-haskell))
+
 (define-public emacs-js2-refactor-el
   (let ((commit "d4c40b5fc86d3edd7c6a7d83ac86483ee1cb7a28")
         (revision "2"))
@@ -32547,6 +42403,15 @@ (define-public emacs-js2-refactor-el
 JavaScript.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-js2-refactor-el
+  (package-with-emacs-minimal emacs-js2-refactor-el))
+
+(define-public emacs-next-js2-refactor-el
+  (package-with-emacs-next emacs-js2-refactor-el))
+
+(define-public emacs-pgtk-js2-refactor-el
+  (package-with-emacs-pgtk emacs-js2-refactor-el))
+
 (define-public emacs-jsdoc
   (let ((commit "10ccff7a5cec6fd2f4484c1d55347634e5b46432")) ;version bump
     (package
@@ -32572,6 +42437,15 @@ (define-public emacs-jsdoc
 comments and typedefs using Emacs' builtin tree-sitter.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-jsdoc
+  (package-with-emacs-minimal emacs-jsdoc))
+
+(define-public emacs-next-jsdoc
+  (package-with-emacs-next emacs-jsdoc))
+
+(define-public emacs-pgtk-jsdoc
+  (package-with-emacs-pgtk emacs-jsdoc))
+
 (define-public emacs-prettier
   (let ((commit "e9b73e81d3e1642aec682195f127a42dfb0b5774")
         (version "0.1.0")
@@ -32596,6 +42470,15 @@ (define-public emacs-prettier
 provides a minor mode that autoformats the buffer upon saving.")
       (license license:expat))))
 
+(define-public emacs-minimal-prettier
+  (package-with-emacs-minimal emacs-prettier))
+
+(define-public emacs-next-prettier
+  (package-with-emacs-next emacs-prettier))
+
+(define-public emacs-pgtk-prettier
+  (package-with-emacs-pgtk emacs-prettier))
+
 (define-public emacs-fish-mode
   (package
     (name "emacs-fish-mode")
@@ -32617,6 +42500,15 @@ (define-public emacs-fish-mode
 functions for Fish shell scripts.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-fish-mode
+  (package-with-emacs-minimal emacs-fish-mode))
+
+(define-public emacs-next-fish-mode
+  (package-with-emacs-next emacs-fish-mode))
+
+(define-public emacs-pgtk-fish-mode
+  (package-with-emacs-pgtk emacs-fish-mode))
+
 (define-public emacs-eshell-up
   (package
     (name "emacs-eshell-up")
@@ -32638,6 +42530,15 @@ (define-public emacs-eshell-up
 directory using Eshell.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-eshell-up
+  (package-with-emacs-minimal emacs-eshell-up))
+
+(define-public emacs-next-eshell-up
+  (package-with-emacs-next emacs-eshell-up))
+
+(define-public emacs-pgtk-eshell-up
+  (package-with-emacs-pgtk emacs-eshell-up))
+
 (define-public emacs-springboard
   ;; Upstream provides no tag.  Using the latest commit.  Version is extracted
   ;; from "Version:" keyword.
@@ -32667,6 +42568,15 @@ (define-public emacs-springboard
 done using Helm, Ido or Ivy.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-springboard
+  (package-with-emacs-minimal emacs-springboard))
+
+(define-public emacs-next-springboard
+  (package-with-emacs-next emacs-springboard))
+
+(define-public emacs-pgtk-springboard
+  (package-with-emacs-pgtk emacs-springboard))
+
 (define-public emacs-tco-el
   (let ((commit "482db5313f090b17ed22ccd856f0e141dc75afe6")
         (revision "1"))
@@ -32697,6 +42607,15 @@ (define-public emacs-tco-el
 Lisp functions that call themselves in tail position.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-tco-el
+  (package-with-emacs-minimal emacs-tco-el))
+
+(define-public emacs-next-tco-el
+  (package-with-emacs-next emacs-tco-el))
+
+(define-public emacs-pgtk-tco-el
+  (package-with-emacs-pgtk emacs-tco-el))
+
 (define-public emacs-equake
   ;; Upstream provides no tagged releases, but the commit below matches an
   ;; exact release.
@@ -32722,6 +42641,15 @@ (define-public emacs-equake
 compatible with Emacs' shell modes.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-equake
+  (package-with-emacs-minimal emacs-equake))
+
+(define-public emacs-next-equake
+  (package-with-emacs-next emacs-equake))
+
+(define-public emacs-pgtk-equake
+  (package-with-emacs-pgtk emacs-equake))
+
 (define-public emacs-vdiff
   ;; There is no proper tag, but the commit below matches the version bump.
   (let ((commit "007e44be19d068fd6b49874b6e9b8df8b1f552bd"))
@@ -32752,6 +42680,15 @@ (define-public emacs-vdiff
 output.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-vdiff
+  (package-with-emacs-minimal emacs-vdiff))
+
+(define-public emacs-next-vdiff
+  (package-with-emacs-next emacs-vdiff))
+
+(define-public emacs-pgtk-vdiff
+  (package-with-emacs-pgtk emacs-vdiff))
+
 (define-public emacs-vdiff-magit
   ;; Need to use a more recent commit than the latest release version because
   ;; of Magit and Transient
@@ -32779,6 +42716,15 @@ (define-public emacs-vdiff-magit
 based on diff output.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-vdiff-magit
+  (package-with-emacs-minimal emacs-vdiff-magit))
+
+(define-public emacs-next-vdiff-magit
+  (package-with-emacs-next emacs-vdiff-magit))
+
+(define-public emacs-pgtk-vdiff-magit
+  (package-with-emacs-pgtk emacs-vdiff-magit))
+
 (define-public emacs-all-the-icons-dired
   (package
     (name "emacs-all-the-icons-dired")
@@ -32802,6 +42748,15 @@ (define-public emacs-all-the-icons-dired
 be used in @code{dired-mode}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-all-the-icons-dired
+  (package-with-emacs-minimal emacs-all-the-icons-dired))
+
+(define-public emacs-next-all-the-icons-dired
+  (package-with-emacs-next emacs-all-the-icons-dired))
+
+(define-public emacs-pgtk-all-the-icons-dired
+  (package-with-emacs-pgtk emacs-all-the-icons-dired))
+
 (define-public emacs-all-the-icons-ibuffer
   (package
     (name "emacs-all-the-icons-ibuffer")
@@ -32826,6 +42781,15 @@ (define-public emacs-all-the-icons-ibuffer
 buffers.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-all-the-icons-ibuffer
+  (package-with-emacs-minimal emacs-all-the-icons-ibuffer))
+
+(define-public emacs-next-all-the-icons-ibuffer
+  (package-with-emacs-next emacs-all-the-icons-ibuffer))
+
+(define-public emacs-pgtk-all-the-icons-ibuffer
+  (package-with-emacs-pgtk emacs-all-the-icons-ibuffer))
+
 (define-public emacs-exwm-edit
   (let ((commit "e1291e311840f1049106fe98cec032a1c75efd2b")
         (version "0.0.1")
@@ -32853,6 +42817,15 @@ (define-public emacs-exwm-edit
 invoked.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-exwm-edit
+  (package-with-emacs-minimal emacs-exwm-edit))
+
+(define-public emacs-next-exwm-edit
+  (package-with-emacs-next emacs-exwm-edit))
+
+(define-public emacs-pgtk-exwm-edit
+  (package-with-emacs-pgtk emacs-exwm-edit))
+
 (define-public emacs-exwm-mff
   (let ((commit "89206f2e3189f589c27c56bd2b6203e906ee7100")
         (revision "1"))
@@ -32876,6 +42849,15 @@ (define-public emacs-exwm-mff
 warp it to the currently selected window.")
       (license (list license:gpl3+)))))
 
+(define-public emacs-minimal-exwm-mff
+  (package-with-emacs-minimal emacs-exwm-mff))
+
+(define-public emacs-next-exwm-mff
+  (package-with-emacs-next emacs-exwm-mff))
+
+(define-public emacs-pgtk-exwm-mff
+  (package-with-emacs-pgtk emacs-exwm-mff))
+
 (define-public emacs-exwm-modeline
   (package
     (name "emacs-exwm-modeline")
@@ -32897,6 +42879,15 @@ (define-public emacs-exwm-modeline
 workspaces.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-exwm-modeline
+  (package-with-emacs-minimal emacs-exwm-modeline))
+
+(define-public emacs-next-exwm-modeline
+  (package-with-emacs-next emacs-exwm-modeline))
+
+(define-public emacs-pgtk-exwm-modeline
+  (package-with-emacs-pgtk emacs-exwm-modeline))
+
 (define-public emacs-exwm-firefox-core
   (let ((commit "e2fe2a895e8f973307ef52f8c9976b26e701cbd0")
         (revision "1"))
@@ -32921,6 +42912,15 @@ (define-public emacs-exwm-firefox-core
 keypresses mapped in firefox to the action described in the function name.")
       (license (list license:gpl3+)))))
 
+(define-public emacs-minimal-exwm-firefox-core
+  (package-with-emacs-minimal emacs-exwm-firefox-core))
+
+(define-public emacs-next-exwm-firefox-core
+  (package-with-emacs-next emacs-exwm-firefox-core))
+
+(define-public emacs-pgtk-exwm-firefox-core
+  (package-with-emacs-pgtk emacs-exwm-firefox-core))
+
 (define-public emacs-exwm-firefox
   (let ((commit "ba4044cf57f99656bbe1974278336b6abcb15497")) ;version bump
     (package
@@ -32956,6 +42956,15 @@ (define-public emacs-exwm-firefox
 navigation controls.")
       (license (list license:gpl3+)))))
 
+(define-public emacs-minimal-exwm-firefox
+  (package-with-emacs-minimal emacs-exwm-firefox))
+
+(define-public emacs-next-exwm-firefox
+  (package-with-emacs-next emacs-exwm-firefox))
+
+(define-public emacs-pgtk-exwm-firefox
+  (package-with-emacs-pgtk emacs-exwm-firefox))
+
 (define-public emacs-exwm-ss
   (let ((commit "b11d3df7a50c39b4e1b92ef8a6685cf80b53912c")
         (revision "1"))
@@ -32979,6 +42988,15 @@ (define-public emacs-exwm-ss
 screensaver activation in EXWM.")
       (license (list license:gpl3+)))))
 
+(define-public emacs-minimal-exwm-ss
+  (package-with-emacs-minimal emacs-exwm-ss))
+
+(define-public emacs-next-exwm-ss
+  (package-with-emacs-next emacs-exwm-ss))
+
+(define-public emacs-pgtk-exwm-ss
+  (package-with-emacs-pgtk emacs-exwm-ss))
+
 (define-public emacs-ert-async
   (package
     (name "emacs-ert-async")
@@ -32999,6 +43017,15 @@ (define-public emacs-ert-async
     (description "This package allows ERT to work with asynchronous tests.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ert-async
+  (package-with-emacs-minimal emacs-ert-async))
+
+(define-public emacs-next-ert-async
+  (package-with-emacs-next emacs-ert-async))
+
+(define-public emacs-pgtk-ert-async
+  (package-with-emacs-pgtk emacs-ert-async))
+
 (define-public emacs-prodigy
   (package
     (name "emacs-prodigy")
@@ -33023,6 +43050,15 @@ (define-public emacs-prodigy
     (description "This package provides a GUI for defining and monitoring services.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-prodigy
+  (package-with-emacs-minimal emacs-prodigy))
+
+(define-public emacs-next-prodigy
+  (package-with-emacs-next emacs-prodigy))
+
+(define-public emacs-pgtk-prodigy
+  (package-with-emacs-pgtk emacs-prodigy))
+
 (define-public emacs-prodigy-el
   (deprecated-package "emacs-prodigy-el" emacs-prodigy))
 
@@ -33044,6 +43080,15 @@ (define-public emacs-web-server
 url-encoded parameters, as well as web sockets.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-web-server
+  (package-with-emacs-minimal emacs-web-server))
+
+(define-public emacs-next-web-server
+  (package-with-emacs-next emacs-web-server))
+
+(define-public emacs-pgtk-web-server
+  (package-with-emacs-pgtk emacs-web-server))
+
 (define-public emacs-markdown-preview-mode
   (package
     (name "emacs-markdown-preview-mode")
@@ -33068,6 +43113,15 @@ (define-public emacs-markdown-preview-mode
 files, and sends rendered Markdown to a web browser.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-markdown-preview-mode
+  (package-with-emacs-minimal emacs-markdown-preview-mode))
+
+(define-public emacs-next-markdown-preview-mode
+  (package-with-emacs-next emacs-markdown-preview-mode))
+
+(define-public emacs-pgtk-markdown-preview-mode
+  (package-with-emacs-pgtk emacs-markdown-preview-mode))
+
 (define-public emacs-dotenv-mode
   (package
     (name "emacs-dotenv-mode")
@@ -33089,6 +43143,15 @@ (define-public emacs-dotenv-mode
 files.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-dotenv-mode
+  (package-with-emacs-minimal emacs-dotenv-mode))
+
+(define-public emacs-next-dotenv-mode
+  (package-with-emacs-next emacs-dotenv-mode))
+
+(define-public emacs-pgtk-dotenv-mode
+  (package-with-emacs-pgtk emacs-dotenv-mode))
+
 (define-public emacs-add-node-modules-path
   (package
     (name "emacs-add-node-modules-path")
@@ -33112,6 +43175,15 @@ (define-public emacs-add-node-modules-path
 Emacs to find project-specific installations of packages.")
     (license license:expat)))
 
+(define-public emacs-minimal-add-node-modules-path
+  (package-with-emacs-minimal emacs-add-node-modules-path))
+
+(define-public emacs-next-add-node-modules-path
+  (package-with-emacs-next emacs-add-node-modules-path))
+
+(define-public emacs-pgtk-add-node-modules-path
+  (package-with-emacs-pgtk emacs-add-node-modules-path))
+
 (define-public emacs-flow-minor-mode
   (let ((commit "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e")
         (version "0.3")
@@ -33136,6 +43208,15 @@ (define-public emacs-flow-minor-mode
 definition-jumping and type-checking on demand.")
       (license license:bsd-3))))
 
+(define-public emacs-minimal-flow-minor-mode
+  (package-with-emacs-minimal emacs-flow-minor-mode))
+
+(define-public emacs-next-flow-minor-mode
+  (package-with-emacs-next emacs-flow-minor-mode))
+
+(define-public emacs-pgtk-flow-minor-mode
+  (package-with-emacs-pgtk emacs-flow-minor-mode))
+
 (define-public emacs-rjsx-mode
   (package
     (name "emacs-rjsx-mode")
@@ -33180,6 +43261,15 @@ (define-public emacs-rjsx-mode
 support JSX syntax.")
     (license license:expat)))
 
+(define-public emacs-minimal-rjsx-mode
+  (package-with-emacs-minimal emacs-rjsx-mode))
+
+(define-public emacs-next-rjsx-mode
+  (package-with-emacs-next emacs-rjsx-mode))
+
+(define-public emacs-pgtk-rjsx-mode
+  (package-with-emacs-pgtk emacs-rjsx-mode))
+
 (define-public emacs-origami-el
   (let ((commit "1f38085c8f9af7842765ed63f7d6dfe4dab59366")
         (version "1.0")
@@ -33217,6 +43307,15 @@ (define-public emacs-origami-el
 expanding regions of text without modifying the actual contents.")
       (license license:expat))))
 
+(define-public emacs-minimal-origami-el
+  (package-with-emacs-minimal emacs-origami-el))
+
+(define-public emacs-next-origami-el
+  (package-with-emacs-next emacs-origami-el))
+
+(define-public emacs-pgtk-origami-el
+  (package-with-emacs-pgtk emacs-origami-el))
+
 (define-public emacs-peep-dired
   (let ((commit "c88a9a3050197840edfe145f11e0bb9488de32f4")
         (version "0")
@@ -33241,6 +43340,15 @@ (define-public emacs-peep-dired
 previewed by scrolling up and down within a @code{dired} buffer.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-peep-dired
+  (package-with-emacs-minimal emacs-peep-dired))
+
+(define-public emacs-next-peep-dired
+  (package-with-emacs-next emacs-peep-dired))
+
+(define-public emacs-pgtk-peep-dired
+  (package-with-emacs-pgtk emacs-peep-dired))
+
 (define-public emacs-counsel-etags
   (package
     (name "emacs-counsel-etags")
@@ -33266,6 +43374,15 @@ (define-public emacs-counsel-etags
 and searching through @code{Ctags} files.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-counsel-etags
+  (package-with-emacs-minimal emacs-counsel-etags))
+
+(define-public emacs-next-counsel-etags
+  (package-with-emacs-next emacs-counsel-etags))
+
+(define-public emacs-pgtk-counsel-etags
+  (package-with-emacs-pgtk emacs-counsel-etags))
+
 (define-public emacs-ivy-clipmenu
   (let ((commit "d2071f2c5043a05d610cd1952e84176ca78c31dc"))
     (package
@@ -33288,6 +43405,15 @@ (define-public emacs-ivy-clipmenu
       (description "Ivy integration with the clipboard manager, clipmenu.")
       (license license:expat))))
 
+(define-public emacs-minimal-ivy-clipmenu
+  (package-with-emacs-minimal emacs-ivy-clipmenu))
+
+(define-public emacs-next-ivy-clipmenu
+  (package-with-emacs-next emacs-ivy-clipmenu))
+
+(define-public emacs-pgtk-ivy-clipmenu
+  (package-with-emacs-pgtk emacs-ivy-clipmenu))
+
 (define-public emacs-org-download
   (let ((commit "42ac361ef5502017e6fc1bceb00333eba90402f4")
         (revision "3"))
@@ -33311,6 +43437,15 @@ (define-public emacs-org-download
 copied into @code{org-mode} buffers.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-download
+  (package-with-emacs-minimal emacs-org-download))
+
+(define-public emacs-next-org-download
+  (package-with-emacs-next emacs-org-download))
+
+(define-public emacs-pgtk-org-download
+  (package-with-emacs-pgtk emacs-org-download))
+
 (define-public emacs-org-drill-table
   ;; No releases or tags.
   (let ((commit "096387d929bcf3eb479e0a9d5da9cf32c756a759")
@@ -33338,6 +43473,15 @@ (define-public emacs-org-drill-table
 current tree.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-drill-table
+  (package-with-emacs-minimal emacs-org-drill-table))
+
+(define-public emacs-next-org-drill-table
+  (package-with-emacs-next emacs-org-drill-table))
+
+(define-public emacs-pgtk-org-drill-table
+  (package-with-emacs-pgtk emacs-org-drill-table))
+
 (define-public emacs-org-agenda-files-track
   (package
     (name "emacs-org-agenda-files-track")
@@ -33361,6 +43505,15 @@ (define-public emacs-org-agenda-files-track
      "This package tracks org-agenda-files precisely to speed-up org-agenda.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-agenda-files-track
+  (package-with-emacs-minimal emacs-org-agenda-files-track))
+
+(define-public emacs-next-org-agenda-files-track
+  (package-with-emacs-next emacs-org-agenda-files-track))
+
+(define-public emacs-pgtk-org-agenda-files-track
+  (package-with-emacs-pgtk emacs-org-agenda-files-track))
+
 (define-deprecated emacs-org-dynamic-agenda emacs-org-agenda-files-track)
 
 (define-public emacs-org-agenda-files-track-ql
@@ -33375,6 +43528,15 @@ (define-public emacs-org-agenda-files-track-ql
      "This package tracks org-agenda-files precisely to speed-up org-agenda,
 and takes advantage of the org-ql cache.")))
 
+(define-public emacs-minimal-org-agenda-files-track-ql
+  (package-with-emacs-minimal emacs-org-agenda-files-track-ql))
+
+(define-public emacs-next-org-agenda-files-track-ql
+  (package-with-emacs-next emacs-org-agenda-files-track-ql))
+
+(define-public emacs-pgtk-org-agenda-files-track-ql
+  (package-with-emacs-pgtk emacs-org-agenda-files-track-ql))
+
 (define-deprecated emacs-org-dynamic-agenda-ql emacs-org-agenda-files-track-ql)
 
 (define-public emacs-dash-docs
@@ -33423,6 +43585,15 @@ (define-public emacs-dash-docs
       (description "This package exposes functionality to work with Dash docsets.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-dash-docs
+  (package-with-emacs-minimal emacs-dash-docs))
+
+(define-public emacs-next-dash-docs
+  (package-with-emacs-next emacs-dash-docs))
+
+(define-public emacs-pgtk-dash-docs
+  (package-with-emacs-pgtk emacs-dash-docs))
+
 (define-public emacs-helm-dash
   (let ((commit "7f853bd34da666f0e9a883011c80f451b06f6c59")
         (revision "2"))
@@ -33448,6 +43619,15 @@ (define-public emacs-helm-dash
 Dash docsets.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-helm-dash
+  (package-with-emacs-minimal emacs-helm-dash))
+
+(define-public emacs-next-helm-dash
+  (package-with-emacs-next emacs-helm-dash))
+
+(define-public emacs-pgtk-helm-dash
+  (package-with-emacs-pgtk emacs-helm-dash))
+
 (define-public emacs-counsel-dash
   (let ((commit "370d5f6f14b5294d0eb717f7b2a6a8e93df1ed24")
         (revision "4"))
@@ -33472,6 +43652,15 @@ (define-public emacs-counsel-dash
 through Dash docsets.")
       (license license:expat))))
 
+(define-public emacs-minimal-counsel-dash
+  (package-with-emacs-minimal emacs-counsel-dash))
+
+(define-public emacs-next-counsel-dash
+  (package-with-emacs-next emacs-counsel-dash))
+
+(define-public emacs-pgtk-counsel-dash
+  (package-with-emacs-pgtk emacs-counsel-dash))
+
 (define-public emacs-devdocs
   (package
     (name "emacs-devdocs")
@@ -33493,6 +43682,15 @@ (define-public emacs-devdocs
 @url{https://devdocs.io}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-devdocs
+  (package-with-emacs-minimal emacs-devdocs))
+
+(define-public emacs-next-devdocs
+  (package-with-emacs-next emacs-devdocs))
+
+(define-public emacs-pgtk-devdocs
+  (package-with-emacs-pgtk emacs-devdocs))
+
 (define-public emacs-cascading-dir-locals
   (let ((release "0.1")
         (revision "0")
@@ -33526,6 +43724,15 @@ (define-public emacs-cascading-dir-locals
 all of your projects, then override or add variables on a per-project basis.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-cascading-dir-locals
+  (package-with-emacs-minimal emacs-cascading-dir-locals))
+
+(define-public emacs-next-cascading-dir-locals
+  (package-with-emacs-next emacs-cascading-dir-locals))
+
+(define-public emacs-pgtk-cascading-dir-locals
+  (package-with-emacs-pgtk emacs-cascading-dir-locals))
+
 (define-public emacs-casual-avy
   (package
     (name "emacs-casual-avy")
@@ -33553,6 +43760,15 @@ (define-public emacs-casual-avy
      "Casual Avy is an opinionated Transient-based porcelain for Emacs Avy.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-casual-avy
+  (package-with-emacs-minimal emacs-casual-avy))
+
+(define-public emacs-next-casual-avy
+  (package-with-emacs-next emacs-casual-avy))
+
+(define-public emacs-pgtk-casual-avy
+  (package-with-emacs-pgtk emacs-casual-avy))
+
 (define-public emacs-casual-calc
   (package
     (name "emacs-casual-calc")
@@ -33580,6 +43796,15 @@ (define-public emacs-casual-calc
      "Casual Calc is an opinionated Transient-based porcelain for Emacs Calc.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-casual-calc
+  (package-with-emacs-minimal emacs-casual-calc))
+
+(define-public emacs-next-casual-calc
+  (package-with-emacs-next emacs-casual-calc))
+
+(define-public emacs-pgtk-casual-calc
+  (package-with-emacs-pgtk emacs-casual-calc))
+
 (define-public emacs-casual-dired
   (package
     (name "emacs-casual-dired")
@@ -33607,6 +43832,15 @@ (define-public emacs-casual-dired
      "Casual Dired is an opinionated Transient-based porcelain for Emacs Dired.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-casual-dired
+  (package-with-emacs-minimal emacs-casual-dired))
+
+(define-public emacs-next-casual-dired
+  (package-with-emacs-next emacs-casual-dired))
+
+(define-public emacs-pgtk-casual-dired
+  (package-with-emacs-pgtk emacs-casual-dired))
+
 (define-public emacs-casual-info
   (package
     (name "emacs-casual-info")
@@ -33634,6 +43868,15 @@ (define-public emacs-casual-info
      "Casual Info is an opinionated Transient-based porcelain for Emacs Info reader.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-casual-info
+  (package-with-emacs-minimal emacs-casual-info))
+
+(define-public emacs-next-casual-info
+  (package-with-emacs-next emacs-casual-info))
+
+(define-public emacs-pgtk-casual-info
+  (package-with-emacs-pgtk emacs-casual-info))
+
 (define-public emacs-casual-lib
   (package
     (name "emacs-casual-lib")
@@ -33665,6 +43908,15 @@ (define-public emacs-casual-lib
      "Casual Lib is a library package used to support the Casual porcelains.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-casual-lib
+  (package-with-emacs-minimal emacs-casual-lib))
+
+(define-public emacs-next-casual-lib
+  (package-with-emacs-next emacs-casual-lib))
+
+(define-public emacs-pgtk-casual-lib
+  (package-with-emacs-pgtk emacs-casual-lib))
+
 (define-public emacs-calibredb
   (package
     (name "emacs-calibredb")
@@ -33709,6 +43961,15 @@ (define-public emacs-calibredb
 @end enumerate")
     (license license:gpl3)))
 
+(define-public emacs-minimal-calibredb
+  (package-with-emacs-minimal emacs-calibredb))
+
+(define-public emacs-next-calibredb
+  (package-with-emacs-next emacs-calibredb))
+
+(define-public emacs-pgtk-calibredb
+  (package-with-emacs-pgtk emacs-calibredb))
+
 (define-public emacs-el-patch
   (package
     (name "emacs-el-patch")
@@ -33730,6 +43991,15 @@ (define-public emacs-el-patch
 to be examined using Ediff.")
     (license license:expat)))
 
+(define-public emacs-minimal-el-patch
+  (package-with-emacs-minimal emacs-el-patch))
+
+(define-public emacs-next-el-patch
+  (package-with-emacs-next emacs-el-patch))
+
+(define-public emacs-pgtk-el-patch
+  (package-with-emacs-pgtk emacs-el-patch))
+
 (define-public emacs-info-plus
   (let ((commit "29811edf7a71764ac343631facc00268d9483146")
         (revision "3"))
@@ -33754,6 +44024,15 @@ (define-public emacs-info-plus
 nodes, and more.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-info-plus
+  (package-with-emacs-minimal emacs-info-plus))
+
+(define-public emacs-next-info-plus
+  (package-with-emacs-next emacs-info-plus))
+
+(define-public emacs-pgtk-info-plus
+  (package-with-emacs-pgtk emacs-info-plus))
+
 (define-public emacs-eval-in-repl
   (package
     (name "emacs-eval-in-repl")
@@ -33782,6 +44061,15 @@ (define-public emacs-eval-in-repl
 respective packages.")
     (license license:expat)))
 
+(define-public emacs-minimal-eval-in-repl
+  (package-with-emacs-minimal emacs-eval-in-repl))
+
+(define-public emacs-next-eval-in-repl
+  (package-with-emacs-next emacs-eval-in-repl))
+
+(define-public emacs-pgtk-eval-in-repl
+  (package-with-emacs-pgtk emacs-eval-in-repl))
+
 (define* (make-emacs-eval-in-repl repl #:key
                                   (eval-in-repl-package emacs-eval-in-repl)
                                   (language (string-capitalize repl))
@@ -33807,69 +44095,240 @@ (define-public emacs-eval-in-repl-cider
   (make-emacs-eval-in-repl "cider" #:language "Clojure"
                            #:inputs (list emacs-cider)))
 
+(define-public emacs-minimal-eval-in-repl-cider
+  (package-with-emacs-minimal emacs-eval-in-repl-cider))
+
+(define-public emacs-next-eval-in-repl-cider
+  (package-with-emacs-next emacs-eval-in-repl-cider))
+
+(define-public emacs-pgtk-eval-in-repl-cider
+  (package-with-emacs-pgtk emacs-eval-in-repl-cider))
+
 (define-public emacs-eval-in-repl-elm
   (make-emacs-eval-in-repl "elm" #:inputs (list emacs-elm-mode)))
 
+(define-public emacs-minimal-eval-in-repl-elm
+  (package-with-emacs-minimal emacs-eval-in-repl-elm))
+
+(define-public emacs-next-eval-in-repl-elm
+  (package-with-emacs-next emacs-eval-in-repl-elm))
+
+(define-public emacs-pgtk-eval-in-repl-elm
+  (package-with-emacs-pgtk emacs-eval-in-repl-elm))
+
 (define-public emacs-eval-in-repl-erlang
   (make-emacs-eval-in-repl "erlang" #:inputs (delay (list emacs-erlang))))
 
+(define-public emacs-minimal-eval-in-repl-erlang
+  (package-with-emacs-minimal emacs-eval-in-repl-erlang))
+
+(define-public emacs-next-eval-in-repl-erlang
+  (package-with-emacs-next emacs-eval-in-repl-erlang))
+
+(define-public emacs-pgtk-eval-in-repl-erlang
+  (package-with-emacs-pgtk emacs-eval-in-repl-erlang))
+
 (define-public emacs-eval-in-repl-geiser
   (make-emacs-eval-in-repl "geiser" #:language "Scheme"
                            #:inputs (list emacs-geiser)))
 
+(define-public emacs-minimal-eval-in-repl-geiser
+  (package-with-emacs-minimal emacs-eval-in-repl-geiser))
+
+(define-public emacs-next-eval-in-repl-geiser
+  (package-with-emacs-next emacs-eval-in-repl-geiser))
+
+(define-public emacs-pgtk-eval-in-repl-geiser
+  (package-with-emacs-pgtk emacs-eval-in-repl-geiser))
+
 (define-public emacs-eval-in-repl-hy
   (make-emacs-eval-in-repl "hy" #:inputs (list emacs-hy-mode)))
 
+(define-public emacs-minimal-eval-in-repl-hy
+  (package-with-emacs-minimal emacs-eval-in-repl-hy))
+
+(define-public emacs-next-eval-in-repl-hy
+  (package-with-emacs-next emacs-eval-in-repl-hy))
+
+(define-public emacs-pgtk-eval-in-repl-hy
+  (package-with-emacs-pgtk emacs-eval-in-repl-hy))
+
 (define-public emacs-eval-in-repl-ielm
   (make-emacs-eval-in-repl "ielm" #:language "Emacs Lisp"))
 
+(define-public emacs-minimal-eval-in-repl-ielm
+  (package-with-emacs-minimal emacs-eval-in-repl-ielm))
+
+(define-public emacs-next-eval-in-repl-ielm
+  (package-with-emacs-next emacs-eval-in-repl-ielm))
+
+(define-public emacs-pgtk-eval-in-repl-ielm
+  (package-with-emacs-pgtk emacs-eval-in-repl-ielm))
+
 (define-public emacs-eval-in-repl-iex
   (make-emacs-eval-in-repl
    "iex" #:language "Elixir"
    #:inputs (delay
               (list emacs-elixir-mode emacs-alchemist))))
 
+(define-public emacs-minimal-eval-in-repl-iex
+  (package-with-emacs-minimal emacs-eval-in-repl-iex))
+
+(define-public emacs-next-eval-in-repl-iex
+  (package-with-emacs-next emacs-eval-in-repl-iex))
+
+(define-public emacs-pgtk-eval-in-repl-iex
+  (package-with-emacs-pgtk emacs-eval-in-repl-iex))
+
 (define-public emacs-eval-in-repl-javascript
   (make-emacs-eval-in-repl "javascript"
                            #:inputs (list emacs-js2-mode emacs-js-comint)))
 
+(define-public emacs-minimal-eval-in-repl-javascript
+  (package-with-emacs-minimal emacs-eval-in-repl-javascript))
+
+(define-public emacs-next-eval-in-repl-javascript
+  (package-with-emacs-next emacs-eval-in-repl-javascript))
+
+(define-public emacs-pgtk-eval-in-repl-javascript
+  (package-with-emacs-pgtk emacs-eval-in-repl-javascript))
+
 (define-public emacs-eval-in-repl-lua
   (make-emacs-eval-in-repl "lua" #:inputs (list emacs-lua-mode)))
 
+(define-public emacs-minimal-eval-in-repl-lua
+  (package-with-emacs-minimal emacs-eval-in-repl-lua))
+
+(define-public emacs-next-eval-in-repl-lua
+  (package-with-emacs-next emacs-eval-in-repl-lua))
+
+(define-public emacs-pgtk-eval-in-repl-lua
+  (package-with-emacs-pgtk emacs-eval-in-repl-lua))
+
 (define-public emacs-eval-in-repl-ocaml
   (make-emacs-eval-in-repl "ocaml" #:language "OCaml"
                            #:inputs (delay (list emacs-tuareg))))
 
+(define-public emacs-minimal-eval-in-repl-ocaml
+  (package-with-emacs-minimal emacs-eval-in-repl-ocaml))
+
+(define-public emacs-next-eval-in-repl-ocaml
+  (package-with-emacs-next emacs-eval-in-repl-ocaml))
+
+(define-public emacs-pgtk-eval-in-repl-ocaml
+  (package-with-emacs-pgtk emacs-eval-in-repl-ocaml))
+
 (define-public emacs-eval-in-repl-prolog
   (make-emacs-eval-in-repl "prolog"))
 
+(define-public emacs-minimal-eval-in-repl-prolog
+  (package-with-emacs-minimal emacs-eval-in-repl-prolog))
+
+(define-public emacs-next-eval-in-repl-prolog
+  (package-with-emacs-next emacs-eval-in-repl-prolog))
+
+(define-public emacs-pgtk-eval-in-repl-prolog
+  (package-with-emacs-pgtk emacs-eval-in-repl-prolog))
+
 (define-public emacs-eval-in-repl-python
   (make-emacs-eval-in-repl "python"))
 
+(define-public emacs-minimal-eval-in-repl-python
+  (package-with-emacs-minimal emacs-eval-in-repl-python))
+
+(define-public emacs-next-eval-in-repl-python
+  (package-with-emacs-next emacs-eval-in-repl-python))
+
+(define-public emacs-pgtk-eval-in-repl-python
+  (package-with-emacs-pgtk emacs-eval-in-repl-python))
+
 (define-public emacs-eval-in-repl-racket
   (make-emacs-eval-in-repl "racket" #:inputs (list emacs-racket-mode)))
 
+(define-public emacs-minimal-eval-in-repl-racket
+  (package-with-emacs-minimal emacs-eval-in-repl-racket))
+
+(define-public emacs-next-eval-in-repl-racket
+  (package-with-emacs-next emacs-eval-in-repl-racket))
+
+(define-public emacs-pgtk-eval-in-repl-racket
+  (package-with-emacs-pgtk emacs-eval-in-repl-racket))
+
 (define-public emacs-eval-in-repl-ruby
   (make-emacs-eval-in-repl "ruby" #:inputs (list emacs-inf-ruby)))
 
+(define-public emacs-minimal-eval-in-repl-ruby
+  (package-with-emacs-minimal emacs-eval-in-repl-ruby))
+
+(define-public emacs-next-eval-in-repl-ruby
+  (package-with-emacs-next emacs-eval-in-repl-ruby))
+
+(define-public emacs-pgtk-eval-in-repl-ruby
+  (package-with-emacs-pgtk emacs-eval-in-repl-ruby))
+
 (define-public emacs-eval-in-repl-scheme
   (make-emacs-eval-in-repl "scheme"))
 
+(define-public emacs-minimal-eval-in-repl-scheme
+  (package-with-emacs-minimal emacs-eval-in-repl-scheme))
+
+(define-public emacs-next-eval-in-repl-scheme
+  (package-with-emacs-next emacs-eval-in-repl-scheme))
+
+(define-public emacs-pgtk-eval-in-repl-scheme
+  (package-with-emacs-pgtk emacs-eval-in-repl-scheme))
+
 (define-public emacs-eval-in-repl-shell
   (make-emacs-eval-in-repl "shell"))
 
+(define-public emacs-minimal-eval-in-repl-shell
+  (package-with-emacs-minimal emacs-eval-in-repl-shell))
+
+(define-public emacs-next-eval-in-repl-shell
+  (package-with-emacs-next emacs-eval-in-repl-shell))
+
+(define-public emacs-pgtk-eval-in-repl-shell
+  (package-with-emacs-pgtk emacs-eval-in-repl-shell))
+
 (define-public emacs-eval-in-repl-slime
   (make-emacs-eval-in-repl "slime" #:language "Common Lisp"
                            #:inputs (list emacs-slime)))
 
+(define-public emacs-minimal-eval-in-repl-slime
+  (package-with-emacs-minimal emacs-eval-in-repl-slime))
+
+(define-public emacs-next-eval-in-repl-slime
+  (package-with-emacs-next emacs-eval-in-repl-slime))
+
+(define-public emacs-pgtk-eval-in-repl-slime
+  (package-with-emacs-pgtk emacs-eval-in-repl-slime))
+
 (define-public emacs-eval-in-repl-sly
   (make-emacs-eval-in-repl "sly" #:language "Common Lisp"
                            #:inputs (list emacs-sly)))
 
+(define-public emacs-minimal-eval-in-repl-sly
+  (package-with-emacs-minimal emacs-eval-in-repl-sly))
+
+(define-public emacs-next-eval-in-repl-sly
+  (package-with-emacs-next emacs-eval-in-repl-sly))
+
+(define-public emacs-pgtk-eval-in-repl-sly
+  (package-with-emacs-pgtk emacs-eval-in-repl-sly))
+
 (define-public emacs-eval-in-repl-sml
   (make-emacs-eval-in-repl "sml" #:language "Standard ML"
                            #:inputs (list emacs-sml-mode)))
 
+(define-public emacs-minimal-eval-in-repl-sml
+  (package-with-emacs-minimal emacs-eval-in-repl-sml))
+
+(define-public emacs-next-eval-in-repl-sml
+  (package-with-emacs-next emacs-eval-in-repl-sml))
+
+(define-public emacs-pgtk-eval-in-repl-sml
+  (package-with-emacs-pgtk emacs-eval-in-repl-sml))
+
 (define-public emacs-ob-elm
   (let ((commit "d3a9fbc2f56416894c9aed65ea9a20cc1d98f15d")
         (revision "0"))
@@ -33893,6 +44352,15 @@ (define-public emacs-ob-elm
        "This package adds support to Org-Babel for evaluating Elm code.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ob-elm
+  (package-with-emacs-minimal emacs-ob-elm))
+
+(define-public emacs-next-ob-elm
+  (package-with-emacs-next emacs-ob-elm))
+
+(define-public emacs-pgtk-ob-elm
+  (package-with-emacs-pgtk emacs-ob-elm))
+
 (define-public emacs-org-babel-eval-in-repl
   (package
     (name "emacs-org-babel-eval-in-repl")
@@ -33917,6 +44385,15 @@ (define-public emacs-org-babel-eval-in-repl
 needing to write the result into the buffer.")
     (license license:expat)))
 
+(define-public emacs-minimal-org-babel-eval-in-repl
+  (package-with-emacs-minimal emacs-org-babel-eval-in-repl))
+
+(define-public emacs-next-org-babel-eval-in-repl
+  (package-with-emacs-next emacs-org-babel-eval-in-repl))
+
+(define-public emacs-pgtk-org-babel-eval-in-repl
+  (package-with-emacs-pgtk emacs-org-babel-eval-in-repl))
+
 (define-public emacs-eval-sexp-fu-el
   (package
     (name "emacs-eval-sexp-fu-el")
@@ -33939,6 +44416,15 @@ (define-public emacs-eval-sexp-fu-el
 well as an option for visually flashing evaluated s-expressions.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-eval-sexp-fu-el
+  (package-with-emacs-minimal emacs-eval-sexp-fu-el))
+
+(define-public emacs-next-eval-sexp-fu-el
+  (package-with-emacs-next emacs-eval-sexp-fu-el))
+
+(define-public emacs-pgtk-eval-sexp-fu-el
+  (package-with-emacs-pgtk emacs-eval-sexp-fu-el))
+
 (define-public emacs-counsel-tramp
   (package
     (name "emacs-counsel-tramp")
@@ -33961,6 +44447,15 @@ (define-public emacs-counsel-tramp
      "This package allows @code{ivy-mode} to display and filter SSH servers.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-counsel-tramp
+  (package-with-emacs-minimal emacs-counsel-tramp))
+
+(define-public emacs-next-counsel-tramp
+  (package-with-emacs-next emacs-counsel-tramp))
+
+(define-public emacs-pgtk-counsel-tramp
+  (package-with-emacs-pgtk emacs-counsel-tramp))
+
 (define-public emacs-tramp
   (package
     (name "emacs-tramp")
@@ -33995,6 +44490,15 @@ (define-public emacs-tramp
 programs, such as @command{ssh} and @command{scp}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-tramp
+  (package-with-emacs-minimal emacs-tramp))
+
+(define-public emacs-next-tramp
+  (package-with-emacs-next emacs-tramp))
+
+(define-public emacs-pgtk-tramp
+  (package-with-emacs-pgtk emacs-tramp))
+
 (define-public emacs-tramp-auto-auth
   (let ((commit "f15a12dfab651aff60f4a9d70f868030a12344ac"))
     (package
@@ -34018,6 +44522,15 @@ (define-public emacs-tramp-auto-auth
 with passwords for paths matching regexps.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-tramp-auto-auth
+  (package-with-emacs-minimal emacs-tramp-auto-auth))
+
+(define-public emacs-next-tramp-auto-auth
+  (package-with-emacs-next emacs-tramp-auto-auth))
+
+(define-public emacs-pgtk-tramp-auto-auth
+  (package-with-emacs-pgtk emacs-tramp-auto-auth))
+
 (define-public emacs-eacl
   (package
     (name "emacs-eacl")
@@ -34040,6 +44553,15 @@ (define-public emacs-eacl
 and multiple lines of code in a project.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-eacl
+  (package-with-emacs-minimal emacs-eacl))
+
+(define-public emacs-next-eacl
+  (package-with-emacs-next emacs-eacl))
+
+(define-public emacs-pgtk-eacl
+  (package-with-emacs-pgtk emacs-eacl))
+
 (define-public emacs-semantic-refactor
   ;; The last release, 0.5, was made on 2015-07-26 and there have been 47
   ;; commits since then.
@@ -34081,6 +44603,15 @@ (define-public emacs-semantic-refactor
 @end enumerate\n")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-semantic-refactor
+  (package-with-emacs-minimal emacs-semantic-refactor))
+
+(define-public emacs-next-semantic-refactor
+  (package-with-emacs-next emacs-semantic-refactor))
+
+(define-public emacs-pgtk-semantic-refactor
+  (package-with-emacs-pgtk emacs-semantic-refactor))
+
 (define-public emacs-nhexl-mode
   (package
     (name "emacs-nhexl-mode")
@@ -34118,6 +44649,15 @@ (define-public emacs-nhexl-mode
 @end itemize")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-nhexl-mode
+  (package-with-emacs-minimal emacs-nhexl-mode))
+
+(define-public emacs-next-nhexl-mode
+  (package-with-emacs-next emacs-nhexl-mode))
+
+(define-public emacs-pgtk-nhexl-mode
+  (package-with-emacs-pgtk emacs-nhexl-mode))
+
 (define-public emacs-helm-wikipedia
   (let ((commit "126f044e0a0e1432e0791c33ce2a41875d704a9b"))
     (package
@@ -34143,6 +44683,15 @@ (define-public emacs-helm-wikipedia
 and article extracts for Wikipedia.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-helm-wikipedia
+  (package-with-emacs-minimal emacs-helm-wikipedia))
+
+(define-public emacs-next-helm-wikipedia
+  (package-with-emacs-next emacs-helm-wikipedia))
+
+(define-public emacs-pgtk-helm-wikipedia
+  (package-with-emacs-pgtk emacs-helm-wikipedia))
+
 (define-public emacs-webfeeder
   (package
   (name "emacs-webfeeder")
@@ -34166,6 +44715,15 @@ (define-public emacs-webfeeder
 functions (e.g. @code{webfeeder-title-function}).")
   (license license:gpl3+)))
 
+(define-public emacs-minimal-webfeeder
+  (package-with-emacs-minimal emacs-webfeeder))
+
+(define-public emacs-next-webfeeder
+  (package-with-emacs-next emacs-webfeeder))
+
+(define-public emacs-pgtk-webfeeder
+  (package-with-emacs-pgtk emacs-webfeeder))
+
 (define-public emacs-evil-numbers
   ;; XXX: Upstream did not tag latest release.  Use commit matching exact
   ;; version bump.
@@ -34200,9 +44758,27 @@ (define-public emacs-evil-numbers
 end of a line and increment or decrement it.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-evil-numbers
+  (package-with-emacs-minimal emacs-evil-numbers))
+
+(define-public emacs-next-evil-numbers
+  (package-with-emacs-next emacs-evil-numbers))
+
+(define-public emacs-pgtk-evil-numbers
+  (package-with-emacs-pgtk emacs-evil-numbers))
+
 (define-public emacs-janpath-evil-numbers
   (deprecated-package "emacs-janpath-evil-numbers" emacs-evil-numbers))
 
+(define-public emacs-minimal-janpath-evil-numbers
+  (package-with-emacs-minimal emacs-janpath-evil-numbers))
+
+(define-public emacs-next-janpath-evil-numbers
+  (package-with-emacs-next emacs-janpath-evil-numbers))
+
+(define-public emacs-pgtk-janpath-evil-numbers
+  (package-with-emacs-pgtk emacs-janpath-evil-numbers))
+
 (define-public emacs-rotate-text
   (package
     (name "emacs-rotate-text")
@@ -34226,6 +44802,15 @@ (define-public emacs-rotate-text
 \"variableN\".")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-rotate-text
+  (package-with-emacs-minimal emacs-rotate-text))
+
+(define-public emacs-next-rotate-text
+  (package-with-emacs-next emacs-rotate-text))
+
+(define-public emacs-pgtk-rotate-text
+  (package-with-emacs-pgtk emacs-rotate-text))
+
 (define-public emacs-ediprolog
   (package
     (name "emacs-ediprolog")
@@ -34248,6 +44833,15 @@ (define-public emacs-ediprolog
 context, carry out the appropriate action.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ediprolog
+  (package-with-emacs-minimal emacs-ediprolog))
+
+(define-public emacs-next-ediprolog
+  (package-with-emacs-next emacs-ediprolog))
+
+(define-public emacs-pgtk-ediprolog
+  (package-with-emacs-pgtk emacs-ediprolog))
+
 (define-public emacs-evil-cleverparens
   (let ((commit "8c45879d49bfa6d4e414b6c1df700a4a51cbb869")
         (revision "1"))
@@ -34273,6 +44867,15 @@ (define-public emacs-evil-cleverparens
 corresponding Evil keys.")
       (license license:expat))))
 
+(define-public emacs-minimal-evil-cleverparens
+  (package-with-emacs-minimal emacs-evil-cleverparens))
+
+(define-public emacs-next-evil-cleverparens
+  (package-with-emacs-next emacs-evil-cleverparens))
+
+(define-public emacs-pgtk-evil-cleverparens
+  (package-with-emacs-pgtk emacs-evil-cleverparens))
+
 (define-public emacs-ntlm
   (package
     (name "emacs-ntlm")
@@ -34291,6 +44894,15 @@ (define-public emacs-ntlm
 implementation of Windows NT and LanManager compatible password encryption.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ntlm
+  (package-with-emacs-minimal emacs-ntlm))
+
+(define-public emacs-next-ntlm
+  (package-with-emacs-next emacs-ntlm))
+
+(define-public emacs-pgtk-ntlm
+  (package-with-emacs-pgtk emacs-ntlm))
+
 (define-public emacs-nadvice
   (package
     (name "emacs-nadvice")
@@ -34311,6 +44923,15 @@ (define-public emacs-nadvice
 advice system without dropping support for Emacs<24.4.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-nadvice
+  (package-with-emacs-minimal emacs-nadvice))
+
+(define-public emacs-next-nadvice
+  (package-with-emacs-next emacs-nadvice))
+
+(define-public emacs-pgtk-nadvice
+  (package-with-emacs-pgtk emacs-nadvice))
+
 (define-public emacs-url-http-oauth
   (package
     (name "emacs-url-http-oauth")
@@ -34330,6 +44951,15 @@ (define-public emacs-url-http-oauth
      "Url HTTP Oauth adds OAuth 2.0 support to Emacs's URL library.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-url-http-oauth
+  (package-with-emacs-minimal emacs-url-http-oauth))
+
+(define-public emacs-next-url-http-oauth
+  (package-with-emacs-next emacs-url-http-oauth))
+
+(define-public emacs-pgtk-url-http-oauth
+  (package-with-emacs-pgtk emacs-url-http-oauth))
+
 (define-public emacs-url-http-ntlm
   (package
     (name "emacs-url-http-ntlm")
@@ -34348,6 +44978,15 @@ (define-public emacs-url-http-ntlm
     (description "This package provides a NTLM handler for the URL package.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-url-http-ntlm
+  (package-with-emacs-minimal emacs-url-http-ntlm))
+
+(define-public emacs-next-url-http-ntlm
+  (package-with-emacs-next emacs-url-http-ntlm))
+
+(define-public emacs-pgtk-url-http-ntlm
+  (package-with-emacs-pgtk emacs-url-http-ntlm))
+
 (define-public emacs-soap-client
   (package
     (name "emacs-soap-client")
@@ -34366,6 +45005,15 @@ (define-public emacs-soap-client
      "This package provides a SOAP client to access web services.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-soap-client
+  (package-with-emacs-minimal emacs-soap-client))
+
+(define-public emacs-next-soap-client
+  (package-with-emacs-next emacs-soap-client))
+
+(define-public emacs-pgtk-soap-client
+  (package-with-emacs-pgtk emacs-soap-client))
+
 (define-public emacs-fsm
   (package
     (name "emacs-fsm")
@@ -34384,6 +45032,15 @@ (define-public emacs-fsm
 programming in Emacs Lisp easy and fun.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-fsm
+  (package-with-emacs-minimal emacs-fsm))
+
+(define-public emacs-next-fsm
+  (package-with-emacs-next emacs-fsm))
+
+(define-public emacs-pgtk-fsm
+  (package-with-emacs-pgtk emacs-fsm))
+
 (define-public emacs-excorporate
   (package
     (name "emacs-excorporate")
@@ -34406,6 +45063,15 @@ (define-public emacs-excorporate
     (description "This package provides Exchange integration for Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-excorporate
+  (package-with-emacs-minimal emacs-excorporate))
+
+(define-public emacs-next-excorporate
+  (package-with-emacs-next emacs-excorporate))
+
+(define-public emacs-pgtk-excorporate
+  (package-with-emacs-pgtk emacs-excorporate))
+
 (define-public emacs-evil-traces
   ;; XXX: Upstream does not tag releases.  Use commit matching exact version
   ;; bump.
@@ -34442,6 +45108,15 @@ (define-public emacs-evil-traces
 Evil mode.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-evil-traces
+  (package-with-emacs-minimal emacs-evil-traces))
+
+(define-public emacs-next-evil-traces
+  (package-with-emacs-next emacs-evil-traces))
+
+(define-public emacs-pgtk-evil-traces
+  (package-with-emacs-pgtk emacs-evil-traces))
+
 (define-public emacs-evil-tmux-navigator
   (package
     (name "emacs-evil-tmux-navigator")
@@ -34468,6 +45143,15 @@ (define-public emacs-evil-tmux-navigator
 Emacs windows and tmux panes.")
     (license license:expat)))
 
+(define-public emacs-minimal-evil-tmux-navigator
+  (package-with-emacs-minimal emacs-evil-tmux-navigator))
+
+(define-public emacs-next-evil-tmux-navigator
+  (package-with-emacs-next emacs-evil-tmux-navigator))
+
+(define-public emacs-pgtk-evil-tmux-navigator
+  (package-with-emacs-pgtk emacs-evil-tmux-navigator))
+
 (define-public emacs-everywhere
   ;; No upstream release.  Extract version from main file.
   (let ((commit "ace53396a66ed4b753f42c04a5a0db2bcd770423")
@@ -34516,6 +45200,15 @@ (define-public emacs-everywhere
 deletion of the frame.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-everywhere
+  (package-with-emacs-minimal emacs-everywhere))
+
+(define-public emacs-next-everywhere
+  (package-with-emacs-next emacs-everywhere))
+
+(define-public emacs-pgtk-everywhere
+  (package-with-emacs-pgtk emacs-everywhere))
+
 (define-public emacs-xclip
   (package
     (name "emacs-xclip")
@@ -34539,6 +45232,15 @@ (define-public emacs-xclip
 work.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-xclip
+  (package-with-emacs-minimal emacs-xclip))
+
+(define-public emacs-next-xclip
+  (package-with-emacs-next emacs-xclip))
+
+(define-public emacs-pgtk-xclip
+  (package-with-emacs-pgtk emacs-xclip))
+
 (define-public emacs-xterm-color
   (package
     (name "emacs-xterm-color")
@@ -34559,6 +45261,15 @@ (define-public emacs-xterm-color
 text-property translator.")
     (license license:bsd-2)))
 
+(define-public emacs-minimal-xterm-color
+  (package-with-emacs-minimal emacs-xterm-color))
+
+(define-public emacs-next-xterm-color
+  (package-with-emacs-next emacs-xterm-color))
+
+(define-public emacs-pgtk-xterm-color
+  (package-with-emacs-pgtk emacs-xterm-color))
+
 (define-public emacs-org-noter
   (package
     (name "emacs-org-noter")
@@ -34585,6 +45296,15 @@ (define-public emacs-org-noter
 acting like notes that are made @emph{in} the document.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-noter
+  (package-with-emacs-minimal emacs-org-noter))
+
+(define-public emacs-next-org-noter
+  (package-with-emacs-next emacs-org-noter))
+
+(define-public emacs-pgtk-org-noter
+  (package-with-emacs-pgtk emacs-org-noter))
+
 (define-public emacs-org-redmine
   (let ((commit "e77d013bc3784947c46a5c53f03cd7d3c68552fc"))
     (package
@@ -34605,6 +45325,15 @@ (define-public emacs-org-redmine
       (description "This program provides an Emacs client for Redmine.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-redmine
+  (package-with-emacs-minimal emacs-org-redmine))
+
+(define-public emacs-next-org-redmine
+  (package-with-emacs-next emacs-org-redmine))
+
+(define-public emacs-pgtk-org-redmine
+  (package-with-emacs-pgtk emacs-org-redmine))
+
 (define-public emacs-multi-term
   ;; No upstream release.  Extract version from main file.
   (let ((commit "017c77c550115936860e2ea71b88e585371475d5")
@@ -34640,6 +45369,15 @@ (define-public emacs-multi-term
 @end enumerate")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-multi-term
+  (package-with-emacs-minimal emacs-multi-term))
+
+(define-public emacs-next-multi-term
+  (package-with-emacs-next emacs-multi-term))
+
+(define-public emacs-pgtk-multi-term
+  (package-with-emacs-pgtk emacs-multi-term))
+
 (define-public emacs-elpher
   (package
     (name "emacs-elpher")
@@ -34675,6 +45413,15 @@ (define-public emacs-elpher
 connections using TLS encryption.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-elpher
+  (package-with-emacs-minimal emacs-elpher))
+
+(define-public emacs-next-elpher
+  (package-with-emacs-next emacs-elpher))
+
+(define-public emacs-pgtk-elpher
+  (package-with-emacs-pgtk emacs-elpher))
+
 (define-public emacs-gemini
   (package
     (name "emacs-gemini")
@@ -34697,6 +45444,15 @@ (define-public emacs-gemini
 documents.")
     (license license:agpl3+)))
 
+(define-public emacs-minimal-gemini
+  (package-with-emacs-minimal emacs-gemini))
+
+(define-public emacs-next-gemini
+  (package-with-emacs-next emacs-gemini))
+
+(define-public emacs-pgtk-gemini
+  (package-with-emacs-pgtk emacs-gemini))
+
 (define-public emacs-zerodark-theme
   (package
     (name "emacs-zerodark-theme")
@@ -34723,6 +45479,15 @@ (define-public emacs-zerodark-theme
 An optional mode-line format can be enabled with @code{zerodark-setup-modeline-format}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-zerodark-theme
+  (package-with-emacs-minimal emacs-zerodark-theme))
+
+(define-public emacs-next-zerodark-theme
+  (package-with-emacs-next emacs-zerodark-theme))
+
+(define-public emacs-pgtk-zerodark-theme
+  (package-with-emacs-pgtk emacs-zerodark-theme))
+
 (define-public emacs-gnus-alias
   (package
     (name "emacs-gnus-alias")
@@ -34753,6 +45518,15 @@ (define-public emacs-gnus-alias
 @end itemize")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-gnus-alias
+  (package-with-emacs-minimal emacs-gnus-alias))
+
+(define-public emacs-next-gnus-alias
+  (package-with-emacs-next emacs-gnus-alias))
+
+(define-public emacs-pgtk-gnus-alias
+  (package-with-emacs-pgtk emacs-gnus-alias))
+
 (define-public emacs-ox-epub
   (package
     (name "emacs-ox-epub")
@@ -34776,6 +45550,15 @@ (define-public emacs-ox-epub
 zip utility (default is @code{zip}).")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ox-epub
+  (package-with-emacs-minimal emacs-ox-epub))
+
+(define-public emacs-next-ox-epub
+  (package-with-emacs-next emacs-ox-epub))
+
+(define-public emacs-pgtk-ox-epub
+  (package-with-emacs-pgtk emacs-ox-epub))
+
 (define-public emacs-ox-gemini
   ;; No releases yet
   (let ((commit "168f820ea401fb813435a3a55af295873a4c110b")
@@ -34801,6 +45584,15 @@ (define-public emacs-ox-gemini
 @code{ox-gemini} derives.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ox-gemini
+  (package-with-emacs-minimal emacs-ox-gemini))
+
+(define-public emacs-next-ox-gemini
+  (package-with-emacs-next emacs-ox-gemini))
+
+(define-public emacs-pgtk-ox-gemini
+  (package-with-emacs-pgtk emacs-ox-gemini))
+
 (define-public emacs-ox-haunt
   (package
     (name "emacs-ox-haunt")
@@ -34822,6 +45614,15 @@ (define-public emacs-ox-haunt
 producing output appropriate for Haunt's @code{html-reader}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ox-haunt
+  (package-with-emacs-minimal emacs-ox-haunt))
+
+(define-public emacs-next-ox-haunt
+  (package-with-emacs-next emacs-ox-haunt))
+
+(define-public emacs-pgtk-ox-haunt
+  (package-with-emacs-pgtk emacs-ox-haunt))
+
 (define-public emacs-ox-hugo
   (package
     (name "emacs-ox-hugo")
@@ -34847,6 +45648,15 @@ (define-public emacs-ox-hugo
 format.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ox-hugo
+  (package-with-emacs-minimal emacs-ox-hugo))
+
+(define-public emacs-next-ox-hugo
+  (package-with-emacs-next emacs-ox-hugo))
+
+(define-public emacs-pgtk-ox-hugo
+  (package-with-emacs-pgtk emacs-ox-hugo))
+
 (define-public emacs-ox-pandoc
   (package
     (name "emacs-ox-pandoc")
@@ -34871,6 +45681,15 @@ (define-public emacs-ox-pandoc
 files to numerous other formats via Pandoc.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ox-pandoc
+  (package-with-emacs-minimal emacs-ox-pandoc))
+
+(define-public emacs-next-ox-pandoc
+  (package-with-emacs-next emacs-ox-pandoc))
+
+(define-public emacs-pgtk-ox-pandoc
+  (package-with-emacs-pgtk emacs-ox-pandoc))
+
 (define-public emacs-ox-reveal
   (let ((commit "07900f29fada581d0e1b0f1e2057cea5e1ba8ce1")
         (revision "0"))
@@ -34898,6 +45717,15 @@ (define-public emacs-ox-reveal
 simple but powerful Org contents.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ox-reveal
+  (package-with-emacs-minimal emacs-ox-reveal))
+
+(define-public emacs-next-ox-reveal
+  (package-with-emacs-next emacs-ox-reveal))
+
+(define-public emacs-pgtk-ox-reveal
+  (package-with-emacs-pgtk emacs-ox-reveal))
+
 (define-public emacs-ox-tufte
   (package
     (name "emacs-ox-tufte")
@@ -34927,6 +45755,15 @@ (define-public emacs-ox-tufte
 CSS (@url{https://edwardtufte.github.io/tufte-css/}).")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ox-tufte
+  (package-with-emacs-minimal emacs-ox-tufte))
+
+(define-public emacs-next-ox-tufte
+  (package-with-emacs-next emacs-ox-tufte))
+
+(define-public emacs-pgtk-ox-tufte
+  (package-with-emacs-pgtk emacs-ox-tufte))
+
 (define-public emacs-ox-rss
   ;; XXX: Upstream provides no version nor tags whatsoever.
   (let ((commit "83dc898fa5493925b01716e5dd495d5e07c3d41a")
@@ -34951,6 +45788,15 @@ (define-public emacs-ox-rss
 on the HTML back-end.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ox-rss
+  (package-with-emacs-minimal emacs-ox-rss))
+
+(define-public emacs-next-ox-rss
+  (package-with-emacs-next emacs-ox-rss))
+
+(define-public emacs-pgtk-ox-rss
+  (package-with-emacs-pgtk emacs-ox-rss))
+
 (define-public emacs-ox-html-stable-ids
   (package
     (name "emacs-ox-html-stable-ids")
@@ -34974,6 +45820,15 @@ (define-public emacs-ox-html-stable-ids
  HTML with stable ID attributes instead of the random IDs Org's exporter uses
 by default.")))
 
+(define-public emacs-minimal-ox-html-stable-ids
+  (package-with-emacs-minimal emacs-ox-html-stable-ids))
+
+(define-public emacs-next-ox-html-stable-ids
+  (package-with-emacs-next emacs-ox-html-stable-ids))
+
+(define-public emacs-pgtk-ox-html-stable-ids
+  (package-with-emacs-pgtk emacs-ox-html-stable-ids))
+
 (define-public emacs-wc-mode
   (package
     (name "emacs-wc-mode")
@@ -34998,6 +45853,15 @@ (define-public emacs-wc-mode
 time.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-wc-mode
+  (package-with-emacs-minimal emacs-wc-mode))
+
+(define-public emacs-next-wc-mode
+  (package-with-emacs-next emacs-wc-mode))
+
+(define-public emacs-pgtk-wc-mode
+  (package-with-emacs-pgtk emacs-wc-mode))
+
 (define-public emacs-mastodon
   (package
     (name "emacs-mastodon")
@@ -35031,6 +45895,15 @@ (define-public emacs-mastodon
 federated microblogging social network.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-mastodon
+  (package-with-emacs-minimal emacs-mastodon))
+
+(define-public emacs-next-mastodon
+  (package-with-emacs-next emacs-mastodon))
+
+(define-public emacs-pgtk-mastodon
+  (package-with-emacs-pgtk emacs-mastodon))
+
 (define-public emacs-ebdb
   (package
     (name "emacs-ebdb")
@@ -35052,6 +45925,15 @@ (define-public emacs-ebdb
 Lisp's (relatively new) EIEIO object oriented libraries.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ebdb
+  (package-with-emacs-minimal emacs-ebdb))
+
+(define-public emacs-next-ebdb
+  (package-with-emacs-next emacs-ebdb))
+
+(define-public emacs-pgtk-ebdb
+  (package-with-emacs-pgtk emacs-ebdb))
+
 (define-public emacs-ebdb-i18n-chn
   (package
     (name "emacs-ebdb-i18n-chn")
@@ -35074,6 +45956,15 @@ (define-public emacs-ebdb-i18n-chn
 time.  It shouldn't have any real impact on search and completion times.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ebdb-i18n-chn
+  (package-with-emacs-minimal emacs-ebdb-i18n-chn))
+
+(define-public emacs-next-ebdb-i18n-chn
+  (package-with-emacs-next emacs-ebdb-i18n-chn))
+
+(define-public emacs-pgtk-ebdb-i18n-chn
+  (package-with-emacs-pgtk emacs-ebdb-i18n-chn))
+
 (define-public emacs-refactor
   (package
     (name "emacs-refactor")
@@ -35097,6 +45988,15 @@ (define-public emacs-refactor
 a variety of languages, including elisp itself.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-refactor
+  (package-with-emacs-minimal emacs-refactor))
+
+(define-public emacs-next-refactor
+  (package-with-emacs-next emacs-refactor))
+
+(define-public emacs-pgtk-refactor
+  (package-with-emacs-pgtk emacs-refactor))
+
 (define-public emacs-flyspell-correct
   (package
     (name "emacs-flyspell-correct")
@@ -35124,6 +46024,15 @@ (define-public emacs-flyspell-correct
 Helm and Ivy.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-flyspell-correct
+  (package-with-emacs-minimal emacs-flyspell-correct))
+
+(define-public emacs-next-flyspell-correct
+  (package-with-emacs-next emacs-flyspell-correct))
+
+(define-public emacs-pgtk-flyspell-correct
+  (package-with-emacs-pgtk emacs-flyspell-correct))
+
 (define-public emacs-spell-fu
   ;; There are no tagged releases upstream, instead we are using the
   ;; most recent commit.
@@ -35149,6 +46058,15 @@ (define-public emacs-spell-fu
 that runs from the syntax highlighter without starting external processes.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-spell-fu
+  (package-with-emacs-minimal emacs-spell-fu))
+
+(define-public emacs-next-spell-fu
+  (package-with-emacs-next emacs-spell-fu))
+
+(define-public emacs-pgtk-spell-fu
+  (package-with-emacs-pgtk emacs-spell-fu))
+
 (define-public emacs-org-emms
   (let ((commit "07a8917f3d628c32e5de1dbd118ac08203772533")
         (revision "1"))
@@ -35177,6 +46095,15 @@ (define-public emacs-org-emms
 contains a track position, playback will start at the specified position.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-emms
+  (package-with-emacs-minimal emacs-org-emms))
+
+(define-public emacs-next-org-emms
+  (package-with-emacs-next emacs-org-emms))
+
+(define-public emacs-pgtk-org-emms
+  (package-with-emacs-pgtk emacs-org-emms))
+
 (define-public emacs-org-jira
   (package
     (name "emacs-org-jira")
@@ -35211,6 +46138,15 @@ (define-public emacs-org-jira
 JIRA issue servers.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-jira
+  (package-with-emacs-minimal emacs-org-jira))
+
+(define-public emacs-next-org-jira
+  (package-with-emacs-next emacs-org-jira))
+
+(define-public emacs-pgtk-org-jira
+  (package-with-emacs-pgtk emacs-org-jira))
+
 (define-public emacs-slime-volleyball
   (package
     (name "emacs-slime-volleyball")
@@ -35234,6 +46170,15 @@ (define-public emacs-slime-volleyball
 even train opponent slimes.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-slime-volleyball
+  (package-with-emacs-minimal emacs-slime-volleyball))
+
+(define-public emacs-next-slime-volleyball
+  (package-with-emacs-next emacs-slime-volleyball))
+
+(define-public emacs-pgtk-slime-volleyball
+  (package-with-emacs-pgtk emacs-slime-volleyball))
+
 (define-public emacs-syslog-mode
   (package
     (name "emacs-syslog-mode")
@@ -35257,6 +46202,15 @@ (define-public emacs-syslog-mode
 count matches, etc.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-syslog-mode
+  (package-with-emacs-minimal emacs-syslog-mode))
+
+(define-public emacs-next-syslog-mode
+  (package-with-emacs-next emacs-syslog-mode))
+
+(define-public emacs-pgtk-syslog-mode
+  (package-with-emacs-pgtk emacs-syslog-mode))
+
 (define-public emacs-systemd-mode
   (package
     (name "emacs-systemd-mode")
@@ -35279,6 +46233,15 @@ (define-public emacs-systemd-mode
      "Major mode for editing systemd units in GNU Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-systemd-mode
+  (package-with-emacs-minimal emacs-systemd-mode))
+
+(define-public emacs-next-systemd-mode
+  (package-with-emacs-next emacs-systemd-mode))
+
+(define-public emacs-pgtk-systemd-mode
+  (package-with-emacs-pgtk emacs-systemd-mode))
+
 (define-public emacs-ssh-config-mode
   (let ((commit "4c1dfa57d452cb5654453bf186c8ff63e1e71b56")
         (revision "1"))
@@ -35307,6 +46270,15 @@ (define-public emacs-ssh-config-mode
 keybindings for skipping from host section to host section.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ssh-config-mode
+  (package-with-emacs-minimal emacs-ssh-config-mode))
+
+(define-public emacs-next-ssh-config-mode
+  (package-with-emacs-next emacs-ssh-config-mode))
+
+(define-public emacs-pgtk-ssh-config-mode
+  (package-with-emacs-pgtk emacs-ssh-config-mode))
+
 (define-public emacs-ssh-agency
   (package
     (name "emacs-ssh-agency")
@@ -35335,6 +46307,15 @@ (define-public emacs-ssh-agency
 passphrase until the first time you push to a remote.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ssh-agency
+  (package-with-emacs-minimal emacs-ssh-agency))
+
+(define-public emacs-next-ssh-agency
+  (package-with-emacs-next emacs-ssh-agency))
+
+(define-public emacs-pgtk-ssh-agency
+  (package-with-emacs-pgtk emacs-ssh-agency))
+
 (define-public emacs-super-save
   (package
     (name "emacs-super-save")
@@ -35358,6 +46339,15 @@ (define-public emacs-super-save
 standard Auto-save mode.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-super-save
+  (package-with-emacs-minimal emacs-super-save))
+
+(define-public emacs-next-super-save
+  (package-with-emacs-next emacs-super-save))
+
+(define-public emacs-pgtk-super-save
+  (package-with-emacs-pgtk emacs-super-save))
+
 (define-public emacs-tao-theme
   (let ((commit "468ee4f6ba7afb9dbfc8855ae2c333cb16ca4408")
         (revision "1"))
@@ -35387,6 +46377,15 @@ (define-public emacs-tao-theme
 @code{tao-theme-use-height}.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-tao-theme
+  (package-with-emacs-minimal emacs-tao-theme))
+
+(define-public emacs-next-tao-theme
+  (package-with-emacs-next emacs-tao-theme))
+
+(define-public emacs-pgtk-tao-theme
+  (package-with-emacs-pgtk emacs-tao-theme))
+
 (define-public emacs-almost-mono-themes
   (let ((commit "c3a85c1a665530a5d830665969725cdba8eceb75")
         (revision "0"))
@@ -35411,6 +46410,15 @@ (define-public emacs-almost-mono-themes
 @code{almost-mono-black} and @code{almost-mono-white}.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-almost-mono-themes
+  (package-with-emacs-minimal emacs-almost-mono-themes))
+
+(define-public emacs-next-almost-mono-themes
+  (package-with-emacs-next emacs-almost-mono-themes))
+
+(define-public emacs-pgtk-almost-mono-themes
+  (package-with-emacs-pgtk emacs-almost-mono-themes))
+
 (define-public emacs-quasi-monochrome
   (let ((commit "68060dbbc0bbfe4924387392874186c5a29bb434")
         (revision "0"))
@@ -35435,6 +46443,15 @@ (define-public emacs-quasi-monochrome
 contrast and few colors.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-quasi-monochrome
+  (package-with-emacs-minimal emacs-quasi-monochrome))
+
+(define-public emacs-next-quasi-monochrome
+  (package-with-emacs-next emacs-quasi-monochrome))
+
+(define-public emacs-pgtk-quasi-monochrome
+  (package-with-emacs-pgtk emacs-quasi-monochrome))
+
 (define-public emacs-doom-themes
   (let ((commit "188ab05eefe2bdc46b4464aadb4a52ff9cb42f7f")
         (revision "0"))
@@ -35476,6 +46493,15 @@ (define-public emacs-doom-themes
       (home-page "https://github.com/doomemacs/themes")
       (license license:expat))))
 
+(define-public emacs-minimal-doom-themes
+  (package-with-emacs-minimal emacs-doom-themes))
+
+(define-public emacs-next-doom-themes
+  (package-with-emacs-next emacs-doom-themes))
+
+(define-public emacs-pgtk-doom-themes
+  (package-with-emacs-pgtk emacs-doom-themes))
+
 (define-public emacs-modus-themes
   (package
     (name "emacs-modus-themes")
@@ -35521,6 +46547,15 @@ (define-public emacs-modus-themes
     (license (list license:gpl3+
                    license:fdl1.3+)))) ; GFDLv1.3+ for the manual
 
+(define-public emacs-minimal-modus-themes
+  (package-with-emacs-minimal emacs-modus-themes))
+
+(define-public emacs-next-modus-themes
+  (package-with-emacs-next emacs-modus-themes))
+
+(define-public emacs-pgtk-modus-themes
+  (package-with-emacs-pgtk emacs-modus-themes))
+
 (define-public emacs-plan9-theme
   (let ((commit "c2da2fcb241e9800d931a1ff19ecd9fd84d30382")
         (revision "0"))
@@ -35544,6 +46579,15 @@ (define-public emacs-plan9-theme
 look which is inspired by the colors of Plan 9 from Bell Labs.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-plan9-theme
+  (package-with-emacs-minimal emacs-plan9-theme))
+
+(define-public emacs-next-plan9-theme
+  (package-with-emacs-next emacs-plan9-theme))
+
+(define-public emacs-pgtk-plan9-theme
+  (package-with-emacs-pgtk emacs-plan9-theme))
+
 (define-public emacs-punpun-theme
   (let ((commit "7026684cd568cb691af3ced5de14c375fe6f5a1a")
         (revision "0"))
@@ -35568,6 +46612,15 @@ (define-public emacs-punpun-theme
 color.  Designed for 256-color terminals.  Comes in light and dark!")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-punpun-theme
+  (package-with-emacs-minimal emacs-punpun-theme))
+
+(define-public emacs-next-punpun-theme
+  (package-with-emacs-next emacs-punpun-theme))
+
+(define-public emacs-pgtk-punpun-theme
+  (package-with-emacs-pgtk emacs-punpun-theme))
+
 (define-public emacs-spacemacs-theme
   (package
     (name "emacs-spacemacs-theme")
@@ -35591,6 +46644,15 @@ (define-public emacs-spacemacs-theme
 and it should work well with 256 color terminals.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-spacemacs-theme
+  (package-with-emacs-minimal emacs-spacemacs-theme))
+
+(define-public emacs-next-spacemacs-theme
+  (package-with-emacs-next emacs-spacemacs-theme))
+
+(define-public emacs-pgtk-spacemacs-theme
+  (package-with-emacs-pgtk emacs-spacemacs-theme))
+
 (define-public emacs-starlit-theme
   (let ((commit "d6f327fb09497be7bee64d5d204d27f655cc5b04")
         (revision "0"))
@@ -35614,6 +46676,15 @@ (define-public emacs-starlit-theme
 from a starlit sky.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-starlit-theme
+  (package-with-emacs-minimal emacs-starlit-theme))
+
+(define-public emacs-next-starlit-theme
+  (package-with-emacs-next emacs-starlit-theme))
+
+(define-public emacs-pgtk-starlit-theme
+  (package-with-emacs-pgtk emacs-starlit-theme))
+
 (define-public emacs-elixir-mode
   (package
     (name "emacs-elixir-mode")
@@ -35638,6 +46709,15 @@ (define-public emacs-elixir-mode
  for the Elixir programming language.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-elixir-mode
+  (package-with-emacs-minimal emacs-elixir-mode))
+
+(define-public emacs-next-elixir-mode
+  (package-with-emacs-next emacs-elixir-mode))
+
+(define-public emacs-pgtk-elixir-mode
+  (package-with-emacs-pgtk emacs-elixir-mode))
+
 (define-public emacs-dimmer
   (let ((commit "2f915b100044e09dd647b22085e1696249c4b115")
         (revision "1"))
@@ -35664,6 +46744,15 @@ (define-public emacs-dimmer
 what is a \"dim\" version of every face.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-dimmer
+  (package-with-emacs-minimal emacs-dimmer))
+
+(define-public emacs-next-dimmer
+  (package-with-emacs-next emacs-dimmer))
+
+(define-public emacs-pgtk-dimmer
+  (package-with-emacs-pgtk emacs-dimmer))
+
 (define-public emacs-minibuffer-line
   (package
     (name "emacs-minibuffer-line")
@@ -35690,6 +46779,15 @@ (define-public emacs-minibuffer-line
 variable and the @code{minibuffer-line} face.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-minibuffer-line
+  (package-with-emacs-minimal emacs-minibuffer-line))
+
+(define-public emacs-next-minibuffer-line
+  (package-with-emacs-next emacs-minibuffer-line))
+
+(define-public emacs-pgtk-minibuffer-line
+  (package-with-emacs-pgtk emacs-minibuffer-line))
+
 (define-public emacs-minimap
   (package
     (name "emacs-minimap")
@@ -35715,6 +46813,15 @@ (define-public emacs-minimap
 information from the tags gathered by CEDET's semantic analyzer.)")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-minimap
+  (package-with-emacs-minimal emacs-minimap))
+
+(define-public emacs-next-minimap
+  (package-with-emacs-next emacs-minimap))
+
+(define-public emacs-pgtk-minimap
+  (package-with-emacs-pgtk emacs-minimap))
+
 (define-public emacs-eshell-prompt-extras
   (package
     (name "emacs-eshell-prompt-extras")
@@ -35738,6 +46845,15 @@ (define-public emacs-eshell-prompt-extras
 available.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-eshell-prompt-extras
+  (package-with-emacs-minimal emacs-eshell-prompt-extras))
+
+(define-public emacs-next-eshell-prompt-extras
+  (package-with-emacs-next emacs-eshell-prompt-extras))
+
+(define-public emacs-pgtk-eshell-prompt-extras
+  (package-with-emacs-pgtk emacs-eshell-prompt-extras))
+
 (define-public emacs-eshell-did-you-mean
   (package
     (name "emacs-eshell-did-you-mean")
@@ -35759,6 +46875,15 @@ (define-public emacs-eshell-did-you-mean
 commands that bear resemblance to the input command.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-eshell-did-you-mean
+  (package-with-emacs-minimal emacs-eshell-did-you-mean))
+
+(define-public emacs-next-eshell-did-you-mean
+  (package-with-emacs-next emacs-eshell-did-you-mean))
+
+(define-public emacs-pgtk-eshell-did-you-mean
+  (package-with-emacs-pgtk emacs-eshell-did-you-mean))
+
 (define-public emacs-eshell-git-prompt
   (package
     (name "emacs-eshell-git-prompt")
@@ -35781,6 +46906,15 @@ (define-public emacs-eshell-git-prompt
 prompt.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-eshell-git-prompt
+  (package-with-emacs-minimal emacs-eshell-git-prompt))
+
+(define-public emacs-next-eshell-git-prompt
+  (package-with-emacs-next emacs-eshell-git-prompt))
+
+(define-public emacs-pgtk-eshell-git-prompt
+  (package-with-emacs-pgtk emacs-eshell-git-prompt))
+
 (define-public emacs-unfill
   (package
     (name "emacs-unfill")
@@ -35802,6 +46936,15 @@ (define-public emacs-unfill
 @code{fill-paragraph} and @code{fill-region}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-unfill
+  (package-with-emacs-minimal emacs-unfill))
+
+(define-public emacs-next-unfill
+  (package-with-emacs-next emacs-unfill))
+
+(define-public emacs-pgtk-unfill
+  (package-with-emacs-pgtk emacs-unfill))
+
 (define-public emacs-windower
   (package
     (name "emacs-windower")
@@ -35831,6 +46974,15 @@ (define-public emacs-windower
 @end itemize")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-windower
+  (package-with-emacs-minimal emacs-windower))
+
+(define-public emacs-next-windower
+  (package-with-emacs-next emacs-windower))
+
+(define-public emacs-pgtk-windower
+  (package-with-emacs-pgtk emacs-windower))
+
 (define-public emacs-framemove
   ;; Use the latest commit, as there are no tagged releases.
   (let ((commit "0faa8a4937f398e4971fc877b1c294100506b645")
@@ -35855,6 +47007,15 @@ (define-public emacs-framemove
 between windows.")
       (license license:gpl3))))
 
+(define-public emacs-minimal-framemove
+  (package-with-emacs-minimal emacs-framemove))
+
+(define-public emacs-next-framemove
+  (package-with-emacs-next emacs-framemove))
+
+(define-public emacs-pgtk-framemove
+  (package-with-emacs-pgtk emacs-framemove))
+
 (define-public emacs-flycheck-cpplint
   (package
     (name "emacs-flycheck-cpplint")
@@ -35888,6 +47049,15 @@ (define-public emacs-flycheck-cpplint
     (home-page "https://github.com/flycheck/flycheck-google-cpplint")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-flycheck-cpplint
+  (package-with-emacs-minimal emacs-flycheck-cpplint))
+
+(define-public emacs-next-flycheck-cpplint
+  (package-with-emacs-next emacs-flycheck-cpplint))
+
+(define-public emacs-pgtk-flycheck-cpplint
+  (package-with-emacs-pgtk emacs-flycheck-cpplint))
+
 (define-public emacs-highlight-doxygen
   ;; Upstream does not tag releases.  Commit below matches version bump.
   (let ((commit "eec4874e2e89d4eb39091aad89a67dff8f8ec84c"))
@@ -35916,6 +47086,15 @@ (define-public emacs-highlight-doxygen
 language they are written in.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-highlight-doxygen
+  (package-with-emacs-minimal emacs-highlight-doxygen))
+
+(define-public emacs-next-highlight-doxygen
+  (package-with-emacs-next emacs-highlight-doxygen))
+
+(define-public emacs-pgtk-highlight-doxygen
+  (package-with-emacs-pgtk emacs-highlight-doxygen))
+
 (define-public emacs-helm-fish-completion
   (package
     (name "emacs-helm-fish-completion")
@@ -35938,6 +47117,15 @@ (define-public emacs-helm-fish-completion
 fish-completion.  It can be used in both Eshell and M-x shell.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-helm-fish-completion
+  (package-with-emacs-minimal emacs-helm-fish-completion))
+
+(define-public emacs-next-helm-fish-completion
+  (package-with-emacs-next emacs-helm-fish-completion))
+
+(define-public emacs-pgtk-helm-fish-completion
+  (package-with-emacs-pgtk emacs-helm-fish-completion))
+
 (define-public emacs-helm-themes
   (let ((version "0.05")
         (commit "92ee3ad4edf1d068feb0822a05638db99b50a7c0")
@@ -35963,6 +47151,15 @@ (define-public emacs-helm-themes
        "Helm Themes provide an Emacs theme selection with Helm interface.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-helm-themes
+  (package-with-emacs-minimal emacs-helm-themes))
+
+(define-public emacs-next-helm-themes
+  (package-with-emacs-next emacs-helm-themes))
+
+(define-public emacs-pgtk-helm-themes
+  (package-with-emacs-pgtk emacs-helm-themes))
+
 (define-public emacs-helm-switch-to-repl
   (package
     (name "emacs-helm-switch-to-repl")
@@ -35987,6 +47184,15 @@ (define-public emacs-helm-switch-to-repl
 other @code{helm-type-file} sources such as @code{helm-locate}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-helm-switch-to-repl
+  (package-with-emacs-minimal emacs-helm-switch-to-repl))
+
+(define-public emacs-next-helm-switch-to-repl
+  (package-with-emacs-next emacs-helm-switch-to-repl))
+
+(define-public emacs-pgtk-helm-switch-to-repl
+  (package-with-emacs-pgtk emacs-helm-switch-to-repl))
+
 (define-public emacs-telega-server
   (let ((commit "879a8c7afc8967942613b6b898d9ea8c1f3641bf")
         (revision "0"))
@@ -36104,6 +47310,15 @@ (define-public emacs-telega
 for the Telegram messaging platform.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-telega
+  (package-with-emacs-minimal emacs-telega))
+
+(define-public emacs-next-telega
+  (package-with-emacs-next emacs-telega))
+
+(define-public emacs-pgtk-telega
+  (package-with-emacs-pgtk emacs-telega))
+
 (define-public emacs-telega-contrib
   (package
     (inherit emacs-telega)
@@ -36125,6 +47340,15 @@ (define-public emacs-telega-contrib
     (description "Telega-contrib is a collection of third-party
 contributed packages to Telega.")))
 
+(define-public emacs-minimal-telega-contrib
+  (package-with-emacs-minimal emacs-telega-contrib))
+
+(define-public emacs-next-telega-contrib
+  (package-with-emacs-next emacs-telega-contrib))
+
+(define-public emacs-pgtk-telega-contrib
+  (package-with-emacs-pgtk emacs-telega-contrib))
+
 (define-public emacs-doom-modeline
   (package
     (name "emacs-doom-modeline")
@@ -36151,6 +47375,15 @@ (define-public emacs-doom-modeline
     (home-page "https://github.com/seagle0128/doom-modeline/")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-doom-modeline
+  (package-with-emacs-minimal emacs-doom-modeline))
+
+(define-public emacs-next-doom-modeline
+  (package-with-emacs-next emacs-doom-modeline))
+
+(define-public emacs-pgtk-doom-modeline
+  (package-with-emacs-pgtk emacs-doom-modeline))
+
 (define-public emacs-mood-line
   (package
     (name "emacs-mood-line")
@@ -36172,6 +47405,15 @@ (define-public emacs-mood-line
 replicate some of the features of the Doom modeline package.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-mood-line
+  (package-with-emacs-minimal emacs-mood-line))
+
+(define-public emacs-next-mood-line
+  (package-with-emacs-next emacs-mood-line))
+
+(define-public emacs-pgtk-mood-line
+  (package-with-emacs-pgtk emacs-mood-line))
+
 (define-public emacs-simple-modeline
   (package
     (name "emacs-simple-modeline")
@@ -36193,6 +47435,15 @@ (define-public emacs-simple-modeline
      "This package provides a simple mode-line configuration for Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-simple-modeline
+  (package-with-emacs-minimal emacs-simple-modeline))
+
+(define-public emacs-next-simple-modeline
+  (package-with-emacs-next emacs-simple-modeline))
+
+(define-public emacs-pgtk-simple-modeline
+  (package-with-emacs-pgtk emacs-simple-modeline))
+
 (define-public emacs-frames-only-mode
   (package
     (name "emacs-frames-only-mode")
@@ -36217,6 +47468,15 @@ (define-public emacs-frames-only-mode
 managers such as XMonad.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-frames-only-mode
+  (package-with-emacs-minimal emacs-frames-only-mode))
+
+(define-public emacs-next-frames-only-mode
+  (package-with-emacs-next emacs-frames-only-mode))
+
+(define-public emacs-pgtk-frames-only-mode
+  (package-with-emacs-pgtk emacs-frames-only-mode))
+
 (define-public emacs-modalka
   (package
     (name "emacs-modalka")
@@ -36240,6 +47500,15 @@ (define-public emacs-modalka
 with a preconfigured set of keys.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-modalka
+  (package-with-emacs-minimal emacs-modalka))
+
+(define-public emacs-next-modalka
+  (package-with-emacs-next emacs-modalka))
+
+(define-public emacs-pgtk-modalka
+  (package-with-emacs-pgtk emacs-modalka))
+
 (define-public emacs-shrink-path
   (package
     (name "emacs-shrink-path")
@@ -36263,6 +47532,15 @@ (define-public emacs-shrink-path
 Fish-style truncated directories in eshell and various modelines.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-shrink-path
+  (package-with-emacs-minimal emacs-shrink-path))
+
+(define-public emacs-next-shrink-path
+  (package-with-emacs-next emacs-shrink-path))
+
+(define-public emacs-pgtk-shrink-path
+  (package-with-emacs-pgtk emacs-shrink-path))
+
 (define-public emacs-org-present
   (let ((commit "4ec04e1b77dea76d7c30066ccf3200d2e0b7bee9")
         (revision "1"))
@@ -36289,6 +47567,15 @@ (define-public emacs-org-present
       (home-page "https://github.com/rlister/org-present")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-present
+  (package-with-emacs-minimal emacs-org-present))
+
+(define-public emacs-next-org-present
+  (package-with-emacs-next emacs-org-present))
+
+(define-public emacs-pgtk-org-present
+  (package-with-emacs-pgtk emacs-org-present))
+
 (define-public emacs-fullframe
   (package
     (name "emacs-fullframe")
@@ -36310,6 +47597,15 @@ (define-public emacs-fullframe
 buffer-exposing commands.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-fullframe
+  (package-with-emacs-minimal emacs-fullframe))
+
+(define-public emacs-next-fullframe
+  (package-with-emacs-next emacs-fullframe))
+
+(define-public emacs-pgtk-fullframe
+  (package-with-emacs-pgtk emacs-fullframe))
+
 (define-public emacs-eshell-toggle
   (let ((commit "ddfbe0a693497c4d4bc5494a19970ba4f6ab9033")
         (revision "1"))
@@ -36335,6 +47631,15 @@ (define-public emacs-eshell-toggle
 current buffer.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-eshell-toggle
+  (package-with-emacs-minimal emacs-eshell-toggle))
+
+(define-public emacs-next-eshell-toggle
+  (package-with-emacs-next emacs-eshell-toggle))
+
+(define-public emacs-pgtk-eshell-toggle
+  (package-with-emacs-pgtk emacs-eshell-toggle))
+
 (define-public emacs-repl-toggle
   (package
     (name "emacs-repl-toggle")
@@ -36358,6 +47663,15 @@ (define-public emacs-repl-toggle
 REPL appropriate to the current major mode.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-repl-toggle
+  (package-with-emacs-minimal emacs-repl-toggle))
+
+(define-public emacs-next-repl-toggle
+  (package-with-emacs-next emacs-repl-toggle))
+
+(define-public emacs-pgtk-repl-toggle
+  (package-with-emacs-pgtk emacs-repl-toggle))
+
 (define-public emacs-rime
   (package
     (name "emacs-rime")
@@ -36396,6 +47710,15 @@ (define-public emacs-rime
      "Rime is an Emacs input method built upon Rime input method engine.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-rime
+  (package-with-emacs-minimal emacs-rime))
+
+(define-public emacs-next-rime
+  (package-with-emacs-next emacs-rime))
+
+(define-public emacs-pgtk-rime
+  (package-with-emacs-pgtk emacs-rime))
+
 (define-public emacs-liberime
   (let ((commit "cc9eb9812fd6f68e78ed6a0c0a85da7a18765753")
         (revision "0"))
@@ -36436,6 +47759,15 @@ (define-public emacs-liberime
        "Liberime is an Emacs dynamic module provide librime bindings.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-liberime
+  (package-with-emacs-minimal emacs-liberime))
+
+(define-public emacs-next-liberime
+  (package-with-emacs-next emacs-liberime))
+
+(define-public emacs-pgtk-liberime
+  (package-with-emacs-pgtk emacs-liberime))
+
 (define-public emacs-bison-mode
   (package
     (name "emacs-bison-mode")
@@ -36456,6 +47788,15 @@ (define-public emacs-bison-mode
 Lex files.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-bison-mode
+  (package-with-emacs-minimal emacs-bison-mode))
+
+(define-public emacs-next-bison-mode
+  (package-with-emacs-next emacs-bison-mode))
+
+(define-public emacs-pgtk-bison-mode
+  (package-with-emacs-pgtk emacs-bison-mode))
+
 (define-public emacs-blackout
   (let ((commit "4bac44671fca4c98d96aa94c79946bf4d4baf0ee")
         (revision "1"))
@@ -36479,6 +47820,15 @@ (define-public emacs-blackout
 display of major and minor modes in the mode line.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-blackout
+  (package-with-emacs-minimal emacs-blackout))
+
+(define-public emacs-next-blackout
+  (package-with-emacs-next emacs-blackout))
+
+(define-public emacs-pgtk-blackout
+  (package-with-emacs-pgtk emacs-blackout))
+
 (define-public emacs-ivy-omni-org
   (let ((commit "5460a9fc061a4a5ae8372dc8df966ced94abab58")
         (revision "1"))
@@ -36504,6 +47854,15 @@ (define-public emacs-ivy-omni-org
       (home-page "https://github.com/akirak/ivy-omni-org")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ivy-omni-org
+  (package-with-emacs-minimal emacs-ivy-omni-org))
+
+(define-public emacs-next-ivy-omni-org
+  (package-with-emacs-next emacs-ivy-omni-org))
+
+(define-public emacs-pgtk-ivy-omni-org
+  (package-with-emacs-pgtk emacs-ivy-omni-org))
+
 (define-public emacs-ivy-posframe
   (package
     (name "emacs-ivy-posframe")
@@ -36525,6 +47884,15 @@ (define-public emacs-ivy-posframe
 posframe to show its candidate menu.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ivy-posframe
+  (package-with-emacs-minimal emacs-ivy-posframe))
+
+(define-public emacs-next-ivy-posframe
+  (package-with-emacs-next emacs-ivy-posframe))
+
+(define-public emacs-pgtk-ivy-posframe
+  (package-with-emacs-pgtk emacs-ivy-posframe))
+
 (define-public emacs-shackle
   (package
     (name "emacs-shackle")
@@ -36546,6 +47914,15 @@ (define-public emacs-shackle
     (home-page "https://depp.brause.cc/shackle")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-shackle
+  (package-with-emacs-minimal emacs-shackle))
+
+(define-public emacs-next-shackle
+  (package-with-emacs-next emacs-shackle))
+
+(define-public emacs-pgtk-shackle
+  (package-with-emacs-pgtk emacs-shackle))
+
 (define-public emacs-showtip
   (let ((commit "930da302809a4257e8d69425455b29e1cc91949b")
         (revision "0"))
@@ -36568,6 +47945,15 @@ (define-public emacs-showtip
        "This library provide one function to show tooltip near the cursor.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-showtip
+  (package-with-emacs-minimal emacs-showtip))
+
+(define-public emacs-next-showtip
+  (package-with-emacs-next emacs-showtip))
+
+(define-public emacs-pgtk-showtip
+  (package-with-emacs-pgtk emacs-showtip))
+
 (define-public emacs-sdcv
   ;; No tagged version upstream.
   (let ((commit "943ae3e90cc9a0a88a37cc710acd7424fd4defc4" )
@@ -36594,6 +47980,15 @@ (define-public emacs-sdcv
 translation using a tooltip or in a dedicated buffer.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-sdcv
+  (package-with-emacs-minimal emacs-sdcv))
+
+(define-public emacs-next-sdcv
+  (package-with-emacs-next emacs-sdcv))
+
+(define-public emacs-pgtk-sdcv
+  (package-with-emacs-pgtk emacs-sdcv))
+
 (define-public emacs-helm-lacarte
   (let ((commit "40a6c449720be521435b6b1da7911af3a0b9dca0")
         (revision "1"))
@@ -36620,6 +48015,15 @@ (define-public emacs-helm-lacarte
       (home-page "https://github.com/emacs-helm/helm-lacarte")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-helm-lacarte
+  (package-with-emacs-minimal emacs-helm-lacarte))
+
+(define-public emacs-next-helm-lacarte
+  (package-with-emacs-next emacs-helm-lacarte))
+
+(define-public emacs-pgtk-helm-lacarte
+  (package-with-emacs-pgtk emacs-helm-lacarte))
+
 (define-public emacs-esh-help
   (let ((commit "417673ed18a983930a66a6692dbfb288a995cb80")
         (revision "1"))
@@ -36645,6 +48049,15 @@ (define-public emacs-esh-help
       (home-page "https://github.com/tom-tan/esh-help")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-esh-help
+  (package-with-emacs-minimal emacs-esh-help))
+
+(define-public emacs-next-esh-help
+  (package-with-emacs-next emacs-esh-help))
+
+(define-public emacs-pgtk-esh-help
+  (package-with-emacs-pgtk emacs-esh-help))
+
 (define-public emacs-isearch-dabbrev
   (let ((commit "1efe7abba4923015cbc2462395deaec5446a9cc8")
         (revision "1"))
@@ -36668,6 +48081,15 @@ (define-public emacs-isearch-dabbrev
       (home-page "https://github.com/Dewdrops/isearch-dabbrev")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-isearch-dabbrev
+  (package-with-emacs-minimal emacs-isearch-dabbrev))
+
+(define-public emacs-next-isearch-dabbrev
+  (package-with-emacs-next emacs-isearch-dabbrev))
+
+(define-public emacs-pgtk-isearch-dabbrev
+  (package-with-emacs-pgtk emacs-isearch-dabbrev))
+
 (define-public emacs-helm-linux-disks
   (let ((commit "2cdc8116a08534289eb0dc76461d0f93a0bdf231")
         (revision "1"))
@@ -36693,6 +48115,15 @@ (define-public emacs-helm-linux-disks
       (home-page "https://github.com/Akirak/helm-linux-disks")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-helm-linux-disks
+  (package-with-emacs-minimal emacs-helm-linux-disks))
+
+(define-public emacs-next-helm-linux-disks
+  (package-with-emacs-next emacs-helm-linux-disks))
+
+(define-public emacs-pgtk-helm-linux-disks
+  (package-with-emacs-pgtk emacs-helm-linux-disks))
+
 (define-public emacs-debase
   (let ((commit "0b6fc2af3440d68798e3a85d4c889341aae07936")
         (revision "1"))
@@ -36716,6 +48147,15 @@ (define-public emacs-debase
 services inside Emacs.")
       (license (list license:gpl3+)))))
 
+(define-public emacs-minimal-debase
+  (package-with-emacs-minimal emacs-debase))
+
+(define-public emacs-next-debase
+  (package-with-emacs-next emacs-debase))
+
+(define-public emacs-pgtk-debase
+  (package-with-emacs-pgtk emacs-debase))
+
 (define-public emacs-discomfort
   (let ((commit "873eea833bbae7196b92bb1102494b8bf5dc5df6")
         (revision "1"))
@@ -36738,6 +48178,15 @@ (define-public emacs-discomfort
       (description "Discomfort is an interface to mount and unmount disks in Emacs, using UDisks2.")
       (license (list license:gpl3+)))))
 
+(define-public emacs-minimal-discomfort
+  (package-with-emacs-minimal emacs-discomfort))
+
+(define-public emacs-next-discomfort
+  (package-with-emacs-next emacs-discomfort))
+
+(define-public emacs-pgtk-discomfort
+  (package-with-emacs-pgtk emacs-discomfort))
+
 (define-public emacs-psession
   (let ((commit "3e97267c92b164584e06a6c70ee7491714c7c12c")
         (revision "1"))
@@ -36763,6 +48212,15 @@ (define-public emacs-psession
       (home-page "https://github.com/thierryvolpiatto/psession")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-psession
+  (package-with-emacs-minimal emacs-psession))
+
+(define-public emacs-next-psession
+  (package-with-emacs-next emacs-psession))
+
+(define-public emacs-pgtk-psession
+  (package-with-emacs-pgtk emacs-psession))
+
 (define-public emacs-parseedn
   (package
     (name "emacs-parseedn")
@@ -36786,6 +48244,15 @@ (define-public emacs-parseedn
 It uses parseclj's shift-reduce parser internally.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-parseedn
+  (package-with-emacs-minimal emacs-parseedn))
+
+(define-public emacs-next-parseedn
+  (package-with-emacs-next emacs-parseedn))
+
+(define-public emacs-pgtk-parseedn
+  (package-with-emacs-pgtk emacs-parseedn))
+
 (define-public emacs-parseclj
   (package
     (name "emacs-parseclj")
@@ -36809,6 +48276,15 @@ (define-public emacs-parseclj
 shift-reduce parser function.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-parseclj
+  (package-with-emacs-minimal emacs-parseclj))
+
+(define-public emacs-next-parseclj
+  (package-with-emacs-next emacs-parseclj))
+
+(define-public emacs-pgtk-parseclj
+  (package-with-emacs-pgtk emacs-parseclj))
+
 (define-public emacs-hide-mode-line
   ;; XXX: Commit below refers to the un-tagged latest release.
   (let ((commit "bc5d293576c5e08c29e694078b96a5ed85631942"))
@@ -36833,6 +48309,15 @@ (define-public emacs-hide-mode-line
 disable the mode-line in buffers where it is not very useful.")
       (license license:expat))))
 
+(define-public emacs-minimal-hide-mode-line
+  (package-with-emacs-minimal emacs-hide-mode-line))
+
+(define-public emacs-next-hide-mode-line
+  (package-with-emacs-next emacs-hide-mode-line))
+
+(define-public emacs-pgtk-hide-mode-line
+  (package-with-emacs-pgtk emacs-hide-mode-line))
+
 (define-public emacs-helm-cider
   (package
     (name "emacs-helm-cider")
@@ -36860,6 +48345,15 @@ (define-public emacs-helm-cider
 @command{helm-cider-cheatsheet}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-helm-cider
+  (package-with-emacs-minimal emacs-helm-cider))
+
+(define-public emacs-next-helm-cider
+  (package-with-emacs-next emacs-helm-cider))
+
+(define-public emacs-pgtk-helm-cider
+  (package-with-emacs-pgtk emacs-helm-cider))
+
 (define-public emacs-edn
   ;; No release since February 2016
   (let ((commit "be9e32d1b49e35247b263b0243df7cfdc8d413ab"))
@@ -36884,6 +48378,15 @@ (define-public emacs-edn
 data format @code{edn}.  See @url{https://github.com/edn-format/edn}.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-edn
+  (package-with-emacs-minimal emacs-edn))
+
+(define-public emacs-next-edn
+  (package-with-emacs-next emacs-edn))
+
+(define-public emacs-pgtk-edn
+  (package-with-emacs-pgtk emacs-edn))
+
 (define-public emacs-ednc
   (package
     (name "emacs-ednc")
@@ -36907,6 +48410,15 @@ (define-public emacs-ednc
 drop-in replacement of standalone daemons like Dunst.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ednc
+  (package-with-emacs-minimal emacs-ednc))
+
+(define-public emacs-next-ednc
+  (package-with-emacs-next emacs-ednc))
+
+(define-public emacs-pgtk-ednc
+  (package-with-emacs-pgtk emacs-ednc))
+
 (define-public emacs-helm-clojuredocs
   (let ((commit "5a7f0f2cb401be0b09e73262a1c18265ab9a3cea"))
     (package
@@ -36938,6 +48450,15 @@ (define-public emacs-helm-clojuredocs
 @end itemize\n")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-helm-clojuredocs
+  (package-with-emacs-minimal emacs-helm-clojuredocs))
+
+(define-public emacs-next-helm-clojuredocs
+  (package-with-emacs-next emacs-helm-clojuredocs))
+
+(define-public emacs-pgtk-helm-clojuredocs
+  (package-with-emacs-pgtk emacs-helm-clojuredocs))
+
 (define-public emacs-helm-selector
   (package
     (name "emacs-helm-selector")
@@ -36969,6 +48490,15 @@ (define-public emacs-helm-selector
 used for the creation of a new buffer of mode X.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-helm-selector
+  (package-with-emacs-minimal emacs-helm-selector))
+
+(define-public emacs-next-helm-selector
+  (package-with-emacs-next emacs-helm-selector))
+
+(define-public emacs-pgtk-helm-selector
+  (package-with-emacs-pgtk emacs-helm-selector))
+
 (define-public emacs-helm-wordnut
   (let ((commit "9681a9535a839cd5d042c302945ae595852fe7bf"))
     (package
@@ -37011,6 +48541,15 @@ (define-public emacs-helm-wordnut
 Wordnet.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-helm-wordnut
+  (package-with-emacs-minimal emacs-helm-wordnut))
+
+(define-public emacs-next-helm-wordnut
+  (package-with-emacs-next emacs-helm-wordnut))
+
+(define-public emacs-pgtk-helm-wordnut
+  (package-with-emacs-pgtk emacs-helm-wordnut))
+
 (define-public emacs-helm-xref
   (package
     (name "emacs-helm-xref")
@@ -37033,6 +48572,15 @@ (define-public emacs-helm-xref
 @code{xref} results.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-helm-xref
+  (package-with-emacs-minimal emacs-helm-xref))
+
+(define-public emacs-next-helm-xref
+  (package-with-emacs-next emacs-helm-xref))
+
+(define-public emacs-pgtk-helm-xref
+  (package-with-emacs-pgtk emacs-helm-xref))
+
 (define-public emacs-metal-mercury-mode
   (let ((commit "99e2d8fb7177cae3bfa2dec2910fc28216d5f5a8")
         (revision "1")
@@ -37060,6 +48608,15 @@ (define-public emacs-metal-mercury-mode
       (home-page "https://github.com/ahungry/metal-mercury-mode")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-metal-mercury-mode
+  (package-with-emacs-minimal emacs-metal-mercury-mode))
+
+(define-public emacs-next-metal-mercury-mode
+  (package-with-emacs-next emacs-metal-mercury-mode))
+
+(define-public emacs-pgtk-metal-mercury-mode
+  (package-with-emacs-pgtk emacs-metal-mercury-mode))
+
 (define-public emacs-boxquote
   (package
     (name "emacs-boxquote")
@@ -37082,6 +48639,15 @@ (define-public emacs-boxquote
 example code.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-boxquote
+  (package-with-emacs-minimal emacs-boxquote))
+
+(define-public emacs-next-boxquote
+  (package-with-emacs-next emacs-boxquote))
+
+(define-public emacs-pgtk-boxquote
+  (package-with-emacs-pgtk emacs-boxquote))
+
 (define-public emacs-buffer-env
   (package
     (name "emacs-buffer-env")
@@ -37103,6 +48669,15 @@ (define-public emacs-buffer-env
 basis.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-buffer-env
+  (package-with-emacs-minimal emacs-buffer-env))
+
+(define-public emacs-next-buffer-env
+  (package-with-emacs-next emacs-buffer-env))
+
+(define-public emacs-pgtk-buffer-env
+  (package-with-emacs-pgtk emacs-buffer-env))
+
 (define-public emacs-buffer-move
   (package
     (name "emacs-buffer-move")
@@ -37126,6 +48701,15 @@ (define-public emacs-buffer-move
 window.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-buffer-move
+  (package-with-emacs-minimal emacs-buffer-move))
+
+(define-public emacs-next-buffer-move
+  (package-with-emacs-next emacs-buffer-move))
+
+(define-public emacs-pgtk-buffer-move
+  (package-with-emacs-pgtk emacs-buffer-move))
+
 (define-public emacs-company-ebdb
   (package
     (name "emacs-company-ebdb")
@@ -37147,6 +48731,15 @@ (define-public emacs-company-ebdb
 by Jan Tatarik.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-company-ebdb
+  (package-with-emacs-minimal emacs-company-ebdb))
+
+(define-public emacs-next-company-ebdb
+  (package-with-emacs-next emacs-company-ebdb))
+
+(define-public emacs-pgtk-company-ebdb
+  (package-with-emacs-pgtk emacs-company-ebdb))
+
 (define-public emacs-mwim
   ;; Use the latest commit not in a release version as of yet, since it
   ;; contains a bug fix for the cases where `comment-start-skip' is nil.
@@ -37172,6 +48765,15 @@ (define-public emacs-mwim
 comment.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-mwim
+  (package-with-emacs-minimal emacs-mwim))
+
+(define-public emacs-next-mwim
+  (package-with-emacs-next emacs-mwim))
+
+(define-public emacs-pgtk-mwim
+  (package-with-emacs-pgtk emacs-mwim))
+
 (define-public emacs-delight
   (package
     (name "emacs-delight")
@@ -37190,6 +48792,15 @@ (define-public emacs-delight
 mode-line text (lighter) of major and minor modes.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-delight
+  (package-with-emacs-minimal emacs-delight))
+
+(define-public emacs-next-delight
+  (package-with-emacs-next emacs-delight))
+
+(define-public emacs-pgtk-delight
+  (package-with-emacs-pgtk emacs-delight))
+
 (define-public emacs-unkillable-scratch
   ;; Use the latest (unreleased) commit as of now, since it contains a handy
   ;; `unkillable-scratch-do-not-reset-scratch-buffer' customization to not
@@ -37215,6 +48826,15 @@ (define-public emacs-unkillable-scratch
 matching a given regexp.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-unkillable-scratch
+  (package-with-emacs-minimal emacs-unkillable-scratch))
+
+(define-public emacs-next-unkillable-scratch
+  (package-with-emacs-next emacs-unkillable-scratch))
+
+(define-public emacs-pgtk-unkillable-scratch
+  (package-with-emacs-pgtk emacs-unkillable-scratch))
+
 (define-public emacs-switch-buffer-functions
   (package
     (name "emacs-switch-buffer-functions")
@@ -37238,6 +48858,15 @@ (define-public emacs-switch-buffer-functions
 the current buffer.")
     (license license:unlicense)))
 
+(define-public emacs-minimal-switch-buffer-functions
+  (package-with-emacs-minimal emacs-switch-buffer-functions))
+
+(define-public emacs-next-switch-buffer-functions
+  (package-with-emacs-next emacs-switch-buffer-functions))
+
+(define-public emacs-pgtk-switch-buffer-functions
+  (package-with-emacs-pgtk emacs-switch-buffer-functions))
+
 (define-public emacs-erc-scrolltoplace
   (package
     (name "emacs-erc-scrolltoplace")
@@ -37260,6 +48889,15 @@ (define-public emacs-erc-scrolltoplace
 to emulate @code{scrolltobottom} while @code{keep-place} is enabled.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-erc-scrolltoplace
+  (package-with-emacs-minimal emacs-erc-scrolltoplace))
+
+(define-public emacs-next-erc-scrolltoplace
+  (package-with-emacs-next emacs-erc-scrolltoplace))
+
+(define-public emacs-pgtk-erc-scrolltoplace
+  (package-with-emacs-pgtk emacs-erc-scrolltoplace))
+
 (define-public emacs-dmenu
   ;; Use the latest commit, as there are no tagged releases.
   (let ((commit "e8cc9b27c79d3ecc252267c082ab8e9c82eab264")
@@ -37284,6 +48922,15 @@ (define-public emacs-dmenu
 @command{dmenu} program.  This is especially useful when using EXWM.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-dmenu
+  (package-with-emacs-minimal emacs-dmenu))
+
+(define-public emacs-next-dmenu
+  (package-with-emacs-next emacs-dmenu))
+
+(define-public emacs-pgtk-dmenu
+  (package-with-emacs-pgtk emacs-dmenu))
+
 (define-public emacs-no-littering
   (package
     (name "emacs-no-littering")
@@ -37310,6 +48957,15 @@ (define-public emacs-no-littering
 files and subdirectories when appropriate.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-no-littering
+  (package-with-emacs-minimal emacs-no-littering))
+
+(define-public emacs-next-no-littering
+  (package-with-emacs-next emacs-no-littering))
+
+(define-public emacs-pgtk-no-littering
+  (package-with-emacs-pgtk emacs-no-littering))
+
 (define-public emacs-meson-mode
   (package
     (name "emacs-meson-mode")
@@ -37332,6 +48988,15 @@ (define-public emacs-meson-mode
 cases where it breaks.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-meson-mode
+  (package-with-emacs-minimal emacs-meson-mode))
+
+(define-public emacs-next-meson-mode
+  (package-with-emacs-next emacs-meson-mode))
+
+(define-public emacs-pgtk-meson-mode
+  (package-with-emacs-pgtk emacs-meson-mode))
+
 (define-public emacs-message-x
   ;; Use the latest commit, as there are no tagged releases.
   (let ((commit "5524de7bbfdd8749c110f48de5afb024d9f83133")
@@ -37359,6 +49024,15 @@ (define-public emacs-message-x
 executes a different function (default: @code{indent-relative}).")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-message-x
+  (package-with-emacs-minimal emacs-message-x))
+
+(define-public emacs-next-message-x
+  (package-with-emacs-next emacs-message-x))
+
+(define-public emacs-pgtk-message-x
+  (package-with-emacs-pgtk emacs-message-x))
+
 (define-public emacs-glsl-mode
   ;; No tag, version grabbed from source .el file.
   (let ((commit "b07112016436d9634cd4ef747f9af6b01366d136")
@@ -37385,6 +49059,15 @@ (define-public emacs-glsl-mode
 fontifications.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-glsl-mode
+  (package-with-emacs-minimal emacs-glsl-mode))
+
+(define-public emacs-next-glsl-mode
+  (package-with-emacs-next emacs-glsl-mode))
+
+(define-public emacs-pgtk-glsl-mode
+  (package-with-emacs-pgtk emacs-glsl-mode))
+
 (define-public emacs-gnus-harvest
   (let ((commit "feda071a87b799bd5d23cacde3ee71f0b166e75d")
         (revision "0"))
@@ -37424,6 +49107,15 @@ (define-public emacs-gnus-harvest
 uses BBDB and Message-X.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-gnus-harvest
+  (package-with-emacs-minimal emacs-gnus-harvest))
+
+(define-public emacs-next-gnus-harvest
+  (package-with-emacs-next emacs-gnus-harvest))
+
+(define-public emacs-pgtk-gnus-harvest
+  (package-with-emacs-pgtk emacs-gnus-harvest))
+
 (define-public emacs-auto-dictionary-mode
   (package
     (name "emacs-auto-dictionary-mode")
@@ -37446,6 +49138,15 @@ (define-public emacs-auto-dictionary-mode
 detected language.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-auto-dictionary-mode
+  (package-with-emacs-minimal emacs-auto-dictionary-mode))
+
+(define-public emacs-next-auto-dictionary-mode
+  (package-with-emacs-next emacs-auto-dictionary-mode))
+
+(define-public emacs-pgtk-auto-dictionary-mode
+  (package-with-emacs-pgtk emacs-auto-dictionary-mode))
+
 (define-public emacs-persist
   (package
     (name "emacs-persist")
@@ -37467,6 +49168,15 @@ (define-public emacs-persist
 variables.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-persist
+  (package-with-emacs-minimal emacs-persist))
+
+(define-public emacs-next-persist
+  (package-with-emacs-next emacs-persist))
+
+(define-public emacs-pgtk-persist
+  (package-with-emacs-pgtk emacs-persist))
+
 (define-public emacs-persistent-scratch
   (package
     (name "emacs-persistent-scratch")
@@ -37488,6 +49198,15 @@ (define-public emacs-persistent-scratch
 state to and restoring it from a file, with auto-saving and backups.")
     (license license:bsd-2)))
 
+(define-public emacs-minimal-persistent-scratch
+  (package-with-emacs-minimal emacs-persistent-scratch))
+
+(define-public emacs-next-persistent-scratch
+  (package-with-emacs-next emacs-persistent-scratch))
+
+(define-public emacs-pgtk-persistent-scratch
+  (package-with-emacs-pgtk emacs-persistent-scratch))
+
 (define-public emacs-company-emoji
   (package
     (name "emacs-company-emoji")
@@ -37511,6 +49230,15 @@ (define-public emacs-company-emoji
 emoji.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-company-emoji
+  (package-with-emacs-minimal emacs-company-emoji))
+
+(define-public emacs-next-company-emoji
+  (package-with-emacs-next emacs-company-emoji))
+
+(define-public emacs-pgtk-company-emoji
+  (package-with-emacs-pgtk emacs-company-emoji))
+
 (define-public emacs-exiftool
   (package
     (name "emacs-exiftool")
@@ -37546,6 +49274,15 @@ (define-public emacs-exiftool
 EXIF, XMP and IPTC.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-exiftool
+  (package-with-emacs-minimal emacs-exiftool))
+
+(define-public emacs-next-exiftool
+  (package-with-emacs-next emacs-exiftool))
+
+(define-public emacs-pgtk-exiftool
+  (package-with-emacs-pgtk emacs-exiftool))
+
 (define-public emacs-password-generator
   (package
     (name "emacs-password-generator")
@@ -37568,6 +49305,15 @@ (define-public emacs-password-generator
 supports generation of phonetic and numeric passwords.")
     (license license:artistic2.0)))
 
+(define-public emacs-minimal-password-generator
+  (package-with-emacs-minimal emacs-password-generator))
+
+(define-public emacs-next-password-generator
+  (package-with-emacs-next emacs-password-generator))
+
+(define-public emacs-pgtk-password-generator
+  (package-with-emacs-pgtk emacs-password-generator))
+
 (define-public emacs-qrencode
   (package
     (name "emacs-qrencode")
@@ -37595,6 +49341,15 @@ (define-public emacs-qrencode
 text into a QR Code and show it in a separate buffer.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-qrencode
+  (package-with-emacs-minimal emacs-qrencode))
+
+(define-public emacs-next-qrencode
+  (package-with-emacs-next emacs-qrencode))
+
+(define-public emacs-pgtk-qrencode
+  (package-with-emacs-pgtk emacs-qrencode))
+
 (define-public emacs-csv
   (package
     (name "emacs-csv")
@@ -37619,6 +49374,15 @@ (define-public emacs-csv
 Files} (@url{http://tools.ietf.org/html/rfc4180}).")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-csv
+  (package-with-emacs-minimal emacs-csv))
+
+(define-public emacs-next-csv
+  (package-with-emacs-next emacs-csv))
+
+(define-public emacs-pgtk-csv
+  (package-with-emacs-pgtk emacs-csv))
+
 (define-public emacs-org-journal
   (package
     (name "emacs-org-journal")
@@ -37672,6 +49436,15 @@ (define-public emacs-org-journal
 All entries in a specified TODO state will be carried over to the next day.")
     (license license:bsd-3)))
 
+(define-public emacs-minimal-org-journal
+  (package-with-emacs-minimal emacs-org-journal))
+
+(define-public emacs-next-org-journal
+  (package-with-emacs-next emacs-org-journal))
+
+(define-public emacs-pgtk-org-journal
+  (package-with-emacs-pgtk emacs-org-journal))
+
 (define-public emacs-org-static-blog
   (package
     (name "emacs-org-static-blog")
@@ -37696,6 +49469,15 @@ (define-public emacs-org-static-blog
 a @samp{date} keywords, and optionally, a @samp{filetags} keyword.")
     (license license:bsd-3)))
 
+(define-public emacs-minimal-org-static-blog
+  (package-with-emacs-minimal emacs-org-static-blog))
+
+(define-public emacs-next-org-static-blog
+  (package-with-emacs-next emacs-org-static-blog))
+
+(define-public emacs-pgtk-org-static-blog
+  (package-with-emacs-pgtk emacs-org-static-blog))
+
 (define-public emacs-ddskk
   (let ((commit "8c47f46e38a29a0f3eabcd524268d20573102467")
         (revision "0"))
@@ -37773,6 +49555,15 @@ (define-public emacs-ddskk-nicola
 conversion program}, a Japanese input method on Emacs.  This package adds
 support for the Nicola keyboard layout to it.")))
 
+(define-public emacs-minimal-ddskk-nicola
+  (package-with-emacs-minimal emacs-ddskk-nicola))
+
+(define-public emacs-next-ddskk-nicola
+  (package-with-emacs-next emacs-ddskk-nicola))
+
+(define-public emacs-pgtk-ddskk-nicola
+  (package-with-emacs-pgtk emacs-ddskk-nicola))
+
 (define-public emacs-tamil99
   (package
     (name "emacs-tamil99")
@@ -37795,6 +49586,15 @@ (define-public emacs-tamil99
 your left hand, and consonants are input with your right hand.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-tamil99
+  (package-with-emacs-minimal emacs-tamil99))
+
+(define-public emacs-next-tamil99
+  (package-with-emacs-next emacs-tamil99))
+
+(define-public emacs-pgtk-tamil99
+  (package-with-emacs-pgtk emacs-tamil99))
+
 (define-public emacs-objed
   (package
     (name "emacs-objed")
@@ -37817,6 +49617,15 @@ (define-public emacs-objed
 conventions.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-objed
+  (package-with-emacs-minimal emacs-objed))
+
+(define-public emacs-next-objed
+  (package-with-emacs-next emacs-objed))
+
+(define-public emacs-pgtk-objed
+  (package-with-emacs-pgtk emacs-objed))
+
 (define-public emacs-haskell-snippets
   ;; The commit below is 7 commits ahead of release, and includes a build fix.
   ;; And also a fix in one snippet.
@@ -37855,6 +49664,15 @@ (define-public emacs-haskell-snippets
 snippets for Emacs.")
       (license license:expat))))
 
+(define-public emacs-minimal-haskell-snippets
+  (package-with-emacs-minimal emacs-haskell-snippets))
+
+(define-public emacs-next-haskell-snippets
+  (package-with-emacs-next emacs-haskell-snippets))
+
+(define-public emacs-pgtk-haskell-snippets
+  (package-with-emacs-pgtk emacs-haskell-snippets))
+
 (define-public emacs-orca
   ;; XXX: Upstream did not tag any commit so far.  Base version is extracted
   ;; from Version keyword.
@@ -37884,6 +49702,15 @@ (define-public emacs-orca
 go directly to where they belong.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-orca
+  (package-with-emacs-minimal emacs-orca))
+
+(define-public emacs-next-orca
+  (package-with-emacs-next emacs-orca))
+
+(define-public emacs-pgtk-orca
+  (package-with-emacs-pgtk emacs-orca))
+
 (define-public emacs-org-roam
   (let ((commit "74422df546a515bc984c2f3d3a681c09d6f43916")
         (revision "0"))
@@ -37948,6 +49775,15 @@ (define-public emacs-org-roam
 personal wiki.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-roam
+  (package-with-emacs-minimal emacs-org-roam))
+
+(define-public emacs-next-org-roam
+  (package-with-emacs-next emacs-org-roam))
+
+(define-public emacs-pgtk-org-roam
+  (package-with-emacs-pgtk emacs-org-roam))
+
 (define-public emacs-org-roam-bibtex
   (package
     (name "emacs-org-roam-bibtex")
@@ -37973,6 +49809,15 @@ (define-public emacs-org-roam-bibtex
 opening Org Ref's @code{cite:} links.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-roam-bibtex
+  (package-with-emacs-minimal emacs-org-roam-bibtex))
+
+(define-public emacs-next-org-roam-bibtex
+  (package-with-emacs-next emacs-org-roam-bibtex))
+
+(define-public emacs-pgtk-org-roam-bibtex
+  (package-with-emacs-pgtk emacs-org-roam-bibtex))
+
 (define-public emacs-org-generate
   (package
     (name "emacs-org-generate")
@@ -38004,6 +49849,15 @@ (define-public emacs-org-generate
 org-mode templates.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-generate
+  (package-with-emacs-minimal emacs-org-generate))
+
+(define-public emacs-next-org-generate
+  (package-with-emacs-next emacs-org-generate))
+
+(define-public emacs-pgtk-org-generate
+  (package-with-emacs-pgtk emacs-org-generate))
+
 (define-public emacs-org-glossary
   (let ((commit "1b9b7fd3d1e6c214c34463e568daaba6df00ec27")
         (revision "0"))
@@ -38043,6 +49897,15 @@ (define-public emacs-org-glossary
 across all Org export back-ends.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-org-glossary
+  (package-with-emacs-minimal emacs-org-glossary))
+
+(define-public emacs-next-org-glossary
+  (package-with-emacs-next emacs-org-glossary))
+
+(define-public emacs-pgtk-org-glossary
+  (package-with-emacs-pgtk emacs-org-glossary))
+
 (define-public emacs-uml-mode
   ;; Package has no release.  Version is extracted from "Version:" keyword in
   ;; main file.
@@ -38068,6 +49931,15 @@ (define-public emacs-uml-mode
 comments or emails.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-uml-mode
+  (package-with-emacs-minimal emacs-uml-mode))
+
+(define-public emacs-next-uml-mode
+  (package-with-emacs-next emacs-uml-mode))
+
+(define-public emacs-pgtk-uml-mode
+  (package-with-emacs-pgtk emacs-uml-mode))
+
 (define-public emacs-ukrainian-holidays
   ;; There is no proper release.
   ;; The base version is extracted from the source code.
@@ -38093,6 +49965,15 @@ (define-public emacs-ukrainian-holidays
        "This package provides Ukrainian holidays for Emacs calendar.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ukrainian-holidays
+  (package-with-emacs-minimal emacs-ukrainian-holidays))
+
+(define-public emacs-next-ukrainian-holidays
+  (package-with-emacs-next emacs-ukrainian-holidays))
+
+(define-public emacs-pgtk-ukrainian-holidays
+  (package-with-emacs-pgtk emacs-ukrainian-holidays))
+
 (define-public emacs-trashed
   (package
     (name "emacs-trashed")
@@ -38117,6 +49998,15 @@ (define-public emacs-trashed
 files.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-trashed
+  (package-with-emacs-minimal emacs-trashed))
+
+(define-public emacs-next-trashed
+  (package-with-emacs-next emacs-trashed))
+
+(define-public emacs-pgtk-trashed
+  (package-with-emacs-pgtk emacs-trashed))
+
 (define-public emacs-placeholder
   ;; No tags.
   (let ((commit "b80cb152ddd63db40cc581eafee9d2ac08328df8"))
@@ -38146,6 +50036,15 @@ (define-public emacs-placeholder
 restore that occurrence of the placeholder and move to the next.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-placeholder
+  (package-with-emacs-minimal emacs-placeholder))
+
+(define-public emacs-next-placeholder
+  (package-with-emacs-next emacs-placeholder))
+
+(define-public emacs-pgtk-placeholder
+  (package-with-emacs-pgtk emacs-placeholder))
+
 (define-public emacs-pddl-mode
   (package
     (name "emacs-pddl-mode")
@@ -38166,6 +50065,15 @@ (define-public emacs-pddl-mode
 PDDL files with syntax highlighting, templates, auto-completion, and more.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-pddl-mode
+  (package-with-emacs-minimal emacs-pddl-mode))
+
+(define-public emacs-next-pddl-mode
+  (package-with-emacs-next emacs-pddl-mode))
+
+(define-public emacs-pgtk-pddl-mode
+  (package-with-emacs-pgtk emacs-pddl-mode))
+
 (define-public emacs-plantuml-mode
   (package
     (name "emacs-plantuml-mode")
@@ -38214,6 +50122,15 @@ (define-public emacs-plantuml-mode
 or region and use of locally installed binaries.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-plantuml-mode
+  (package-with-emacs-minimal emacs-plantuml-mode))
+
+(define-public emacs-next-plantuml-mode
+  (package-with-emacs-next emacs-plantuml-mode))
+
+(define-public emacs-pgtk-plantuml-mode
+  (package-with-emacs-pgtk emacs-plantuml-mode))
+
 (define-public emacs-execline
   (package
     (name "emacs-execline")
@@ -38251,6 +50168,15 @@ (define-public emacs-execline
 @end itemize\n")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-execline
+  (package-with-emacs-minimal emacs-execline))
+
+(define-public emacs-next-execline
+  (package-with-emacs-next emacs-execline))
+
+(define-public emacs-pgtk-execline
+  (package-with-emacs-pgtk emacs-execline))
+
 (define-public emacs-pcmpl-args
   (package
     (name "emacs-pcmpl-args")
@@ -38273,6 +50199,15 @@ (define-public emacs-pcmpl-args
 rather excellent completion provided by both Bash and Zsh.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-pcmpl-args
+  (package-with-emacs-minimal emacs-pcmpl-args))
+
+(define-public emacs-next-pcmpl-args
+  (package-with-emacs-next emacs-pcmpl-args))
+
+(define-public emacs-pgtk-pcmpl-args
+  (package-with-emacs-pgtk emacs-pcmpl-args))
+
 (define-public emacs-shell-command+
   (package
     (name "emacs-shell-command+")
@@ -38296,6 +50231,15 @@ (define-public emacs-shell-command+
 the selected region with @code{| tr -d a-z}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-shell-command+
+  (package-with-emacs-minimal emacs-shell-command+))
+
+(define-public emacs-next-shell-command+
+  (package-with-emacs-next emacs-shell-command+))
+
+(define-public emacs-pgtk-shell-command+
+  (package-with-emacs-pgtk emacs-shell-command+))
+
 (define-public emacs-shell-pop
   (let ((commit "4b4394037940a890a313d715d203d9ead2d156a6")
         (revision "0"))
@@ -38321,6 +50265,15 @@ (define-public emacs-shell-pop
 you use some other configuration.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-shell-pop
+  (package-with-emacs-minimal emacs-shell-pop))
+
+(define-public emacs-next-shell-pop
+  (package-with-emacs-next emacs-shell-pop))
+
+(define-public emacs-pgtk-shell-pop
+  (package-with-emacs-pgtk emacs-shell-pop))
+
 (define-public emacs-shell-here
   (let ((commit "eeb437ff26d62a5009046b1b3b4503b768e3131a")
         (revision "1"))
@@ -38345,6 +50298,15 @@ (define-public emacs-shell-here
 project root.")
       (license (list license:gpl3+)))))
 
+(define-public emacs-minimal-shell-here
+  (package-with-emacs-minimal emacs-shell-here))
+
+(define-public emacs-next-shell-here
+  (package-with-emacs-next emacs-shell-here))
+
+(define-public emacs-pgtk-shell-here
+  (package-with-emacs-pgtk emacs-shell-here))
+
 (define-public emacs-hyperspace
   (let ((commit "f574d07fd8715e806ba4f0487b73c699963baed3")
         (revision "1"))
@@ -38372,6 +50334,15 @@ (define-public emacs-hyperspace
 often enough to justify a dedicated binding.")
       (license (list license:gpl3+)))))
 
+(define-public emacs-minimal-hyperspace
+  (package-with-emacs-minimal emacs-hyperspace))
+
+(define-public emacs-next-hyperspace
+  (package-with-emacs-next emacs-hyperspace))
+
+(define-public emacs-pgtk-hyperspace
+  (package-with-emacs-pgtk emacs-hyperspace))
+
 (define-public emacs-nssh
   (let ((commit "74d43738565749af680e4d1388e0c2f88e93498d")
         (revision "1"))
@@ -38395,6 +50366,15 @@ (define-public emacs-nssh
 hosts and supports auto-completion of known hosts.")
       (license (list license:gpl3+)))))
 
+(define-public emacs-minimal-nssh
+  (package-with-emacs-minimal emacs-nssh))
+
+(define-public emacs-next-nssh
+  (package-with-emacs-next emacs-nssh))
+
+(define-public emacs-pgtk-nssh
+  (package-with-emacs-pgtk emacs-nssh))
+
 (define-public emacs-tshell
   ;; XXX: Upstream has no tagged release.  Version is extracted from keyword
   ;; in main file.
@@ -38420,6 +50400,15 @@ (define-public emacs-tshell
 and Emacs lisp commands.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-tshell
+  (package-with-emacs-minimal emacs-tshell))
+
+(define-public emacs-next-tshell
+  (package-with-emacs-next emacs-tshell))
+
+(define-public emacs-pgtk-tshell
+  (package-with-emacs-pgtk emacs-tshell))
+
 (define-public emacs-extmap
   (package
     (name "emacs-extmap")
@@ -38441,6 +50430,15 @@ (define-public emacs-extmap
 arbitrary Emacs Lisp objects.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-extmap
+  (package-with-emacs-minimal emacs-extmap))
+
+(define-public emacs-next-extmap
+  (package-with-emacs-next emacs-extmap))
+
+(define-public emacs-pgtk-extmap
+  (package-with-emacs-pgtk emacs-extmap))
+
 (define-public emacs-csound-mode
   ;; XXX: Upstream did not tag last release.  Using the commit matching
   ;; version bump.
@@ -38477,6 +50475,15 @@ (define-public emacs-csound-mode
 sound-designing using CSound.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-csound-mode
+  (package-with-emacs-minimal emacs-csound-mode))
+
+(define-public emacs-next-csound-mode
+  (package-with-emacs-next emacs-csound-mode))
+
+(define-public emacs-pgtk-csound-mode
+  (package-with-emacs-pgtk emacs-csound-mode))
+
 (define-public emacs-multi
   (package
     (name "emacs-multi")
@@ -38501,6 +50508,15 @@ (define-public emacs-multi
 the expectations of each branch to define which one to invoke.")
     (license license:expat)))
 
+(define-public emacs-minimal-multi
+  (package-with-emacs-minimal emacs-multi))
+
+(define-public emacs-next-multi
+  (package-with-emacs-next emacs-multi))
+
+(define-public emacs-pgtk-multi
+  (package-with-emacs-pgtk emacs-multi))
+
 (define-public emacs-highlight
   (let ((commit "24366dfd5062a6902a13a03d724fc099db3121b8")
         (revision "2"))
@@ -38526,6 +50542,15 @@ (define-public emacs-highlight
 picked up when copy-pasting text from buffer to buffer.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-highlight
+  (package-with-emacs-minimal emacs-highlight))
+
+(define-public emacs-next-highlight
+  (package-with-emacs-next emacs-highlight))
+
+(define-public emacs-pgtk-highlight
+  (package-with-emacs-pgtk emacs-highlight))
+
 (define-public emacs-org-webring
   (package
     (name "emacs-org-webring")
@@ -38564,6 +50589,15 @@ (define-public emacs-org-webring
 displayed for sharing.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-org-webring
+  (package-with-emacs-minimal emacs-org-webring))
+
+(define-public emacs-next-org-webring
+  (package-with-emacs-next emacs-org-webring))
+
+(define-public emacs-pgtk-org-webring
+  (package-with-emacs-pgtk emacs-org-webring))
+
 (define-public emacs-orglink
   (package
     (name "emacs-orglink")
@@ -38586,6 +50620,15 @@ (define-public emacs-orglink
 in other major modes.  Links can be opened and edited like in Org mode.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-orglink
+  (package-with-emacs-minimal emacs-orglink))
+
+(define-public emacs-next-orglink
+  (package-with-emacs-next emacs-orglink))
+
+(define-public emacs-pgtk-orglink
+  (package-with-emacs-pgtk emacs-orglink))
+
 (define-public emacs-scpaste
   (package
     (name "emacs-scpaste")
@@ -38612,6 +50655,15 @@ (define-public emacs-scpaste
 publicly-accessible HTTP server.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-scpaste
+  (package-with-emacs-minimal emacs-scpaste))
+
+(define-public emacs-next-scpaste
+  (package-with-emacs-next emacs-scpaste))
+
+(define-public emacs-pgtk-scpaste
+  (package-with-emacs-pgtk emacs-scpaste))
+
 (define-public emacs-company-reftex
   (package
     (name "emacs-company-reftex")
@@ -38636,6 +50688,15 @@ (define-public emacs-company-reftex
 included with Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-company-reftex
+  (package-with-emacs-minimal emacs-company-reftex))
+
+(define-public emacs-next-company-reftex
+  (package-with-emacs-next emacs-company-reftex))
+
+(define-public emacs-pgtk-company-reftex
+  (package-with-emacs-pgtk emacs-company-reftex))
+
 (define-public emacs-company-org-block
   (let ((commit "115af0a3625f4669358eca568466d468cacc78bd")
         (revision "1"))
@@ -38660,6 +50721,15 @@ (define-public emacs-company-org-block
        "Insert Emacs Org blocks with completion via @code{company} mode.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-company-org-block
+  (package-with-emacs-minimal emacs-company-org-block))
+
+(define-public emacs-next-company-org-block
+  (package-with-emacs-next emacs-company-org-block))
+
+(define-public emacs-pgtk-company-org-block
+  (package-with-emacs-pgtk emacs-company-org-block))
+
 (define-public emacs-html-to-hiccup
   ;; Package has no release.  Version is extracted from "Version:" keyword in
   ;; main file.
@@ -38691,6 +50761,15 @@ (define-public emacs-html-to-hiccup
       ;; that it is licensed under the GPL version 3 or later.
       (license (list license:mpl2.0 license:gpl3+)))))
 
+(define-public emacs-minimal-html-to-hiccup
+  (package-with-emacs-minimal emacs-html-to-hiccup))
+
+(define-public emacs-next-html-to-hiccup
+  (package-with-emacs-next emacs-html-to-hiccup))
+
+(define-public emacs-pgtk-html-to-hiccup
+  (package-with-emacs-pgtk emacs-html-to-hiccup))
+
 (define-public emacs-iter2
   (package
     (name "emacs-iter2")
@@ -38715,6 +50794,15 @@ (define-public emacs-iter2
 original package.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-iter2
+  (package-with-emacs-minimal emacs-iter2))
+
+(define-public emacs-next-iter2
+  (package-with-emacs-next emacs-iter2))
+
+(define-public emacs-pgtk-iter2
+  (package-with-emacs-pgtk emacs-iter2))
+
 (define-public emacs-bind-map
   (let ((commit "510a24138d8de3b8df0783f1ac493a551fc9bd74")
         (revision "0"))
@@ -38741,6 +50829,15 @@ (define-public emacs-bind-map
 and allows for an arbitrary number of leader keys.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-bind-map
+  (package-with-emacs-minimal emacs-bind-map))
+
+(define-public emacs-next-bind-map
+  (package-with-emacs-next emacs-bind-map))
+
+(define-public emacs-pgtk-bind-map
+  (package-with-emacs-pgtk emacs-bind-map))
+
 (define-public emacs-spaceleader
   (let ((commit "5d88d120494623d6777d464ec40ff4bb7d6b1d57")
         (revision "1"))
@@ -38771,6 +50868,15 @@ (define-public emacs-spaceleader
 provides an easy way to bind keys under a configurable prefix key.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-spaceleader
+  (package-with-emacs-minimal emacs-spaceleader))
+
+(define-public emacs-next-spaceleader
+  (package-with-emacs-next emacs-spaceleader))
+
+(define-public emacs-pgtk-spaceleader
+  (package-with-emacs-pgtk emacs-spaceleader))
+
 (define-public emacs-spamfilter-el
   (package
     (name "emacs-spamfilter-el")
@@ -38815,6 +50921,15 @@ (define-public emacs-spamfilter-el
 @end itemize\n")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-spamfilter-el
+  (package-with-emacs-minimal emacs-spamfilter-el))
+
+(define-public emacs-next-spamfilter-el
+  (package-with-emacs-next emacs-spamfilter-el))
+
+(define-public emacs-pgtk-spamfilter-el
+  (package-with-emacs-pgtk emacs-spamfilter-el))
+
 (define-public emacs-promise
   ;; XXX: Last stable release fails to build with "(wrong-number-of-arguments
   ;; (3 . 4) 2)" error.
@@ -38846,6 +50961,15 @@ (define-public emacs-promise
 and rejection tracking.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-promise
+  (package-with-emacs-minimal emacs-promise))
+
+(define-public emacs-next-promise
+  (package-with-emacs-next emacs-promise))
+
+(define-public emacs-pgtk-promise
+  (package-with-emacs-pgtk emacs-promise))
+
 (define-public emacs-async-await
   (package
     (name "emacs-async-await")
@@ -38868,6 +50992,15 @@ (define-public emacs-async-await
 the TypeScript implementation.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-async-await
+  (package-with-emacs-minimal emacs-async-await))
+
+(define-public emacs-next-async-await
+  (package-with-emacs-next emacs-async-await))
+
+(define-public emacs-pgtk-async-await
+  (package-with-emacs-pgtk emacs-async-await))
+
 (define-public emacs-rocket-chat
   ;; No release.
   (let ((commit "96fe27a8678de5ae4061f635108a7192eee13f98"))
@@ -38892,6 +51025,15 @@ (define-public emacs-rocket-chat
 service.")
       (license license:expat))))
 
+(define-public emacs-minimal-rocket-chat
+  (package-with-emacs-minimal emacs-rocket-chat))
+
+(define-public emacs-next-rocket-chat
+  (package-with-emacs-next emacs-rocket-chat))
+
+(define-public emacs-pgtk-rocket-chat
+  (package-with-emacs-pgtk emacs-rocket-chat))
+
 (define-public emacs-lojban
   (let ((commit "d80bccd72cd46a3a6eeb57b765ec54081da55431")) ;initial commit
     (package
@@ -38918,6 +51060,15 @@ (define-public emacs-lojban
 interactive commands for handling Lojban text.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-lojban
+  (package-with-emacs-minimal emacs-lojban))
+
+(define-public emacs-next-lojban
+  (package-with-emacs-next emacs-lojban))
+
+(define-public emacs-pgtk-lojban
+  (package-with-emacs-pgtk emacs-lojban))
+
 (define-public emacs-xonsh-mode
   ;; There is no tagged release yet.
   (let ((commit "7fa581524533a9b6b770426e4445e571a69e469d")
@@ -38944,6 +51095,15 @@ (define-public emacs-xonsh-mode
 mode.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-xonsh-mode
+  (package-with-emacs-minimal emacs-xonsh-mode))
+
+(define-public emacs-next-xonsh-mode
+  (package-with-emacs-next emacs-xonsh-mode))
+
+(define-public emacs-pgtk-xonsh-mode
+  (package-with-emacs-pgtk emacs-xonsh-mode))
+
 (define-public emacs-monokai-theme
   (package
     (name "emacs-monokai-theme")
@@ -38965,6 +51125,15 @@ (define-public emacs-monokai-theme
 Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-monokai-theme
+  (package-with-emacs-minimal emacs-monokai-theme))
+
+(define-public emacs-next-monokai-theme
+  (package-with-emacs-next emacs-monokai-theme))
+
+(define-public emacs-pgtk-monokai-theme
+  (package-with-emacs-pgtk emacs-monokai-theme))
+
 (define-public emacs-nord-theme
   (package
     (name "emacs-nord-theme")
@@ -38987,6 +51156,15 @@ (define-public emacs-nord-theme
 syntax highlighting and UI components.")
     (license license:expat)))
 
+(define-public emacs-minimal-nord-theme
+  (package-with-emacs-minimal emacs-nord-theme))
+
+(define-public emacs-next-nord-theme
+  (package-with-emacs-next emacs-nord-theme))
+
+(define-public emacs-pgtk-nord-theme
+  (package-with-emacs-pgtk emacs-nord-theme))
+
 (define-public emacs-weyland-yutani-theme
   (let ((commit "e89a63a62e071180c9cdd9067679fadc3f7bf796")
         (revision "0"))
@@ -39010,6 +51188,15 @@ (define-public emacs-weyland-yutani-theme
 franchise.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-weyland-yutani-theme
+  (package-with-emacs-minimal emacs-weyland-yutani-theme))
+
+(define-public emacs-next-weyland-yutani-theme
+  (package-with-emacs-next emacs-weyland-yutani-theme))
+
+(define-public emacs-pgtk-weyland-yutani-theme
+  (package-with-emacs-pgtk emacs-weyland-yutani-theme))
+
 (define-public emacs-janet-mode
   (let ((commit "2f5bcabcb6953e1ed1926ba6a2328c453e8b4ac7"))
     (package
@@ -39031,6 +51218,15 @@ (define-public emacs-janet-mode
        "This package provides an Emacs major mode for editing Janet files.")
       (license license:gpl3))))
 
+(define-public emacs-minimal-janet-mode
+  (package-with-emacs-minimal emacs-janet-mode))
+
+(define-public emacs-next-janet-mode
+  (package-with-emacs-next emacs-janet-mode))
+
+(define-public emacs-pgtk-janet-mode
+  (package-with-emacs-pgtk emacs-janet-mode))
+
 (define-public emacs-inf-janet
   (let ((commit "df46651d3aad32593b2195c80ca91fb64d571fb7"))
     (package
@@ -39063,6 +51259,15 @@ (define-public emacs-inf-janet
 s-expression.")
       (license license:expat))))
 
+(define-public emacs-minimal-inf-janet
+  (package-with-emacs-minimal emacs-inf-janet))
+
+(define-public emacs-next-inf-janet
+  (package-with-emacs-next emacs-inf-janet))
+
+(define-public emacs-pgtk-inf-janet
+  (package-with-emacs-pgtk emacs-inf-janet))
+
 (define-public emacs-map
   (package
     (name "emacs-map")
@@ -39083,6 +51288,15 @@ (define-public emacs-map
 @code{map-}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-map
+  (package-with-emacs-minimal emacs-map))
+
+(define-public emacs-next-map
+  (package-with-emacs-next emacs-map))
+
+(define-public emacs-pgtk-map
+  (package-with-emacs-pgtk emacs-map))
+
 (define-public emacs-xref
   (package
     (name "emacs-xref")
@@ -39102,6 +51316,15 @@ (define-public emacs-xref
 commands, in particular @code{find-definition}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-xref
+  (package-with-emacs-minimal emacs-xref))
+
+(define-public emacs-next-xref
+  (package-with-emacs-next emacs-xref))
+
+(define-public emacs-pgtk-xref
+  (package-with-emacs-pgtk emacs-xref))
+
 (define-public emacs-xref-union
   (package
     (name "emacs-xref-union")
@@ -39122,6 +51345,15 @@ (define-public emacs-xref-union
 (e.g., Etags and Eglot) and have the results all at once.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-xref-union
+  (package-with-emacs-minimal emacs-xref-union))
+
+(define-public emacs-next-xref-union
+  (package-with-emacs-next emacs-xref-union))
+
+(define-public emacs-pgtk-xref-union
+  (package-with-emacs-pgtk emacs-xref-union))
+
 (define-public emacs-burly
   (package
     (name "emacs-burly")
@@ -39147,6 +51379,15 @@ (define-public emacs-burly
 windows' layout, and their buffers.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-burly
+  (package-with-emacs-minimal emacs-burly))
+
+(define-public emacs-next-burly
+  (package-with-emacs-next emacs-burly))
+
+(define-public emacs-pgtk-burly
+  (package-with-emacs-pgtk emacs-burly))
+
 (define-public emacs-smart-hungry-delete
   (let ((commit "7c1d56a92481594e14d40b5fdf6c48657a0108a0"))
     (package
@@ -39170,6 +51411,15 @@ (define-public emacs-smart-hungry-delete
 rules about where space should be left to separate words and parentheses.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-smart-hungry-delete
+  (package-with-emacs-minimal emacs-smart-hungry-delete))
+
+(define-public emacs-next-smart-hungry-delete
+  (package-with-emacs-next emacs-smart-hungry-delete))
+
+(define-public emacs-pgtk-smart-hungry-delete
+  (package-with-emacs-pgtk emacs-smart-hungry-delete))
+
 (define-public emacs-seriestracker
   (package
     (name "emacs-seriestracker")
@@ -39196,6 +51446,15 @@ (define-public emacs-seriestracker
 released, and track their progress in watching a series.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-seriestracker
+  (package-with-emacs-minimal emacs-seriestracker))
+
+(define-public emacs-next-seriestracker
+  (package-with-emacs-next emacs-seriestracker))
+
+(define-public emacs-pgtk-seriestracker
+  (package-with-emacs-pgtk emacs-seriestracker))
+
 (define-public emacs-webpaste
   (let ((commit "8ac7b2d409f158bcaa853aa1c5763e8acf2857bb")
         (revision "1"))
@@ -39242,6 +51501,15 @@ (define-public emacs-webpaste
 and preferred services can easily be configured.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-webpaste
+  (package-with-emacs-minimal emacs-webpaste))
+
+(define-public emacs-next-webpaste
+  (package-with-emacs-next emacs-webpaste))
+
+(define-public emacs-pgtk-webpaste
+  (package-with-emacs-pgtk emacs-webpaste))
+
 (define-public emacs-keystore-mode
   (let ((release "0.0.1")
         (revision "0")
@@ -39275,6 +51543,15 @@ (define-public emacs-keystore-mode
 @command{keytool} command and major mode for viewing Java keystores.")
       (license license:expat))))
 
+(define-public emacs-minimal-keystore-mode
+  (package-with-emacs-minimal emacs-keystore-mode))
+
+(define-public emacs-next-keystore-mode
+  (package-with-emacs-next emacs-keystore-mode))
+
+(define-public emacs-pgtk-keystore-mode
+  (package-with-emacs-pgtk emacs-keystore-mode))
+
 (define-public emacs-ivy-avy
   (package
     (name "emacs-ivy-avy")
@@ -39296,6 +51573,15 @@ (define-public emacs-ivy-avy
      "This package adds a \"C-'\" binding to Ivy minibuffer that uses Avy.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ivy-avy
+  (package-with-emacs-minimal emacs-ivy-avy))
+
+(define-public emacs-next-ivy-avy
+  (package-with-emacs-next emacs-ivy-avy))
+
+(define-public emacs-pgtk-ivy-avy
+  (package-with-emacs-pgtk emacs-ivy-avy))
+
 (define-public emacs-vertico
   (package
     (name "emacs-vertico")
@@ -39346,6 +51632,15 @@ (define-public emacs-vertico
 complementary packages.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-vertico
+  (package-with-emacs-minimal emacs-vertico))
+
+(define-public emacs-next-vertico
+  (package-with-emacs-next emacs-vertico))
+
+(define-public emacs-pgtk-vertico
+  (package-with-emacs-pgtk emacs-vertico))
+
 (define-public emacs-wisp-mode
   (package
     (name "emacs-wisp-mode")
@@ -39367,6 +51662,15 @@ (define-public emacs-wisp-mode
 files, providing syntax highlighting and indentation rules.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-wisp-mode
+  (package-with-emacs-minimal emacs-wisp-mode))
+
+(define-public emacs-next-wisp-mode
+  (package-with-emacs-next emacs-wisp-mode))
+
+(define-public emacs-pgtk-wisp-mode
+  (package-with-emacs-pgtk emacs-wisp-mode))
+
 (define-public emacs-ivy-hydra
   (package
     (name "emacs-ivy-hydra")
@@ -39390,6 +51694,15 @@ (define-public emacs-ivy-hydra
 shorter than usual, using mostly unprefixed keys.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-ivy-hydra
+  (package-with-emacs-minimal emacs-ivy-hydra))
+
+(define-public emacs-next-ivy-hydra
+  (package-with-emacs-next emacs-ivy-hydra))
+
+(define-public emacs-pgtk-ivy-hydra
+  (package-with-emacs-pgtk emacs-ivy-hydra))
+
 (define-public emacs-cwl-mode
   (package
     (name "emacs-cwl-mode")
@@ -39413,6 +51726,15 @@ (define-public emacs-cwl-mode
 @acronym{CWL, Common Workflow Language} files.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-cwl-mode
+  (package-with-emacs-minimal emacs-cwl-mode))
+
+(define-public emacs-next-cwl-mode
+  (package-with-emacs-next emacs-cwl-mode))
+
+(define-public emacs-pgtk-cwl-mode
+  (package-with-emacs-pgtk emacs-cwl-mode))
+
 (define-public emacs-dictionary
   (package
     (name "emacs-dictionary")
@@ -39434,6 +51756,15 @@ (define-public emacs-dictionary
 dict.org) from within Emacs.")
     (license license:gpl2+)))
 
+(define-public emacs-minimal-dictionary
+  (package-with-emacs-minimal emacs-dictionary))
+
+(define-public emacs-next-dictionary
+  (package-with-emacs-next emacs-dictionary))
+
+(define-public emacs-pgtk-dictionary
+  (package-with-emacs-pgtk emacs-dictionary))
+
 (define-public emacs-multitran
   (package
     (name "emacs-multitran")
@@ -39454,6 +51785,15 @@ (define-public emacs-multitran
 to the @url{https://multitran.com} online dictionary.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-multitran
+  (package-with-emacs-minimal emacs-multitran))
+
+(define-public emacs-next-multitran
+  (package-with-emacs-next emacs-multitran))
+
+(define-public emacs-pgtk-multitran
+  (package-with-emacs-pgtk emacs-multitran))
+
 (define-public emacs-lexic
   (let ((commit "f9b3de4d9c2dd1ce5022383e1a504b87bf7d1b09")
         (revision "0"))
@@ -39488,6 +51828,15 @@ (define-public emacs-lexic
 future.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-lexic
+  (package-with-emacs-minimal emacs-lexic))
+
+(define-public emacs-next-lexic
+  (package-with-emacs-next emacs-lexic))
+
+(define-public emacs-pgtk-lexic
+  (package-with-emacs-pgtk emacs-lexic))
+
 (define-public emacs-blacken
   (package
     (name "emacs-blacken")
@@ -39521,6 +51870,15 @@ (define-public emacs-blacken
 @command{python} buffers.")
     (license license:gpl3)))
 
+(define-public emacs-minimal-blacken
+  (package-with-emacs-minimal emacs-blacken))
+
+(define-public emacs-next-blacken
+  (package-with-emacs-next emacs-blacken))
+
+(define-public emacs-pgtk-blacken
+  (package-with-emacs-pgtk emacs-blacken))
+
 (define-public emacs-code-cells
   ;; XXX: Upstream does not tag releases.  The commit below matches version
   ;; bump.
@@ -39545,6 +51903,15 @@ (define-public emacs-code-cells
 execute code split into cells according to certain magic comments.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-code-cells
+  (package-with-emacs-minimal emacs-code-cells))
+
+(define-public emacs-next-code-cells
+  (package-with-emacs-next emacs-code-cells))
+
+(define-public emacs-pgtk-code-cells
+  (package-with-emacs-pgtk emacs-code-cells))
+
 (define-public emacs-ein
   ;; XXX: Upstream doesn't make any release, and didn't set any version.
   (let ((commit "998ba22660be2035cd23bed1555e47748c4da8a2"))
@@ -39599,6 +51966,15 @@ (define-public emacs-ein
 general in Emacs.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ein
+  (package-with-emacs-minimal emacs-ein))
+
+(define-public emacs-next-ein
+  (package-with-emacs-next emacs-ein))
+
+(define-public emacs-pgtk-ein
+  (package-with-emacs-pgtk emacs-ein))
+
 (define-public emacs-kibit-helper
   (package
     (name "emacs-kibit-helper")
@@ -39622,6 +51998,15 @@ (define-public emacs-kibit-helper
 for detecting and improve non-idiomatic Clojure source code.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-kibit-helper
+  (package-with-emacs-minimal emacs-kibit-helper))
+
+(define-public emacs-next-kibit-helper
+  (package-with-emacs-next emacs-kibit-helper))
+
+(define-public emacs-pgtk-kibit-helper
+  (package-with-emacs-pgtk emacs-kibit-helper))
+
 (define-public emacs-mint-mode
   (package
     (name "emacs-mint-mode")
@@ -39641,6 +52026,15 @@ (define-public emacs-mint-mode
     (description "Mint mode provides syntax highlighting for Mint language.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-mint-mode
+  (package-with-emacs-minimal emacs-mint-mode))
+
+(define-public emacs-next-mint-mode
+  (package-with-emacs-next emacs-mint-mode))
+
+(define-public emacs-pgtk-mint-mode
+  (package-with-emacs-pgtk emacs-mint-mode))
+
 (define-public emacs-seeing-is-believing
   (let ((version "1.2.0") ; from .el file
         (commit "fbbe246c0fda87bb26227bb826eebadb418a220f")
@@ -39669,6 +52063,15 @@ (define-public emacs-seeing-is-believing
 current region or entire buffer.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-seeing-is-believing
+  (package-with-emacs-minimal emacs-seeing-is-believing))
+
+(define-public emacs-next-seeing-is-believing
+  (package-with-emacs-next emacs-seeing-is-believing))
+
+(define-public emacs-pgtk-seeing-is-believing
+  (package-with-emacs-pgtk emacs-seeing-is-believing))
+
 (define-public emacs-discover
   (package
     (name "emacs-discover")
@@ -39692,6 +52095,15 @@ (define-public emacs-discover
      "Discover adds context menus to commonly-used features in Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-discover
+  (package-with-emacs-minimal emacs-discover))
+
+(define-public emacs-next-discover
+  (package-with-emacs-next emacs-discover))
+
+(define-public emacs-pgtk-discover
+  (package-with-emacs-pgtk emacs-discover))
+
 (define-public emacs-nasm-mode
   (package
     (name "emacs-nasm-mode")
@@ -39715,6 +52127,15 @@ (define-public emacs-nasm-mode
 Unlike Emacs' generic ASM mode, it understands NASM-specific syntax.")
     (license license:unlicense)))
 
+(define-public emacs-minimal-nasm-mode
+  (package-with-emacs-minimal emacs-nasm-mode))
+
+(define-public emacs-next-nasm-mode
+  (package-with-emacs-next emacs-nasm-mode))
+
+(define-public emacs-pgtk-nasm-mode
+  (package-with-emacs-pgtk emacs-nasm-mode))
+
 (define-public emacs-riscv-mode
   (let ((commit "8e335b9c93de93ed8dd063d702b0f5ad48eef6d7")
         (revision "1"))
@@ -39749,6 +52170,15 @@ (define-public emacs-riscv-mode
 with spike.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-riscv-mode
+  (package-with-emacs-minimal emacs-riscv-mode))
+
+(define-public emacs-next-riscv-mode
+  (package-with-emacs-next emacs-riscv-mode))
+
+(define-public emacs-pgtk-riscv-mode
+  (package-with-emacs-pgtk emacs-riscv-mode))
+
 (define-public emacs-validate-html
   ;; XXX: Upstream did not tag commits yet.  However, commit below matches the
   ;; last version bump.  Version is extracted from the keyword in main file.
@@ -39775,6 +52205,15 @@ (define-public emacs-validate-html
 Validator service and displays the results in a buffer in Compilation mode.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-validate-html
+  (package-with-emacs-minimal emacs-validate-html))
+
+(define-public emacs-next-validate-html
+  (package-with-emacs-next emacs-validate-html))
+
+(define-public emacs-pgtk-validate-html
+  (package-with-emacs-pgtk emacs-validate-html))
+
 (define-public emacs-volatile-highlights
   ;; XXX: Upstream does not tag releases.  Commit below matches version bump.
   (let ((commit "9a20091f0ce7fc0a6b3e641a6a46d5f3ac4d8392"))
@@ -39799,6 +52238,15 @@ (define-public emacs-volatile-highlights
 executed.")
     (license license:gpl3+))))
 
+(define-public emacs-minimal-volatile-highlights
+  (package-with-emacs-minimal emacs-volatile-highlights))
+
+(define-public emacs-next-volatile-highlights
+  (package-with-emacs-next emacs-volatile-highlights))
+
+(define-public emacs-pgtk-volatile-highlights
+  (package-with-emacs-pgtk emacs-volatile-highlights))
+
 (define-public emacs-global-tags
   (let ((commit "06db25d91cc8bfb5e24e02adc04de1226c7e742d")
         (revision "0"))
@@ -39824,6 +52272,15 @@ (define-public emacs-global-tags
 project.el and xref.el.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-global-tags
+  (package-with-emacs-minimal emacs-global-tags))
+
+(define-public emacs-next-global-tags
+  (package-with-emacs-next emacs-global-tags))
+
+(define-public emacs-pgtk-global-tags
+  (package-with-emacs-pgtk emacs-global-tags))
+
 (define-public emacs-citre
   (package
     (name "emacs-citre")
@@ -39871,6 +52328,15 @@ (define-public emacs-citre
 buffer.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-citre
+  (package-with-emacs-minimal emacs-citre))
+
+(define-public emacs-next-citre
+  (package-with-emacs-next emacs-citre))
+
+(define-public emacs-pgtk-citre
+  (package-with-emacs-pgtk emacs-citre))
+
 (define-public emacs-seq
   (package
     (name "emacs-seq")
@@ -39890,6 +52356,15 @@ (define-public emacs-seq
 are prefixed with @code{seq-} and work on lists, strings, and vectors.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-seq
+  (package-with-emacs-minimal emacs-seq))
+
+(define-public emacs-next-seq
+  (package-with-emacs-next emacs-seq))
+
+(define-public emacs-pgtk-seq
+  (package-with-emacs-pgtk emacs-seq))
+
 (define-public emacs-setup
   (package
     (name "emacs-setup")
@@ -39913,6 +52388,15 @@ (define-public emacs-setup
 local macros are documented in the docstring for @code{setup}.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-setup
+  (package-with-emacs-minimal emacs-setup))
+
+(define-public emacs-next-setup
+  (package-with-emacs-next emacs-setup))
+
+(define-public emacs-pgtk-setup
+  (package-with-emacs-pgtk emacs-setup))
+
 (define-public emacs-tomelr
   (package
     (name "emacs-tomelr")
@@ -39935,6 +52419,15 @@ (define-public emacs-tomelr
 data expression in Alist or Plist format to a TOML string.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-tomelr
+  (package-with-emacs-minimal emacs-tomelr))
+
+(define-public emacs-next-tomelr
+  (package-with-emacs-next emacs-tomelr))
+
+(define-public emacs-pgtk-tomelr
+  (package-with-emacs-pgtk emacs-tomelr))
+
 (define-public emacs-ed-mode
   ;; XXX: Upstream did not tag any commits yet.
   (let ((commit "69f4fb34eca8df6a3bfe24bd8d8075551f0264ac")
@@ -39960,6 +52453,15 @@ (define-public emacs-ed-mode
 with the ed editor.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-ed-mode
+  (package-with-emacs-minimal emacs-ed-mode))
+
+(define-public emacs-next-ed-mode
+  (package-with-emacs-next emacs-ed-mode))
+
+(define-public emacs-pgtk-ed-mode
+  (package-with-emacs-pgtk emacs-ed-mode))
+
 (define-public emacs-alsamixer-el
   (package
     (name "emacs-alsamixer-el")
@@ -39981,6 +52483,15 @@ (define-public emacs-alsamixer-el
 audio volume via amixer.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-alsamixer-el
+  (package-with-emacs-minimal emacs-alsamixer-el))
+
+(define-public emacs-next-alsamixer-el
+  (package-with-emacs-next emacs-alsamixer-el))
+
+(define-public emacs-pgtk-alsamixer-el
+  (package-with-emacs-pgtk emacs-alsamixer-el))
+
 (define-public emacs-fennel-mode
   (package
     (name "emacs-fennel-mode")
@@ -40002,6 +52513,15 @@ (define-public emacs-fennel-mode
 Fennel code within Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-fennel-mode
+  (package-with-emacs-minimal emacs-fennel-mode))
+
+(define-public emacs-next-fennel-mode
+  (package-with-emacs-next emacs-fennel-mode))
+
+(define-public emacs-pgtk-fennel-mode
+  (package-with-emacs-pgtk emacs-fennel-mode))
+
 (define-public emacs-org-modern
   (package
    (name "emacs-org-modern")
@@ -40025,6 +52545,15 @@ (define-public emacs-org-modern
 source blocks.")
    (license license:gpl3+)))
 
+(define-public emacs-minimal-org-modern
+  (package-with-emacs-minimal emacs-org-modern))
+
+(define-public emacs-next-org-modern
+  (package-with-emacs-next emacs-org-modern))
+
+(define-public emacs-pgtk-org-modern
+  (package-with-emacs-pgtk emacs-org-modern))
+
 (define-public emacs-org-margin
   (let* ((commit "4013b59ff829903a7ab86b95593be71aa5c9b87d")
          (revision "0"))
@@ -40064,6 +52593,15 @@ (define-public emacs-org-margin
 moving leading stars into the margin and transform them into markers depending
 on the chosen style."))))
 
+(define-public emacs-minimal-org-margin
+  (package-with-emacs-minimal emacs-org-margin))
+
+(define-public emacs-next-org-margin
+  (package-with-emacs-next emacs-org-margin))
+
+(define-public emacs-pgtk-org-margin
+  (package-with-emacs-pgtk emacs-org-margin))
+
 (define-public emacs-pyimport
   (let ((commit "a6f63cf7ed93f0c0f7c207e6595813966f8852b9")
         (revision "0"))
@@ -40101,6 +52639,15 @@ (define-public emacs-pyimport
 "@code{emacs-pyimport} manages python imports from Emacs via @code{python-pyflakes}.")
       (license license:gpl3+)))) ; License is in pyimport.el
 
+(define-public emacs-minimal-pyimport
+  (package-with-emacs-minimal emacs-pyimport))
+
+(define-public emacs-next-pyimport
+  (package-with-emacs-next emacs-pyimport))
+
+(define-public emacs-pgtk-pyimport
+  (package-with-emacs-pgtk emacs-pyimport))
+
 (define-public emacs-straight-el
   (let ((commit "b3760f5829dba37e855add7323304561eb57a3d4")
         (revision "3"))
@@ -40150,6 +52697,15 @@ (define-public emacs-straight-el
 hacker.")
       (license license:expat))))
 
+(define-public emacs-minimal-straight-el
+  (package-with-emacs-minimal emacs-straight-el))
+
+(define-public emacs-next-straight-el
+  (package-with-emacs-next emacs-straight-el))
+
+(define-public emacs-pgtk-straight-el
+  (package-with-emacs-pgtk emacs-straight-el))
+
 (define-public emacs-osm
   (package
     (name "emacs-osm")
@@ -40196,6 +52752,15 @@ (define-public emacs-osm
 parallel fetching of tiles with cURL, and more.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-osm
+  (package-with-emacs-minimal emacs-osm))
+
+(define-public emacs-next-osm
+  (package-with-emacs-next emacs-osm))
+
+(define-public emacs-pgtk-osm
+  (package-with-emacs-pgtk emacs-osm))
+
 (define-public emacs-corfu-terminal
   (package
     (name "emacs-corfu-terminal")
@@ -40219,6 +52784,15 @@ (define-public emacs-corfu-terminal
 with popups, which also work in the terminal.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-corfu-terminal
+  (package-with-emacs-minimal emacs-corfu-terminal))
+
+(define-public emacs-next-corfu-terminal
+  (package-with-emacs-next emacs-corfu-terminal))
+
+(define-public emacs-pgtk-corfu-terminal
+  (package-with-emacs-pgtk emacs-corfu-terminal))
+
 (define-public emacs-corfu-doc-terminal
   ;; Upstream does not tag releases, version taken from package header.
   (let ((commit "be9fd5cd6c293dea862f1a1877378f1391e6a7e5")
@@ -40246,6 +52820,15 @@ (define-public emacs-corfu-doc-terminal
 with popups, which also work in the terminal.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-corfu-doc-terminal
+  (package-with-emacs-minimal emacs-corfu-doc-terminal))
+
+(define-public emacs-next-corfu-doc-terminal
+  (package-with-emacs-next emacs-corfu-doc-terminal))
+
+(define-public emacs-pgtk-corfu-doc-terminal
+  (package-with-emacs-pgtk emacs-corfu-doc-terminal))
+
 (define-public emacs-popon
   (package
     (name "emacs-popon")
@@ -40270,6 +52853,15 @@ (define-public emacs-popon
 can bind a popon to a specific buffer to only show on that buffer.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-popon
+  (package-with-emacs-minimal emacs-popon))
+
+(define-public emacs-next-popon
+  (package-with-emacs-next emacs-popon))
+
+(define-public emacs-pgtk-popon
+  (package-with-emacs-pgtk emacs-popon))
+
 (define-public emacs-consult-lsp
   (package
     (name "emacs-consult-lsp")
@@ -40293,6 +52885,15 @@ (define-public emacs-consult-lsp
 by leveraging @code{emacs-consult} APIs.")
     (license license:expat)))
 
+(define-public emacs-minimal-consult-lsp
+  (package-with-emacs-minimal emacs-consult-lsp))
+
+(define-public emacs-next-consult-lsp
+  (package-with-emacs-next emacs-consult-lsp))
+
+(define-public emacs-pgtk-consult-lsp
+  (package-with-emacs-pgtk emacs-consult-lsp))
+
 (define-public emacs-consult-projectile
   (let ((commit "400439c56d17bca7888f7d143d8a11f84900a406")
         (revision "1"))
@@ -40319,6 +52920,15 @@ (define-public emacs-consult-projectile
 a file from the selected project.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-consult-projectile
+  (package-with-emacs-minimal emacs-consult-projectile))
+
+(define-public emacs-next-consult-projectile
+  (package-with-emacs-next emacs-consult-projectile))
+
+(define-public emacs-pgtk-consult-projectile
+  (package-with-emacs-pgtk emacs-consult-projectile))
+
 (define-public emacs-context-transient
   (package
     (name "emacs-context-transient")
@@ -40340,6 +52950,15 @@ (define-public emacs-context-transient
 buffer or any other condition.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-context-transient
+  (package-with-emacs-minimal emacs-context-transient))
+
+(define-public emacs-next-context-transient
+  (package-with-emacs-next emacs-context-transient))
+
+(define-public emacs-pgtk-context-transient
+  (package-with-emacs-pgtk emacs-context-transient))
+
 (define-public emacs-purs-mode
   ;; XXX: Upstream set no tag nor any Version keyword.  Using 0 as the base
   ;; version.
@@ -40365,6 +52984,15 @@ (define-public emacs-purs-mode
        "Purs mode provides a PureScript major mode for Emacs.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-purs-mode
+  (package-with-emacs-minimal emacs-purs-mode))
+
+(define-public emacs-next-purs-mode
+  (package-with-emacs-next emacs-purs-mode))
+
+(define-public emacs-pgtk-purs-mode
+  (package-with-emacs-pgtk emacs-purs-mode))
+
 (define-public emacs-pdb-capf
   (let ((commit "31602ccab53aa7dcf26a1af222c7da2bcc1390ed")
         (revision "0"))
@@ -40389,6 +53017,15 @@ (define-public emacs-pdb-capf
 for pdb allowing completion in a @code{*gud-pdb*} buffer.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-pdb-capf
+  (package-with-emacs-minimal emacs-pdb-capf))
+
+(define-public emacs-next-pdb-capf
+  (package-with-emacs-next emacs-pdb-capf))
+
+(define-public emacs-pgtk-pdb-capf
+  (package-with-emacs-pgtk emacs-pdb-capf))
+
 (define-public emacs-bitbake-modes
   (package
    (name "emacs-bitbake-modes")
@@ -40412,6 +53049,15 @@ (define-public emacs-bitbake-modes
 projects.")
    (license license:gpl3+)))
 
+(define-public emacs-minimal-bitbake-modes
+  (package-with-emacs-minimal emacs-bitbake-modes))
+
+(define-public emacs-next-bitbake-modes
+  (package-with-emacs-next emacs-bitbake-modes))
+
+(define-public emacs-pgtk-bitbake-modes
+  (package-with-emacs-pgtk emacs-bitbake-modes))
+
 (define-public emacs-vundo
   (package
     (name "emacs-vundo")
@@ -40432,6 +53078,15 @@ (define-public emacs-vundo
 the buffer you want to undo.  An undo tree buffer should pop up.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-vundo
+  (package-with-emacs-minimal emacs-vundo))
+
+(define-public emacs-next-vundo
+  (package-with-emacs-next emacs-vundo))
+
+(define-public emacs-pgtk-vundo
+  (package-with-emacs-pgtk emacs-vundo))
+
 (define-public emacs-hare-mode
   ;; XXX: Upstream did not tag any commit.  Using "Version:" keyword as base
   ;; version.
@@ -40456,6 +53111,15 @@ (define-public emacs-hare-mode
        "This package an Emacs major mode for the Hare programming language.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-hare-mode
+  (package-with-emacs-minimal emacs-hare-mode))
+
+(define-public emacs-next-hare-mode
+  (package-with-emacs-next emacs-hare-mode))
+
+(define-public emacs-pgtk-hare-mode
+  (package-with-emacs-pgtk emacs-hare-mode))
+
 (define-public emacs-org-cliplink
   (let ((commit "13e0940b65d22bec34e2de4bc8cba1412a7abfbc")
         (revision "0"))
@@ -40504,6 +53168,15 @@ (define-public emacs-org-cliplink
 into the current buffer.")
       (license license:expat))))
 
+(define-public emacs-minimal-org-cliplink
+  (package-with-emacs-minimal emacs-org-cliplink))
+
+(define-public emacs-next-org-cliplink
+  (package-with-emacs-next emacs-org-cliplink))
+
+(define-public emacs-pgtk-org-cliplink
+  (package-with-emacs-pgtk emacs-org-cliplink))
+
 (define-public emacs-org-wild-notifier
   (package
     (name "emacs-org-wild-notifier")
@@ -40527,6 +53200,15 @@ (define-public emacs-org-wild-notifier
     (description
      "This package provides notification functions for Org Agenda.")))
 
+(define-public emacs-minimal-org-wild-notifier
+  (package-with-emacs-minimal emacs-org-wild-notifier))
+
+(define-public emacs-next-org-wild-notifier
+  (package-with-emacs-next emacs-org-wild-notifier))
+
+(define-public emacs-pgtk-org-wild-notifier
+  (package-with-emacs-pgtk emacs-org-wild-notifier))
+
 (define-public emacs-flymake-mypy
   (package
     (name "emacs-flymake-mypy")
@@ -40548,6 +53230,15 @@ (define-public emacs-flymake-mypy
 using mypy.")
     (license license:bsd-2)))
 
+(define-public emacs-minimal-flymake-mypy
+  (package-with-emacs-minimal emacs-flymake-mypy))
+
+(define-public emacs-next-flymake-mypy
+  (package-with-emacs-next emacs-flymake-mypy))
+
+(define-public emacs-pgtk-flymake-mypy
+  (package-with-emacs-pgtk emacs-flymake-mypy))
+
 (define-public emacs-mpv
   ;; No release since Dec 28, 2021.
   (let ((commit "2e0234bc21a3dcdf12d94d3285475e7f6769d3e8")
@@ -40583,6 +53274,15 @@ (define-public emacs-mpv
 process via its IPC interface.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-mpv
+  (package-with-emacs-minimal emacs-mpv))
+
+(define-public emacs-next-mpv
+  (package-with-emacs-next emacs-mpv))
+
+(define-public emacs-pgtk-mpv
+  (package-with-emacs-pgtk emacs-mpv))
+
 (define-public emacs-apel-lb
   ;; No release since Jun 15, 2010.
   (let ((version "10.8")                ;tag chise-base-0_25
@@ -40609,6 +53309,15 @@ (define-public emacs-apel-lb
 latest Emacs.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-apel-lb
+  (package-with-emacs-minimal emacs-apel-lb))
+
+(define-public emacs-next-apel-lb
+  (package-with-emacs-next emacs-apel-lb))
+
+(define-public emacs-pgtk-apel-lb
+  (package-with-emacs-pgtk emacs-apel-lb))
+
 (define-public emacs-flim-lb
   ;; No release since Nov 28, 2007.
   (let ((commit "abdd2315006eb31476249223569808adb1c0f7b2")
@@ -40636,6 +53345,15 @@ (define-public emacs-flim-lb
 Emacs.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-flim-lb
+  (package-with-emacs-minimal emacs-flim-lb))
+
+(define-public emacs-next-flim-lb
+  (package-with-emacs-next emacs-flim-lb))
+
+(define-public emacs-pgtk-flim-lb
+  (package-with-emacs-pgtk emacs-flim-lb))
+
 (define-public emacs-semi-epg
   ;; No release since Dec 24, 2003.
   (let ((commit "9063a4485b148a767ea924f0e7cc78d3524ba256")
@@ -40663,6 +53381,15 @@ (define-public emacs-semi-epg
 EasyPG and latest Emacs.")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-semi-epg
+  (package-with-emacs-minimal emacs-semi-epg))
+
+(define-public emacs-next-semi-epg
+  (package-with-emacs-next emacs-semi-epg))
+
+(define-public emacs-pgtk-semi-epg
+  (package-with-emacs-pgtk emacs-semi-epg))
+
 (define-public emacs-wanderlust
   ;; No release since Jan 15, 2010.
   (let ((commit "9fd2c65e8d690625f35035a71e73f51f740dbe04")
@@ -40760,6 +53487,15 @@ (define-public emacs-wanderlust
 @end itemize\n")
       (license license:gpl2+))))
 
+(define-public emacs-minimal-wanderlust
+  (package-with-emacs-minimal emacs-wanderlust))
+
+(define-public emacs-next-wanderlust
+  (package-with-emacs-next emacs-wanderlust))
+
+(define-public emacs-pgtk-wanderlust
+  (package-with-emacs-pgtk emacs-wanderlust))
+
 (define-public emacs-waveform
   ;; XXX: Upstream provides no Version keyword.  Using 0 as base version.
   (let ((commit "ee52c6a72b3e9890743e3a6e2fc1f3195f5687b2")
@@ -40796,6 +53532,15 @@ (define-public emacs-waveform
 navigate through it.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-waveform
+  (package-with-emacs-minimal emacs-waveform))
+
+(define-public emacs-next-waveform
+  (package-with-emacs-next emacs-waveform))
+
+(define-public emacs-pgtk-waveform
+  (package-with-emacs-pgtk emacs-waveform))
+
 (define-public emacs-project-x
   ;; There is no proper release.
   ;; The base version is extracted from the README.org.
@@ -40823,6 +53568,15 @@ (define-public emacs-project-x
 across sessions.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-project-x
+  (package-with-emacs-minimal emacs-project-x))
+
+(define-public emacs-next-project-x
+  (package-with-emacs-next emacs-project-x))
+
+(define-public emacs-pgtk-project-x
+  (package-with-emacs-pgtk emacs-project-x))
+
 (define-public emacs-poke-mode
   (package
     (name "emacs-poke-mode")
@@ -40841,6 +53595,15 @@ (define-public emacs-poke-mode
      "This package provides a major mode for editing GNU poke programs.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-poke-mode
+  (package-with-emacs-minimal emacs-poke-mode))
+
+(define-public emacs-next-poke-mode
+  (package-with-emacs-next emacs-poke-mode))
+
+(define-public emacs-pgtk-poke-mode
+  (package-with-emacs-pgtk emacs-poke-mode))
+
 (define-public emacs-vcard-mode
   ;; Use the latest commit, as there are no tagged releases.
   (let ((commit "ab1a2885a5720d7fb02d9b6583ee908ba2260b78")
@@ -40864,6 +53627,15 @@ (define-public emacs-vcard-mode
 in Emacs.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-vcard-mode
+  (package-with-emacs-minimal emacs-vcard-mode))
+
+(define-public emacs-next-vcard-mode
+  (package-with-emacs-next emacs-vcard-mode))
+
+(define-public emacs-pgtk-vcard-mode
+  (package-with-emacs-pgtk emacs-vcard-mode))
+
 (define-public emacs-vertico-posframe
   (package
     (name "emacs-vertico-posframe")
@@ -40888,6 +53660,15 @@ (define-public emacs-vertico-posframe
 a vertical completion UI.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-vertico-posframe
+  (package-with-emacs-minimal emacs-vertico-posframe))
+
+(define-public emacs-next-vertico-posframe
+  (package-with-emacs-next emacs-vertico-posframe))
+
+(define-public emacs-pgtk-vertico-posframe
+  (package-with-emacs-pgtk emacs-vertico-posframe))
+
 ;; No tagged release upstream
 (define-public emacs-transient-posframe
   (let ((commit "dcd898d1d35183a7d4f2c8f0ebcb43b4f8e70ebe")
@@ -40914,6 +53695,15 @@ (define-public emacs-transient-posframe
 @code{transient} popups of @code{magit} in mind.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-transient-posframe
+  (package-with-emacs-minimal emacs-transient-posframe))
+
+(define-public emacs-next-transient-posframe
+  (package-with-emacs-next emacs-transient-posframe))
+
+(define-public emacs-pgtk-transient-posframe
+  (package-with-emacs-pgtk emacs-transient-posframe))
+
 (define-public emacs-tintin-mode
   (let ((commit "82e71e1db92ee3d94c7d0208bafc5de337193de8")
 	(revision "1"))
@@ -40939,6 +53729,15 @@ (define-public emacs-tintin-mode
 accomplish different tasks.")
       (license license:asl2.0))))
 
+(define-public emacs-minimal-tintin-mode
+  (package-with-emacs-minimal emacs-tintin-mode))
+
+(define-public emacs-next-tintin-mode
+  (package-with-emacs-next emacs-tintin-mode))
+
+(define-public emacs-pgtk-tintin-mode
+  (package-with-emacs-pgtk emacs-tintin-mode))
+
 (define-public emacs-x509-mode
   (let ((commit "3830cbfdadab4cd68e6f0b6a3a7a4931be8328ea")
         (revision "1"))
@@ -40980,6 +53779,15 @@ (define-public emacs-x509-mode
 entities.")
       (license license:expat))))
 
+(define-public emacs-minimal-x509-mode
+  (package-with-emacs-minimal emacs-x509-mode))
+
+(define-public emacs-next-x509-mode
+  (package-with-emacs-next emacs-x509-mode))
+
+(define-public emacs-pgtk-x509-mode
+  (package-with-emacs-pgtk emacs-x509-mode))
+
 (define-public emacs-totp
   (let ((commit "a5e059b8475b32bc7f5ddadda248cf84449ed722") ;no releases
         (revision "0"))
@@ -41004,6 +53812,15 @@ (define-public emacs-totp
 variations, including non-standard base32 encodings.")
        (license license:gpl3+))))
 
+(define-public emacs-minimal-totp
+  (package-with-emacs-minimal emacs-totp))
+
+(define-public emacs-next-totp
+  (package-with-emacs-next emacs-totp))
+
+(define-public emacs-pgtk-totp
+  (package-with-emacs-pgtk emacs-totp))
+
 (define-public emacs-back-button
   (package
     (name "emacs-back-button")
@@ -41024,6 +53841,15 @@ (define-public emacs-back-button
     (home-page "https://www.emacswiki.org/emacs/BackButton")
     (license license:bsd-2)))
 
+(define-public emacs-minimal-back-button
+  (package-with-emacs-minimal emacs-back-button))
+
+(define-public emacs-next-back-button
+  (package-with-emacs-next emacs-back-button))
+
+(define-public emacs-pgtk-back-button
+  (package-with-emacs-pgtk emacs-back-button))
+
 ;;;
 ;;; Avoid adding new packages to the end of this file. To reduce the chances
 ;;; of a merge conflict, place them above by existing packages with similar
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index d5d72a0c85..fb0386154e 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2847,6 +2847,15 @@ (define-public emacs-scad-mode
 OpenSCAD code.  It supports syntax highlighting, indenting and refilling of
 comments.")))
 
+(define-public emacs-minimal-scad-mode
+  (package-with-emacs-minimal emacs-scad-mode))
+
+(define-public emacs-next-scad-mode
+  (package-with-emacs-next emacs-scad-mode))
+
+(define-public emacs-pgtk-scad-mode
+  (package-with-emacs-pgtk emacs-scad-mode))
+
 (define-public freecad
   (package
     (name "freecad")
diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm
index 175bbdf8a5..2b490b5742 100644
--- a/gnu/packages/erlang.scm
+++ b/gnu/packages/erlang.scm
@@ -220,6 +220,15 @@ (define-public emacs-erlang
 files.")
     (license license:asl2.0)))
 
+(define-public emacs-minimal-erlang
+  (package-with-emacs-minimal emacs-erlang))
+
+(define-public emacs-next-erlang
+  (package-with-emacs-next emacs-erlang))
+
+(define-public emacs-pgtk-erlang
+  (package-with-emacs-pgtk emacs-erlang))
+
 (define-public erlang-bbmustache
   (package
     (name "erlang-bbmustache")
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 446df6c5ac..30cbfbdcd8 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -502,6 +502,15 @@ (define-public emacs-hledger-mode
 the plaintext accounting system hledger.")
       (license license:gpl3))))
 
+(define-public emacs-minimal-hledger-mode
+  (package-with-emacs-minimal emacs-hledger-mode))
+
+(define-public emacs-next-hledger-mode
+  (package-with-emacs-next emacs-hledger-mode))
+
+(define-public emacs-pgtk-hledger-mode
+  (package-with-emacs-pgtk emacs-hledger-mode))
+
 (define-public geierlein
   (package
     (name "geierlein")
@@ -2101,6 +2110,15 @@ (define-public emacs-beancount
        "Emacs-beancount is an Emacs mode for the Beancount accounting tool.")
       (license license:gpl3+))))
 
+(define-public emacs-minimal-beancount
+  (package-with-emacs-minimal emacs-beancount))
+
+(define-public emacs-next-beancount
+  (package-with-emacs-next emacs-beancount))
+
+(define-public emacs-pgtk-beancount
+  (package-with-emacs-pgtk emacs-beancount))
+
 (define-public hledger-web
   (package
     (name "hledger-web")
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index d85f83fbea..fb6244f5f4 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -26508,6 +26508,15 @@ (define-public emacs-slite
 In order to work, this also requires the slite Common Lisp system to be
 present. See the code@{*cl-slite packages}.")))
 
+(define-public emacs-minimal-slite
+  (package-with-emacs-minimal emacs-slite))
+
+(define-public emacs-next-slite
+  (package-with-emacs-next emacs-slite))
+
+(define-public emacs-pgtk-slite
+  (package-with-emacs-pgtk emacs-slite))
+
 (define-public sbcl-slot-extra-options
   (let ((commit "29517d980325cd63744f1acf4cfe5c8ccec2b318"))
     (package
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 2614a403c1..cda383f802 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -2107,6 +2107,15 @@ (define-public emacs-clang-format
 C/C++/Obj-C code according to a set of style options, see
 @url{https://clang.llvm.org/docs/ClangFormatStyleOptions.html}.")))
 
+(define-public emacs-minimal-clang-format
+  (package-with-emacs-minimal emacs-clang-format))
+
+(define-public emacs-next-clang-format
+  (package-with-emacs-next emacs-clang-format))
+
+(define-public emacs-pgtk-clang-format
+  (package-with-emacs-pgtk emacs-clang-format))
+
 (define-public emacs-clang-rename
   (package
     (inherit clang)
@@ -2128,6 +2137,15 @@ (define-public emacs-clang-rename
     (description "This package renames every occurrence of a symbol at point
 using @code{clang-rename}.")))
 
+(define-public emacs-minimal-clang-rename
+  (package-with-emacs-minimal emacs-clang-rename))
+
+(define-public emacs-next-clang-rename
+  (package-with-emacs-next emacs-clang-rename))
+
+(define-public emacs-pgtk-clang-rename
+  (package-with-emacs-pgtk emacs-clang-rename))
+
 \f
 ;;;
 ;;; LLVM variants.
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index ea7ae8c150..fd3da91168 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1536,6 +1536,15 @@ (define-public emacs-notmuch
      "This package provides an Emacs-based interface to the Notmuch mail
 system.")))
 
+(define-public emacs-minimal-notmuch
+  (package-with-emacs-minimal emacs-notmuch))
+
+(define-public emacs-next-notmuch
+  (package-with-emacs-next emacs-notmuch))
+
+(define-public emacs-pgtk-notmuch
+  (package-with-emacs-pgtk emacs-notmuch))
+
 (define-public notmuch-addrlookup-c
   (package
     (name "notmuch-addrlookup-c")
diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm
index 9f6b48f890..c29122a8fc 100644
--- a/gnu/packages/potassco.scm
+++ b/gnu/packages/potassco.scm
@@ -318,6 +318,15 @@ (define-public emacs-pasp-mode
 in particular ones that can be solved by @command{clingo}.")
      (license license:gpl3+))))
 
+(define-public emacs-minimal-pasp-mode
+  (package-with-emacs-minimal emacs-pasp-mode))
+
+(define-public emacs-next-pasp-mode
+  (package-with-emacs-next emacs-pasp-mode))
+
+(define-public emacs-pgtk-pasp-mode
+  (package-with-emacs-pgtk emacs-pasp-mode))
+
 (define-public (make-lua-clingo name lua)
   (package
     (inherit clingo)
diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm
index d47b67fa61..142265901d 100644
--- a/gnu/packages/protobuf.scm
+++ b/gnu/packages/protobuf.scm
@@ -552,6 +552,15 @@ (define-public emacs-protobuf-mode
 source files.")
     (license license:bsd-3)))
 
+(define-public emacs-minimal-protobuf-mode
+  (package-with-emacs-minimal emacs-protobuf-mode))
+
+(define-public emacs-next-protobuf-mode
+  (package-with-emacs-next emacs-protobuf-mode))
+
+(define-public emacs-pgtk-protobuf-mode
+  (package-with-emacs-pgtk emacs-protobuf-mode))
+
 (define-public ruby-protobuf
   (package
     (name "ruby-protobuf")
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 927e10bbfe..28ce080baa 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -1270,6 +1270,15 @@ (define-public emacs-gerbil-mode
      "Gerbil mode provides font-lock, indentation, navigation, and REPL for
 Gerbil code within Emacs.")))
 
+(define-public emacs-minimal-gerbil-mode
+  (package-with-emacs-minimal emacs-gerbil-mode))
+
+(define-public emacs-next-gerbil-mode
+  (package-with-emacs-next emacs-gerbil-mode))
+
+(define-public emacs-pgtk-gerbil-mode
+  (package-with-emacs-pgtk emacs-gerbil-mode))
+
 (define-public stklos
   (package
     (name "stklos")
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 9dde918e06..637761ad88 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -6999,6 +6999,15 @@ (define-public emacs-poly-r
 files, including Rmarkdown files.")
     (license license:gpl3+)))
 
+(define-public emacs-minimal-poly-r
+  (package-with-emacs-minimal emacs-poly-r))
+
+(define-public emacs-next-poly-r
+  (package-with-emacs-next emacs-poly-r))
+
+(define-public emacs-pgtk-poly-r
+  (package-with-emacs-pgtk emacs-poly-r))
+
 (define-public readstat
   (package
     (name "readstat")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 23/24] gnu: eless: Build variants.
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
                     ` (22 preceding siblings ...)
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 22/24] gnu: emacs-exwm-x: " Liliana Marie Prikler
@ 2024-08-11 12:58   ` Liliana Marie Prikler
  2024-09-03 15:51   ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Simon Tournier
  24 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:58 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

* gnu/packages/emacs-xyz.scm (eless)[properties]: Add ‘minimal-variant’,
‘next-variant’ and ‘pgtk-variant’.
(eless-minimal, eless-next, eless-pgtk): New variables.
---
 gnu/packages/emacs-xyz.scm | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 774f18034c..643d1b984b 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -22787,7 +22787,29 @@ (define-public eless
 @item Auto-revert log files similar to @code{tail -f}.
 @item Quickly change frame and font sizes.
 @end itemize\n")
-    (license license:expat)))
+    (license license:expat)
+    (properties
+     `((minimal-variant . ,(delay eless-minimal))
+       (next-variant . ,(delay eless-next))
+       (pgtk-variant . ,(delay eless-pgtk))))))
+
+(define-public eless-minimal
+  (package (inherit eless)
+           (name "eless-minimal")
+           (inputs (modify-inputs (package-inputs eless)
+                     (replace "emacs" emacs-minimal)))))
+
+(define-public eless-next
+  (package (inherit eless)
+           (name "eless-next")
+           (inputs (modify-inputs (package-inputs eless)
+                     (replace "emacs" emacs-next)))))
+
+(define-public eless-pgtk
+  (package (inherit eless)
+           (name "eless-pgtk")
+           (inputs (modify-inputs (package-inputs eless)
+                     (replace "emacs" emacs-pgtk)))))
 
 (define-public emacs-evil-matchit
   (package
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen
  2024-07-31 19:58 [bug#72406] [PATCH emacs-team WIP 0/4] Simplify creation of emacs package variants Liliana Marie Prikler
                   ` (4 preceding siblings ...)
  2024-08-01  3:23 ` [bug#72406] [PATCH emacs-team WIP 0/4] Simplify creation of emacs package variants Suhail Singh
@ 2024-08-11 12:59 ` Liliana Marie Prikler
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 01/24] build-system: emacs: Define package-with-explicit-emacs Liliana Marie Prikler
                     ` (24 more replies)
  5 siblings, 25 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-08-11 12:59 UTC (permalink / raw)
  To: 72406; +Cc: gemmaro.dev, andrew, cox.katherine.e+guix, liliana.prikler

Same as v3, but I reset the commit dates so that hopefully this time all
mail arrives…

Liliana Marie Prikler (24):
  build-system: emacs: Define package-with-explicit-emacs.
  build-system: emacs: Make emacs the default variant.
  build-system: emacs: Define common variants.
  build-system: emacs: Handle variants in elpa naming.
  etc: Provide snippet for defining emacs variants.
  gnu: emacs-libgit: Build variants.
  gnu: emacs-eweouz: Build variants.
  gnu: emacs-tablist: Define variants.
  gnu: emacs-pdf-tools: Build variants.
  gnu: emacs-fontaine: Reindent.
  gnu: emacs-bui: Define variants.
  gnu: emacs-dash: Define variants.
  gnu: emacs-edit-indirect: Define variants.
  gnu: emacs-geiser: Define variants.
  gnu: emacs-geiser-guile: Define variants.
  gnu: emacs-magit-popup: Define variants.
  gnu: emacs-guix: Build variants.
  [WIP] gnu: emacs-dvc: Build variants.
  gnu: emacspeak: Build variants.
  gnu: emacs-xelb: Build variants.
  gnu: emacs-exwm: Build variants.
  gnu: emacs-exwm-x: Build variants.
  gnu: eless: Build variants.
  gnu: Build all the other emacs-* variants.

 etc/snippets/tempel/scheme-mode   |     8 +
 gnu/packages/admin.scm            |     9 +
 gnu/packages/android.scm          |     9 +
 gnu/packages/cmake.scm            |     9 +
 gnu/packages/databases.scm        |     9 +
 gnu/packages/emacs-xyz.scm        | 13249 +++++++++++++++++++++++++++-
 gnu/packages/engineering.scm      |     9 +
 gnu/packages/erlang.scm           |     9 +
 gnu/packages/finance.scm          |    18 +
 gnu/packages/lisp-xyz.scm         |     9 +
 gnu/packages/llvm.scm             |    18 +
 gnu/packages/mail.scm             |     9 +
 gnu/packages/potassco.scm         |     9 +
 gnu/packages/protobuf.scm         |     9 +
 gnu/packages/scheme.scm           |     9 +
 gnu/packages/statistics.scm       |     9 +
 guix/build-system/emacs.scm       |    88 +-
 guix/build/emacs-build-system.scm |    25 +-
 18 files changed, 13416 insertions(+), 98 deletions(-)


base-commit: da9fabaf21c43789e8cf382205714f103d446c1f
-- 
2.45.2





^ permalink raw reply	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 01/24] build-system: emacs: Define package-with-explicit-emacs.
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 01/24] build-system: emacs: Define package-with-explicit-emacs Liliana Marie Prikler
@ 2024-09-03 15:18     ` Simon Tournier
  0 siblings, 0 replies; 44+ messages in thread
From: Simon Tournier @ 2024-09-03 15:18 UTC (permalink / raw)
  To: Liliana Marie Prikler, 72406
  Cc: cox.katherine.e+guix, gemmaro.dev, liliana.prikler, andrew

Hi Liliana,

On Sun, 11 Aug 2024 at 14:58, Liliana Marie Prikler <liliana.prikler@gmail.com> wrote:
> * guix/build-system/emacs.scm (package-with-explicit-emacs): New procedure.
> ---
>  guix/build-system/emacs.scm | 51 +++++++++++++++++++++++++++++++++++++
>  1 file changed, 51 insertions(+)

Cool!

LGTM.

Cheers,
simon




^ permalink raw reply	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 03/24] build-system: emacs: Define common variants.
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 03/24] build-system: emacs: Define common variants Liliana Marie Prikler
@ 2024-09-03 15:21     ` Simon Tournier
  2024-09-03 15:39       ` Simon Tournier
  0 siblings, 1 reply; 44+ messages in thread
From: Simon Tournier @ 2024-09-03 15:21 UTC (permalink / raw)
  To: Liliana Marie Prikler, 72406
  Cc: cox.katherine.e+guix, gemmaro.dev, liliana.prikler, andrew

Hi Liliana,

On Sun, 11 Aug 2024 at 14:58, Liliana Marie Prikler <liliana.prikler@gmail.com> wrote:

> +(define package-with-emacs-minimal
> +  (package-with-explicit-emacs (delay (resolve-emacs 'emacs-minimal))
> +                               "emacs-" "emacs-minimal-"
> +                               #:variant-property 'emacs-minimal-variant))

[...]

> +;; We prefer emacs-minimal, but sometimes the "minimal" variant still needs
> +;; X support.
> +(define package-with-emacs-no-x-toolkit
> +  (package-with-explicit-emacs (delay (resolve-emacs 'emacs-no-x-toolkit))
> +                               "emacs-" "emacs-no-x-toolkit-"))

I am not convince these are useful.  Why do I want to transform Emacs
packages for “compiling” them with the default Emacs “compiler”.

In order to keep the API clear, I would not provide them.  Nothing
prevent an user to create them if they really need them.

Cheers,
simon




^ permalink raw reply	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 02/24] build-system: emacs: Make emacs the default variant.
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 02/24] build-system: emacs: Make emacs the default variant Liliana Marie Prikler
@ 2024-09-03 15:29     ` Simon Tournier
  0 siblings, 0 replies; 44+ messages in thread
From: Simon Tournier @ 2024-09-03 15:29 UTC (permalink / raw)
  To: Liliana Marie Prikler, 72406
  Cc: cox.katherine.e+guix, gemmaro.dev, liliana.prikler, andrew

Hi Liliana,

On Sun, 11 Aug 2024 at 14:58, Liliana Marie Prikler <liliana.prikler@gmail.com> wrote:
> * guix/build-system/emacs.scm (resolve-emacs): New variable.
> (default-emacs): Use it.  Change to ‘emacs’ instead of ‘emacs-minimal’.

LGTM.

Cheers,
simon




^ permalink raw reply	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 06/24] gnu: emacs-libgit: Build variants.
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 06/24] gnu: emacs-libgit: Build variants Liliana Marie Prikler
@ 2024-09-03 15:32     ` Simon Tournier
  2024-09-03 16:57       ` Liliana Marie Prikler
  0 siblings, 1 reply; 44+ messages in thread
From: Simon Tournier @ 2024-09-03 15:32 UTC (permalink / raw)
  To: Liliana Marie Prikler, 72406
  Cc: cox.katherine.e+guix, gemmaro.dev, liliana.prikler, andrew

Hi Liliana,

On Sun, 11 Aug 2024 at 14:58, Liliana Marie Prikler <liliana.prikler@gmail.com> wrote:

> +      (properties
> +       `((next-variant . ,(delay emacs-next-libgit))
> +         (pgtk-variant . ,(delay emacs-pgtk-libgit)))))))

Sorry, I have missed why these properties are required.  Could you point
where it would be used?

Cheers,
simon




^ permalink raw reply	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 03/24] build-system: emacs: Define common variants.
  2024-09-03 15:21     ` Simon Tournier
@ 2024-09-03 15:39       ` Simon Tournier
  0 siblings, 0 replies; 44+ messages in thread
From: Simon Tournier @ 2024-09-03 15:39 UTC (permalink / raw)
  To: Liliana Marie Prikler, 72406
  Cc: cox.katherine.e+guix, gemmaro.dev, liliana.prikler, andrew

Re,

On Tue, 03 Sep 2024 at 17:21, Simon Tournier <zimon.toutoune@gmail.com> wrote:
> On Sun, 11 Aug 2024 at 14:58, Liliana Marie Prikler <liliana.prikler@gmail.com> wrote:
>
>> +(define package-with-emacs-minimal
>> +  (package-with-explicit-emacs (delay (resolve-emacs 'emacs-minimal))
>> +                               "emacs-" "emacs-minimal-"
>> +                               #:variant-property 'emacs-minimal-variant))
>
> [...]
>
>> +;; We prefer emacs-minimal, but sometimes the "minimal" variant still needs
>> +;; X support.
>> +(define package-with-emacs-no-x-toolkit
>> +  (package-with-explicit-emacs (delay (resolve-emacs 'emacs-no-x-toolkit))
>> +                               "emacs-" "emacs-no-x-toolkit-"))
>
> I am not convince these are useful.  Why do I want to transform Emacs
> packages for “compiling” them with the default Emacs “compiler”.

Ah wait. :-) PATCH 02/24 “build-system: emacs: Make emacs the default
variant.” change emacs-minimal to emacs as the default “compiler”.

So I change my mind and they are indeed useful.

Cheers,
simon




^ permalink raw reply	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 07/24] gnu: emacs-eweouz: Build variants.
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 07/24] gnu: emacs-eweouz: " Liliana Marie Prikler
@ 2024-09-03 15:47     ` Simon Tournier
  0 siblings, 0 replies; 44+ messages in thread
From: Simon Tournier @ 2024-09-03 15:47 UTC (permalink / raw)
  To: Liliana Marie Prikler, 72406
  Cc: cox.katherine.e+guix, gemmaro.dev, liliana.prikler, andrew

Hi Liliana,

On Sun, 11 Aug 2024 at 14:58, Liliana Marie Prikler <liliana.prikler@gmail.com> wrote:

> (emacs-minimal-eweouz, emacs-next-eweouz, emacs-pgtk-eweouz): New variables.

An open question: do we need them?  I mean since
package-with-emacs-minimal is provided, it’s easy to create such
variant.  Therefore, the question becomes: is it useful to provide
substitutes?

Building Emacs packages is most of the time quick and requires few
resources, so it’s not painful to do it locally in case an user want
such variant.

And, it avoids some combinatorial maintenance burden.  Although Emacs
compiling toolchain is stable, it can be boring to ensure all the
variants still correctly build.

Instead, we could imagine some transformation option, let say
--with-emacs-toolchain=PACKAGE=TOOLCHAIN.

WDYT?

Cheers,
simon




^ permalink raw reply	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen
  2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
                     ` (23 preceding siblings ...)
  2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 23/24] gnu: eless: " Liliana Marie Prikler
@ 2024-09-03 15:51   ` Simon Tournier
  2024-09-03 16:52     ` Liliana Marie Prikler
  24 siblings, 1 reply; 44+ messages in thread
From: Simon Tournier @ 2024-09-03 15:51 UTC (permalink / raw)
  To: Liliana Marie Prikler, 72406
  Cc: cox.katherine.e+guix, gemmaro.dev, liliana.prikler, andrew

Hi Liliana,

On Sun, 11 Aug 2024 at 14:59, Liliana Marie Prikler <liliana.prikler@gmail.com> wrote:
> Same as v3, but I reset the commit dates so that hopefully this time all
> mail arrives…
>
> Liliana Marie Prikler (24):
>   build-system: emacs: Define package-with-explicit-emacs.
>   build-system: emacs: Make emacs the default variant.
>   build-system: emacs: Define common variants.
>   build-system: emacs: Handle variants in elpa naming.
>   etc: Provide snippet for defining emacs variants.

Well, aside minor comments, I agree with these changes but I am not
convinced but the rest.

A naive question: what is the cost to have emacs-minimal being able to
native-compile?


Cheers,
simon




^ permalink raw reply	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen
  2024-09-03 15:51   ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Simon Tournier
@ 2024-09-03 16:52     ` Liliana Marie Prikler
  0 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-09-03 16:52 UTC (permalink / raw)
  To: Simon Tournier, 72406; +Cc: cox.katherine.e+guix, gemmaro.dev, andrew

Am Dienstag, dem 03.09.2024 um 17:51 +0200 schrieb Simon Tournier:
> Hi Liliana,
> 
> On Sun, 11 Aug 2024 at 14:59, Liliana Marie Prikler
> <liliana.prikler@gmail.com> wrote:
> > Same as v3, but I reset the commit dates so that hopefully this
> > time all
> > mail arrives…
> > 
> > Liliana Marie Prikler (24):
> >   build-system: emacs: Define package-with-explicit-emacs.
> >   build-system: emacs: Make emacs the default variant.
> >   build-system: emacs: Define common variants.
> >   build-system: emacs: Handle variants in elpa naming.
> >   etc: Provide snippet for defining emacs variants.
> 
> Well, aside minor comments, I agree with these changes but I am not
> convinced but the rest.
> 
> A naive question: what is the cost to have emacs-minimal being able
> to native-compile?
Well, the cost is small (for packages that aren't broken like emacs-
yaml), but the benefit is also nil.  emacs-minimal, emacs, emacs-pgtk,
etc. all have different ABI hashes, so packages built by one won't be
natively loaded by the other.

Cheers




^ permalink raw reply	[flat|nested] 44+ messages in thread

* [bug#72406] [PATCH emacs-team WIP v4 06/24] gnu: emacs-libgit: Build variants.
  2024-09-03 15:32     ` Simon Tournier
@ 2024-09-03 16:57       ` Liliana Marie Prikler
  0 siblings, 0 replies; 44+ messages in thread
From: Liliana Marie Prikler @ 2024-09-03 16:57 UTC (permalink / raw)
  To: Simon Tournier, 72406; +Cc: cox.katherine.e+guix, gemmaro.dev, andrew

Am Dienstag, dem 03.09.2024 um 17:32 +0200 schrieb Simon Tournier:
> Hi Liliana,
> 
> On Sun, 11 Aug 2024 at 14:58, Liliana Marie Prikler
> <liliana.prikler@gmail.com> wrote:
> 
> > +      (properties
> > +       `((next-variant . ,(delay emacs-next-libgit))
> > +         (pgtk-variant . ,(delay emacs-pgtk-libgit)))))))
> 
> Sorry, I have missed why these properties are required.  Could you
> point where it would be used?
These properties are used in the package-with-emacs-* variants and
replace the packages that would normally be built with the procedures.
They aren't required normally, but for packages that use gnu-build-
system or need some special fix with certain emacs variants, they come
in handy.

Cheers




^ permalink raw reply	[flat|nested] 44+ messages in thread

end of thread, other threads:[~2024-09-03 16:59 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-31 19:58 [bug#72406] [PATCH emacs-team WIP 0/4] Simplify creation of emacs package variants Liliana Marie Prikler
2024-07-31 18:41 ` [bug#72406] [PATCH emacs-team WIP 2/4] build-system: emacs: Make emacs the default variant Liliana Marie Prikler
2024-07-31 18:42 ` [bug#72406] [PATCH emacs-team WIP 3/4] build-system: emacs: Define common variants Liliana Marie Prikler
2024-07-31 19:54 ` [bug#72406] [PATCH emacs-team WIP 4/4] etc: Provide snippet for defining emacs variants Liliana Marie Prikler
2024-07-31 19:57 ` [bug#72406] [PATCH emacs-team WIP 1/4] build-system: emacs: Define package-with-explicit-emacs Liliana Marie Prikler
2024-08-01  3:23 ` [bug#72406] [PATCH emacs-team WIP 0/4] Simplify creation of emacs package variants Suhail Singh
2024-08-01  4:32   ` Liliana Marie Prikler
2024-08-01  6:02     ` Suhail Singh
2024-08-01 16:54       ` Liliana Marie Prikler
2024-08-01 19:40         ` Suhail Singh
2024-08-11 12:59 ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Liliana Marie Prikler
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 01/24] build-system: emacs: Define package-with-explicit-emacs Liliana Marie Prikler
2024-09-03 15:18     ` Simon Tournier
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 02/24] build-system: emacs: Make emacs the default variant Liliana Marie Prikler
2024-09-03 15:29     ` Simon Tournier
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 03/24] build-system: emacs: Define common variants Liliana Marie Prikler
2024-09-03 15:21     ` Simon Tournier
2024-09-03 15:39       ` Simon Tournier
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 04/24] build-system: emacs: Handle variants in elpa naming Liliana Marie Prikler
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 05/24] etc: Provide snippet for defining emacs variants Liliana Marie Prikler
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 06/24] gnu: emacs-libgit: Build variants Liliana Marie Prikler
2024-09-03 15:32     ` Simon Tournier
2024-09-03 16:57       ` Liliana Marie Prikler
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 07/24] gnu: emacs-eweouz: " Liliana Marie Prikler
2024-09-03 15:47     ` Simon Tournier
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 08/24] gnu: emacs-tablist: Define variants Liliana Marie Prikler
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 09/24] gnu: emacs-pdf-tools: Build variants Liliana Marie Prikler
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 10/24] gnu: emacs-fontaine: Reindent Liliana Marie Prikler
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 14/24] gnu: emacs-geiser: Define variants Liliana Marie Prikler
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 12/24] gnu: emacs-dash: " Liliana Marie Prikler
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 11/24] gnu: emacs-bui: " Liliana Marie Prikler
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 13/24] gnu: emacs-edit-indirect: " Liliana Marie Prikler
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 19/24] gnu: emacspeak: Build variants Liliana Marie Prikler
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 17/24] gnu: emacs-guix: " Liliana Marie Prikler
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 16/24] gnu: emacs-magit-popup: Define variants Liliana Marie Prikler
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 15/24] gnu: emacs-geiser-guile: " Liliana Marie Prikler
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 20/24] gnu: emacs-xelb: Build variants Liliana Marie Prikler
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 18/24] [WIP] gnu: emacs-dvc: " Liliana Marie Prikler
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 24/24] gnu: Build all the other emacs-* variants Liliana Marie Prikler
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 21/24] gnu: emacs-exwm: Build variants Liliana Marie Prikler
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 22/24] gnu: emacs-exwm-x: " Liliana Marie Prikler
2024-08-11 12:58   ` [bug#72406] [PATCH emacs-team WIP v4 23/24] gnu: eless: " Liliana Marie Prikler
2024-09-03 15:51   ` [bug#72406] [PATCH emacs-team WIP v4 00/24] Build variants for other Emacsen Simon Tournier
2024-09-03 16:52     ` Liliana Marie Prikler

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).