~abcdw/rde-devel

rde : Deprecate any-package? and list-of-packages? predicate v3 SUPERSEDED

Just some light deprecation work. Former patch series marked SUPERSEDED.

Nicolas Graves (2):
  rde: Deprecate any-package? predicate
  rde: Deprecate list-of-packages? predicate

 src/rde/features/base.scm            |  6 +++---
 src/rde/features/clojure.scm         |  2 +-
 src/rde/features/golang.scm          |  2 +-
 src/rde/features/linux.scm           |  2 +-
 src/rde/features/lisp.scm            |  2 +-
 src/rde/features/mail.scm            |  2 +-
 src/rde/features/ocaml.scm           |  2 +-
 src/rde/features/predicates.scm      | 15 ++++++++-------
 src/rde/features/shells.scm          |  2 +-
 src/rde/features/shellutils.scm      |  2 +-
 src/rde/features/system.scm          |  8 ++++----
 src/rde/features/terminals.scm       |  2 +-
 src/rde/features/version-control.scm |  2 +-
 src/rde/features/video.scm           |  2 +-
 src/rde/features/web-browsers.scm    |  2 +-
 src/rde/features/wm.scm              | 10 +++++-----
 src/rde/features/xdisorg.scm         |  2 +-
 17 files changed, 33 insertions(+), 32 deletions(-)

-- 
2.47.1
Do you have a suggestion or pro tip for integration testing set of
patches this that is automated or quick?
Export patchset (mbox)
How do I use this?

Copy & paste the following snippet into your terminal to import this patchset into git:

curl -s https://lists.sr.ht/~abcdw/rde-devel/patches/57008/mbox | git am -3
Learn more about email & git

[PATCH rde v3 1/2] rde: Deprecate any-package? predicate Export this patch

---
 src/rde/features/clojure.scm         |  2 +-
 src/rde/features/golang.scm          |  2 +-
 src/rde/features/linux.scm           |  2 +-
 src/rde/features/lisp.scm            |  2 +-
 src/rde/features/mail.scm            |  2 +-
 src/rde/features/ocaml.scm           |  2 +-
 src/rde/features/predicates.scm      | 14 +++++++-------
 src/rde/features/shells.scm          |  2 +-
 src/rde/features/shellutils.scm      |  2 +-
 src/rde/features/system.scm          |  2 +-
 src/rde/features/terminals.scm       |  2 +-
 src/rde/features/version-control.scm |  2 +-
 src/rde/features/video.scm           |  2 +-
 src/rde/features/web-browsers.scm    |  2 +-
 src/rde/features/wm.scm              | 10 +++++-----
 src/rde/features/xdisorg.scm         |  2 +-
 16 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/src/rde/features/clojure.scm b/src/rde/features/clojure.scm
index 0f78904a..d34d16c8 100644
--- a/src/rde/features/clojure.scm
+++ b/src/rde/features/clojure.scm
@@ -55,7 +55,7 @@ If you want Leiningen support, make sure to pass in the LEININGEN package."
  (define (get-home-services config)
    (define emacs-f-name 'clojure)
    (define clojure-lsp-binary
      (if (any-package? clojure-lsp)
      (if (file-like? clojure-lsp)
          (file-append clojure-lsp "/bin/clojure-lsp")
          clojure-lsp))

diff --git a/src/rde/features/golang.scm b/src/rde/features/golang.scm
index 684580aa..86bd9f28 100644
--- a/src/rde/features/golang.scm
+++ b/src/rde/features/golang.scm
@@ -15,7 +15,7 @@
          (emacs-go-mode emacs-go-mode)
          (emacs-ob-go emacs-ob-go))
  "Configure and set up tooling for Golang."
  (ensure-pred any-package? go)
  (ensure-pred file-like? go)
  (ensure-pred file-like? emacs-go-mode)
  (ensure-pred file-like? emacs-ob-go)

diff --git a/src/rde/features/linux.scm b/src/rde/features/linux.scm
index 39776dc2..99fddfaf 100644
--- a/src/rde/features/linux.scm
+++ b/src/rde/features/linux.scm
@@ -43,7 +43,7 @@
          (brightnessctl brightnessctl))
  "Setup and configure brightness for various devices."
  (ensure-pred brightness? default-brightness)
  (ensure-pred any-package? brightnessctl)
  (ensure-pred file-like? brightnessctl)
  (ensure-pred brightness? step)

  (define (step->symbol op)
diff --git a/src/rde/features/lisp.scm b/src/rde/features/lisp.scm
index 7f1902ea..ca2a2a75 100644
--- a/src/rde/features/lisp.scm
+++ b/src/rde/features/lisp.scm
@@ -72,7 +72,7 @@ that takes the current RDE configuration and should return an Emacs Lisp
function that represents the custom prompt.  If you'd rather use the
default sly prompt, simply pass #f to it.
See @code{sly-mrepl-default-prompt} for its arguments and return value."
  (ensure-pred any-package? lisp)
  (ensure-pred file-like? lisp)
  (ensure-pred file-like? emacs-sly)
  (ensure-pred lisp-config? extra-sbclrc-lisp)
  (ensure-pred lisp-config? extra-slynk-lisp)
diff --git a/src/rde/features/mail.scm b/src/rde/features/mail.scm
index e663f0af..3b1e9269 100644
--- a/src/rde/features/mail.scm
+++ b/src/rde/features/mail.scm
@@ -934,7 +934,7 @@ to offset block quotes."
MAIL-ACCOUNT-IDS is not provided, use all the mail accounts.  You can also
control whether to NOTIFY? when new emails arrive."
  (ensure-pred maybe-list? mail-account-ids)
  (ensure-pred any-package? goimapnotify)
  (ensure-pred file-like? goimapnotify)
  (ensure-pred boolean? notify?)

  (define (get-home-services config)
diff --git a/src/rde/features/ocaml.scm b/src/rde/features/ocaml.scm
index 37b0c6f5..0e4f6487 100644
--- a/src/rde/features/ocaml.scm
+++ b/src/rde/features/ocaml.scm
@@ -48,7 +48,7 @@
          (extra-ocaml-packages '())
          (opam? #f))
  "Configure tooling and environment for OCaml."
  (ensure-pred any-package? ocaml)
  (ensure-pred file-like? ocaml)
  (ensure-pred file-like? ocaml-core)
  (ensure-pred file-like? ocaml-findlib)
  (ensure-pred file-like? dune)
diff --git a/src/rde/features/predicates.scm b/src/rde/features/predicates.scm
index d5fecf44..ed40676f 100644
--- a/src/rde/features/predicates.scm
+++ b/src/rde/features/predicates.scm
@@ -8,11 +8,14 @@
  #:use-module (gnu system mapped-devices)

  #:use-module (srfi srfi-1)
  #:use-module (guix deprecation)
  #:use-module (guix packages)
  #:use-module (guix inferior)
  #:use-module (guix gexp)

  #:re-export (package?
  #:export (any-package?)
  #:re-export (file-like?
               package?
               ini-config?))

(define-public (maybe-integer? x)
@@ -58,14 +61,11 @@
(define-public (list-of-file-likes? lst)
  (and (list? lst) (every file-like? lst)))

(define-public (any-package? x)
  (or (package? x) (inferior-package? x)))
(define-deprecated/alias any-package? file-like?)

(define-public (list-of-packages? lst)
  (and (list? lst) (every any-package? lst)))
(define-public list-of-packages? list-of-file-likes?)

(define-public (list-of-elisp-packages? lst)
  (list-of-packages? lst))
(define-public list-of-elisp-packages? list-of-file-likes?)

(define-public (list-of-services? lst)
  (and (list? lst) (every service? lst)))
diff --git a/src/rde/features/shells.scm b/src/rde/features/shells.scm
index 4eaaa0c7..dc992089 100644
--- a/src/rde/features/shells.scm
+++ b/src/rde/features/shells.scm
@@ -154,7 +154,7 @@ Defaults:%wheel env_keep+=ZDOTDIR"))))
          #:key
          (bash bash))
  "Configure Bash."
  (ensure-pred any-package? bash)
  (ensure-pred file-like? bash)

  (define (get-home-services config)
    "Returns home services related to Bash."
diff --git a/src/rde/features/shellutils.scm b/src/rde/features/shellutils.scm
index 627aacd6..38f37535 100644
--- a/src/rde/features/shellutils.scm
+++ b/src/rde/features/shellutils.scm
@@ -117,7 +117,7 @@
          #:key
          (direnv direnv))
  "Configure direnv and related Emacs packages."
  (ensure-pred any-package? direnv)
  (ensure-pred file-like? direnv)

  (define (get-home-services config)
    "Returns home services related to direnv."
diff --git a/src/rde/features/system.scm b/src/rde/features/system.scm
index f3defff2..b2bf2b40 100644
--- a/src/rde/features/system.scm
+++ b/src/rde/features/system.scm
@@ -131,7 +131,7 @@ than at boot, and are unmounted when the user logs out."
          (firmware '())
          (base-firmware %base-firmware))
  "Provides kernel configuration."
  (ensure-pred any-package? kernel)
  (ensure-pred file-like? kernel)
  (ensure-pred list-of-packages? kernel-loadable-modules)
  (ensure-pred list-of-string-or-gexps? kernel-arguments)
  (ensure-pred list-of-string-or-gexps? default-kernel-arguments)
diff --git a/src/rde/features/terminals.scm b/src/rde/features/terminals.scm
index d06c6d1c..e341e68e 100644
--- a/src/rde/features/terminals.scm
+++ b/src/rde/features/terminals.scm
@@ -48,7 +48,7 @@
          (software-rendering? #f))
  "Configure Alacritty terminal."
  (ensure-pred maybe-file-like? config-file)
  (ensure-pred any-package? package)
  (ensure-pred file-like? package)

  ;; TODO: Implement home service and rewrite to it to make this
  ;; feature extendable.
diff --git a/src/rde/features/version-control.scm b/src/rde/features/version-control.scm
index abcc0f4e..65b3d75b 100644
--- a/src/rde/features/version-control.scm
+++ b/src/rde/features/version-control.scm
@@ -32,7 +32,7 @@
          (git-send-email? #t)
          (extra-config '()))
  "Setup and configure Git."
  (ensure-pred any-package? git)
  (ensure-pred file-like? git)
  (ensure-pred maybe-string? git-sign-key)
  (ensure-pred boolean? sign-commits?)
  (ensure-pred boolean? git-send-email?)
diff --git a/src/rde/features/video.scm b/src/rde/features/video.scm
index b6a0a888..3c40ff96 100644
--- a/src/rde/features/video.scm
+++ b/src/rde/features/video.scm
@@ -271,7 +271,7 @@ do with the file, and whether to add the file to the current PLAYLIST."
          (ytdl-key "y"))
  "Configure the yt-dlp program to download videos from YouTube
and various other sites."
  (ensure-pred any-package? yt-dlp)
  (ensure-pred file-like? yt-dlp)
  (ensure-pred file-like? yt-dlp-command)
  (ensure-pred file-like? emacs-ytdl)
  (ensure-pred list? music-dl-args)
diff --git a/src/rde/features/web-browsers.scm b/src/rde/features/web-browsers.scm
index 5fb9814c..9ad1faaa 100644
--- a/src/rde/features/web-browsers.scm
+++ b/src/rde/features/web-browsers.scm
@@ -55,7 +55,7 @@
          (default-startup-flags '("--user-data-dir=$XDG_DATA_HOME/chromium"))
          (desktop-startup-flags '("")))
  "Configure the Chromium browser."
  (ensure-pred any-package? ungoogled-chromium)
  (ensure-pred file-like? ungoogled-chromium)
  (ensure-pred boolean? default-browser?)
  (ensure-pred list-of-strings? default-startup-flags)
  (ensure-pred list-of-strings? desktop-startup-flags)
diff --git a/src/rde/features/wm.scm b/src/rde/features/wm.scm
index 1cb0c7f5..2e9b8b8c 100644
--- a/src/rde/features/wm.scm
+++ b/src/rde/features/wm.scm
@@ -126,9 +126,9 @@
  (ensure-pred sway-config? extra-config)
  (ensure-pred boolean? add-keyboard-layout-to-config?)
  (ensure-pred boolean? xwayland?)
  (ensure-pred any-package? sway)
  (ensure-pred any-package? foot)
  (ensure-pred any-package? bemenu)
  (ensure-pred file-like? sway)
  (ensure-pred file-like? foot)
  (ensure-pred file-like? bemenu)
  (ensure-pred file-like? qtwayland)
  (ensure-pred file-like? shepherd)
  (ensure-pred file-like? xdg-desktop-portal)
@@ -1056,7 +1056,7 @@ for the main bar."
          (lock-timeout 240)
          (extra-config '()))
  "Configure swayidle."
  (ensure-pred any-package? swayidle)
  (ensure-pred file-like? swayidle)

  (define swayidle-cmd (file-append swayidle "/bin/swayidle -w"))

@@ -1098,7 +1098,7 @@ for the main bar."
          (extra-config '())
          (default-screen-locker? #t))
  "Configure swaylock."
  (ensure-pred any-package? swaylock)
  (ensure-pred file-like? swaylock)

  (define (get-home-services config)
    (list
diff --git a/src/rde/features/xdisorg.scm b/src/rde/features/xdisorg.scm
index fc69c2df..263cb247 100644
--- a/src/rde/features/xdisorg.scm
+++ b/src/rde/features/xdisorg.scm
@@ -27,7 +27,7 @@
          (show-actions? #t)
          (default-application-launcher? #t))
  "Configure rofi."
  (ensure-pred any-package? rofi)
  (ensure-pred file-like? rofi)
  (ensure-pred file-like-or-path? theme)

  (define (get-home-services config)
-- 
2.47.1

[PATCH rde v3 2/2] rde: Deprecate list-of-packages? predicate Export this patch

---
 src/rde/features/base.scm       | 6 +++---
 src/rde/features/predicates.scm | 5 +++--
 src/rde/features/system.scm     | 6 +++---
 3 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/rde/features/base.scm b/src/rde/features/base.scm
index cfc0a1e8..66e1dda2 100644
--- a/src/rde/features/base.scm
+++ b/src/rde/features/base.scm
@@ -110,9 +110,9 @@
packages for home-environment, or operating-system, or both.
Standalone means that packages do not require configuration and not
installed by system or home services."
  (ensure-pred list-of-packages? home-packages)
  (ensure-pred list-of-packages? system-packages)
  (ensure-pred list-of-packages? base-system-packages)
  (ensure-pred list-of-file-likes? home-packages)
  (ensure-pred list-of-file-likes? system-packages)
  (ensure-pred list-of-file-likes? base-system-packages)

  (define (get-home-packages values)
    (list
diff --git a/src/rde/features/predicates.scm b/src/rde/features/predicates.scm
index ed40676f..e14f8fdf 100644
--- a/src/rde/features/predicates.scm
+++ b/src/rde/features/predicates.scm
@@ -13,7 +13,8 @@
  #:use-module (guix inferior)
  #:use-module (guix gexp)

  #:export (any-package?)
  #:export (any-package?
            list-of-packages?)
  #:re-export (file-like?
               package?
               ini-config?))
@@ -63,7 +64,7 @@

(define-deprecated/alias any-package? file-like?)

(define-public list-of-packages? list-of-file-likes?)
(define-deprecated/alias list-of-packages? list-of-file-likes?)

(define-public list-of-elisp-packages? list-of-file-likes?)

diff --git a/src/rde/features/system.scm b/src/rde/features/system.scm
index b2bf2b40..46250dee 100644
--- a/src/rde/features/system.scm
+++ b/src/rde/features/system.scm
@@ -132,11 +132,11 @@ than at boot, and are unmounted when the user logs out."
          (base-firmware %base-firmware))
  "Provides kernel configuration."
  (ensure-pred file-like? kernel)
  (ensure-pred list-of-packages? kernel-loadable-modules)
  (ensure-pred list-of-file-likes? kernel-loadable-modules)
  (ensure-pred list-of-string-or-gexps? kernel-arguments)
  (ensure-pred list-of-string-or-gexps? default-kernel-arguments)
  (ensure-pred list-of-packages? firmware)
  (ensure-pred list-of-packages? base-firmware)
  (ensure-pred list-of-file-likes? firmware)
  (ensure-pred list-of-file-likes? base-firmware)
  (ensure-pred procedure? initrd)
  (ensure-pred list-of-strings? initrd-modules)
  (ensure-pred list-of-strings? base-initrd-modules)
-- 
2.47.1
Do you have a suggestion or pro tip for integration testing set of
patches this that is automated or quick?