[PATCH 0/5] gnu: Nerdify Emacs.

  • Open
  • quality assurance status badge
Details
2 participants
  • Jaeme Sifat
  • Liliana Marie Prikler
Owner
unassigned
Submitted by
Jaeme Sifat
Severity
normal
J
J
Jaeme Sifat wrote on 23 Dec 2023 05:54
(address . guix-patches@gnu.org)(name . Jaeme Sifat)(address . jaeme@runbox.com)
cover.1703307288.git.jaeme@runbox.com
Noticed that we have a emacs-nerd-icons package, but it isn't acompanied by
any corresponding nerd icons packages. This patchset rectifies that.

Jaeme Sifat (5):
gnu: Add emacs-nerd-icons-dired.
gnu: Add emacs-nerd-icons-corfu.
gnu: Add emacs-nerd-icons-ivy-rich.
gnu: Add emacs-nerd-icons-ibuffer.
gnu: Add emacs-nerd-icons-completion.

gnu/packages/emacs-xyz.scm | 119 +++++++++++++++++++++++++++++++++++++
1 file changed, 119 insertions(+)


base-commit: ab1ff7ca40b0a2d935f715dcf64f0f3128632d3d
--
2.41.0
J
J
Jaeme Sifat wrote on 23 Dec 2023 06:02
[PATCH 1/5] gnu: Add emacs-nerd-icons-dired.
(address . 67983@debbugs.gnu.org)(name . Jaeme Sifat)(address . jaeme@runbox.com)
d7dd3f00df4eafd9e8fdd05bc66eb0ec2d18246f.1703307288.git.jaeme@runbox.com
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-dired): New variable.

Change-Id: I787f5a025b2023159beeffe29ce40e4c970692dd
---
gnu/packages/emacs-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 2802a339ff..21c637217a 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -28442,6 +28442,31 @@ (define-public emacs-nerd-icons
GUI and terminal, and requires a nerd font installed on your system.")
(license license:gpl3+)))
+(define-public emacs-nerd-icons-dired
+ (let ((commit "c1c73488630cc1d19ce1677359f614122ae4c1b9")
+ (revision "0"))
+ (package
+ (name "emacs-nerd-icons-dired")
+ (version (git-version "0.0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rainstormstudio/nerd-icons-dired/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ln73ii7c3chl4lvarwiwrdmx49q528wc0h6a7xbl68pc2pyyvq2"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-nerd-icons))
+ (home-page "https://github.com/rainstormstudio/nerd-icons-dired/")
+ (synopsis "Package that allows nerd icons to be integrated into
+@code{dired-mode}")
+ (description
+ "@code{nerd-icons-dired} is inspired by @code{all-the-icons-dired} and
+works in the same way. Requires a nerd font to be installed on your system.")
+ (license license:gpl3+))))
+
(define-public emacs-all-the-icons
(package
(name "emacs-all-the-icons")
--
2.41.0
J
J
Jaeme Sifat wrote on 23 Dec 2023 06:02
[PATCH 2/5] gnu: Add emacs-nerd-icons-corfu.
(address . 67983@debbugs.gnu.org)(name . Jaeme Sifat)(address . jaeme@runbox.com)
332b23c4cdfdcd18230a3c9c2222d08ee5215144.1703307288.git.jaeme@runbox.com
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-corfu): New variable.

Change-Id: I6c72e0a1d44f5cbe5fe4b436b4595685c99757a4
---
gnu/packages/emacs-xyz.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 21c637217a..fedf262ee7 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -28442,6 +28442,32 @@ (define-public emacs-nerd-icons
GUI and terminal, and requires a nerd font installed on your system.")
(license license:gpl3+)))
+(define-public emacs-nerd-icons-corfu
+ (let ((commit "7077bb76fefc15aed967476406a19dc5c2500b3c")
+ (revision "0"))
+ (package
+ (name "emacs-nerd-icons-corfu")
+ (version (git-version "0.3.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/LuigiPiucco/nerd-icons-corfu")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "13m20k242zma6jw7pkbw89fk3dnbkwdajcpiyay5xx2l9241snb7"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-nerd-icons))
+ (home-page "https://github.com/LuigiPiucco/nerd-icons-corfu")
+ (synopsis "Adds Nerd icons to completion candidates")
+ (description
+ "@code{nerd-icons-corfu} is a library for adding icons to completions
+in Corfu. It uses @code{nerd-icons.el} under the hood and, as such, works on
+both GUI and terminal. This requires a nerd font to be installed on your
+system.")
+ (license license:gpl3+))))
+
(define-public emacs-nerd-icons-dired
(let ((commit "c1c73488630cc1d19ce1677359f614122ae4c1b9")
(revision "0"))
--
2.41.0
J
J
Jaeme Sifat wrote on 23 Dec 2023 06:02
[PATCH 3/5] gnu: Add emacs-nerd-icons-ivy-rich.
(address . 67983@debbugs.gnu.org)(name . Jaeme Sifat)(address . jaeme@runbox.com)
6815bb128ea150685408bae88b817842b3a6481a.1703307288.git.jaeme@runbox.com
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-ivy-rich): New variable.

Change-Id: I5e4d8128544608bbafb58b9d04facfba04270c93
---
gnu/packages/emacs-xyz.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index fedf262ee7..1c2f320690 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -28493,6 +28493,28 @@ (define-public emacs-nerd-icons-dired
works in the same way. Requires a nerd font to be installed on your system.")
(license license:gpl3+))))
+(define-public emacs-nerd-icons-ivy-rich
+ (package
+ (name "emacs-nerd-icons-ivy-rich")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/seagle0128/nerd-icons-ivy-rich/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0psfjjqxrfkk7qaj44d20rrks31cik318vq2im5jff83bw1hgcbn"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-ivy-rich emacs-nerd-icons))
+ (home-page "https://github.com/seagle0128/nerd-icons-ivy-rich")
+ (synopsis "Display nerd icons for all buffers in @code{ivy}")
+ (description
+ "Display nerd icons for all buffers in @code{ivy}. Requires a nerd font
+be installed on your system.")
+ (license license:gpl3+)))
+
(define-public emacs-all-the-icons
(package
(name "emacs-all-the-icons")
--
2.41.0
J
J
Jaeme Sifat wrote on 23 Dec 2023 06:02
[PATCH 4/5] gnu: Add emacs-nerd-icons-ibuffer.
(address . 67983@debbugs.gnu.org)(name . Jaeme Sifat)(address . jaeme@runbox.com)
de8e6a74cc626c042f8dd469216adf2fe1728077.1703307288.git.jaeme@runbox.com
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-ibuffer): New variable.

Change-Id: I7591088092487f0aca3a53933bfdac19e97fcd31
---
gnu/packages/emacs-xyz.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 1c2f320690..99e6b7430c 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -28493,6 +28493,28 @@ (define-public emacs-nerd-icons-dired
works in the same way. Requires a nerd font to be installed on your system.")
(license license:gpl3+))))
+(define-public emacs-nerd-icons-ibuffer
+ (package
+ (name "emacs-nerd-icons-ibuffer")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/seagle0128/nerd-icons-ibuffer/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1wj6kcgvh700maj9i5pmgzc48lbj0dbxx849a8w519m4anr7b23s"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-nerd-icons))
+ (home-page "https://github.com/seagle0128/nerd-icons-ibuffer")
+ (synopsis "Display nerd icons in ibuffer")
+ (description
+ "Display nerd icons in ibuffer. Requires a nerd font to be installed on
+your system.")
+ (license license:gpl3+)))
+
(define-public emacs-nerd-icons-ivy-rich
(package
(name "emacs-nerd-icons-ivy-rich")
--
2.41.0
J
J
Jaeme Sifat wrote on 23 Dec 2023 06:02
[PATCH 5/5] gnu: Add emacs-nerd-icons-completion.
(address . 67983@debbugs.gnu.org)(name . Jaeme Sifat)(address . jaeme@runbox.com)
46764702d281ed1c8b39baf29ef00fc7bdf65928.1703307288.git.jaeme@runbox.com
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-completion): New variable.

Change-Id: I63cc9f31551b59f1e286fad03fbfa78973fffd2c
---
gnu/packages/emacs-xyz.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 99e6b7430c..6bbc400463 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -28442,6 +28442,30 @@ (define-public emacs-nerd-icons
GUI and terminal, and requires a nerd font installed on your system.")
(license license:gpl3+)))
+(define-public emacs-nerd-icons-completion
+ (let ((commit "c2db8557a3c1a9588d111f8c8e91cae96ee85010")
+ (revision "0"))
+ (package
+ (name "emacs-nerd-icons-completion")
+ (version (git-version "0.0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rainstormstudio/nerd-icons-completion/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "10ll0dj6ym5prrkv6smj0ac2ail4b3rqcrh1lyr61y3cj422vn9z"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-nerd-icons))
+ (home-page "https://github.com/rainstormstudio/nerd-icons-completion/")
+ (synopsis "Use nerd-icons for completion")
+ (description
+ "Use nerd-icons for completion. Requires a nerd font to be installed
+on your system.")
+ (license license:gpl3+))))
+
(define-public emacs-nerd-icons-corfu
(let ((commit "7077bb76fefc15aed967476406a19dc5c2500b3c")
(revision "0"))
--
2.41.0
L
L
Liliana Marie Prikler wrote on 23 Dec 2023 09:03
Re: [bug#67983] [PATCH 0/5] gnu: Nerdify Emacs.
53b5cf84fb9335669efe5b5ba876c55a6f2daf24.camel@gmail.com
Am Freitag, dem 22.12.2023 um 23:54 -0500 schrieb Jaeme Sifat:
Toggle quote (3 lines)
> Noticed that we have a emacs-nerd-icons package, but it isn't
> acompanied by any corresponding nerd icons packages. This patchset
> rectifies that.
On that matter, does the existing package work without downloading
extra fonts? The nerd fonts mix free and non-free ones willy-nilly, so
they'd better be avoided.

Cheers
J
J
Jaeme Sifat wrote on 23 Dec 2023 09:25
62fb2102-f2af-403f-a513-4c052f4bffd7@runbox.com
Toggle quote (1 lines)
> does the existing package work without downloading
> extra fonts?

The package works without the user having to install nonfree fonts. It
only requires the NerdFontsSymbolsOnly archive, which is licensed under
the expat license. There is an install script helper within the
nerd-icons package that installs *only* the symbols and not any nonfree
font, this ensures that the user would not have to go and possibly
download a nonfree nerd font themselves for the package to work.

I hope this clears it up.

Nerd Font Symbols Source (download link)

-
L
L
Liliana Marie Prikler wrote on 23 Dec 2023 11:59
Re: [bug#67983] [PATCH 5/5] gnu: Add emacs-nerd-icons-completion.
e620df4ca536dd8d2eb58e97384be2879ccb39da.camel@gmail.com
Am Samstag, dem 23.12.2023 um 00:02 -0500 schrieb Jaeme Sifat:
Toggle quote (43 lines)
> * gnu/packages/emacs-xyz.scm (emacs-nerd-icons-completion): New
> variable.
>
> Change-Id: I63cc9f31551b59f1e286fad03fbfa78973fffd2c
> ---
>  gnu/packages/emacs-xyz.scm | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
>
> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
> index 99e6b7430c..6bbc400463 100644
> --- a/gnu/packages/emacs-xyz.scm
> +++ b/gnu/packages/emacs-xyz.scm
> @@ -28442,6 +28442,30 @@ (define-public emacs-nerd-icons
>  GUI and terminal, and requires a nerd font installed on your
> system.")
>      (license license:gpl3+)))
>  
> +(define-public emacs-nerd-icons-completion
> +  (let ((commit "c2db8557a3c1a9588d111f8c8e91cae96ee85010")
> +        (revision "0"))
> +    (package
> +      (name "emacs-nerd-icons-completion")
> +      (version (git-version "0.0.1" revision commit))
> +      (source
> +       (origin
> +         (method git-fetch)
> +         (uri (git-reference
> +               (url
> "https://github.com/rainstormstudio/nerd-icons-completion/")
> +               (commit commit)))
> +         (file-name (git-file-name name version))
> +         (sha256
> +          (base32
> "10ll0dj6ym5prrkv6smj0ac2ail4b3rqcrh1lyr61y3cj422vn9z"))))
> +      (build-system emacs-build-system)
> +      (propagated-inputs (list emacs-nerd-icons))
> +      (home-page
> "https://github.com/rainstormstudio/nerd-icons-completion/")
> +      (synopsis "Use nerd-icons for completion")
> +      (description
> +       "Use nerd-icons for completion.  Requires a nerd font to be
> installed
> +on your system.")
The descriptions should consist of full sentences.

Cheers
J
J
Jaeme Sifat wrote on 23 Dec 2023 20:38
[PATCH vREVISION 5/5] gnu: Add emacs-nerd-icons-completion.
(address . 67983@debbugs.gnu.org)(name . Jaeme Sifat)(address . jaeme@runbox.com)
db1e643383fdcc1a2bd61b36e6ca5318728a73b8.1703360311.git.jaeme@runbox.com
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-completion): New variable.

Change-Id: I63cc9f31551b59f1e286fad03fbfa78973fffd2c
---
gnu/packages/emacs-xyz.scm | 35 ++++++++++++++++++++++++++++++-----
1 file changed, 30 insertions(+), 5 deletions(-)

Toggle diff (73 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 99e6b7430c..2cd2b22c71 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -28442,6 +28442,30 @@ (define-public emacs-nerd-icons
GUI and terminal, and requires a nerd font installed on your system.")
(license license:gpl3+)))

+(define-public emacs-nerd-icons-completion
+ (let ((commit "c2db8557a3c1a9588d111f8c8e91cae96ee85010")
+ (revision "0"))
+ (package
+ (name "emacs-nerd-icons-completion")
+ (version (git-version "0.0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rainstormstudio/nerd-icons-completion/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "10ll0dj6ym5prrkv6smj0ac2ail4b3rqcrh1lyr61y3cj422vn9z"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-nerd-icons))
+ (home-page "https://github.com/rainstormstudio/nerd-icons-completion/")
+ (synopsis "Use nerd-icons for completion")
+ (description
+ "This package provides the use of nerd-icons for completion. This
+requires a nerd font to be installed on your system.")
+ (license license:gpl3+))))
+
(define-public emacs-nerd-icons-corfu
(let ((commit "7077bb76fefc15aed967476406a19dc5c2500b3c")
(revision "0"))
@@ -28490,7 +28514,8 @@ (define-public emacs-nerd-icons-dired
@code{dired-mode}")
(description
"@code{nerd-icons-dired} is inspired by @code{all-the-icons-dired} and
-works in the same way. Requires a nerd font to be installed on your system.")
+works in the same way. This requires a nerd font to be installed on your
+system.")
(license license:gpl3+))))

(define-public emacs-nerd-icons-ibuffer
@@ -28511,8 +28536,8 @@ (define-public emacs-nerd-icons-ibuffer
(home-page "https://github.com/seagle0128/nerd-icons-ibuffer")
(synopsis "Display nerd icons in ibuffer")
(description
- "Display nerd icons in ibuffer. Requires a nerd font to be installed on
-your system.")
+ "This package provides displaying nerd icons in ibuffer. This requires a
+nerd font to be installed on your system.")
(license license:gpl3+)))

(define-public emacs-nerd-icons-ivy-rich
@@ -28533,8 +28558,8 @@ (define-public emacs-nerd-icons-ivy-rich
(home-page "https://github.com/seagle0128/nerd-icons-ivy-rich")
(synopsis "Display nerd icons for all buffers in @code{ivy}")
(description
- "Display nerd icons for all buffers in @code{ivy}. Requires a nerd font
-be installed on your system.")
+ "This package provides displaying nerd icons for all buffers in
+@code{ivy}. This requires a nerd font be installed on your system.")
(license license:gpl3+)))

(define-public emacs-all-the-icons

base-commit: ab1ff7ca40b0a2d935f715dcf64f0f3128632d3d
prerequisite-patch-id: fb101a604c75f37ad97e84ee5a14569f267813a0
prerequisite-patch-id: 371f818d680e9ab30369d76cb4ea05edc1d7352c
prerequisite-patch-id: 6496e4d82468a8a14f155fca1abd689f6c6fd5b8
prerequisite-patch-id: e85aa0771ec7b4647fb905ff0a10b0a4ffad22c9
--
2.41.0
L
L
Liliana Marie Prikler wrote on 23 Dec 2023 20:55
78fbddb21118cf8c36818359ff90f2b516c0992b.camel@gmail.com
Am Samstag, dem 23.12.2023 um 14:38 -0500 schrieb Jaeme Sifat:
Toggle quote (4 lines)
> * gnu/packages/emacs-xyz.scm (emacs-nerd-icons-completion): New
> variable.
>
> Change-Id: I63cc9f31551b59f1e286fad03fbfa78973fffd2c
Sorry, but you need to amend each patch on its own :(

For REVISION put a number, like 2 or 3, next time :)

Cheers
J
J
Jaeme Sifat wrote on 23 Dec 2023 22:23
[PATCH v2REVISION 0/6] gnu: Nerdify Emacs
(address . 67983@debbugs.gnu.org)(name . Jaeme Sifat)(address . jaeme@runbox.com)
cover.1703366019.git.jaeme@runbox.com
This revised patchset rectifies the issues with the descriptions of the
previous patches. It also adds an extra patch for revising the description of
emacs-nerd-icons to mention being able to download a libre nerd font from
within the package itself.

Jaeme Sifat (6):
gnu: Add emacs-nerd-icons-dired.
gnu: Add emacs-nerd-icons-corfu.
gnu: Add emacs-nerd-icons-ivy-rich.
gnu: Add emacs-nerd-icons-ibuffer.
gnu: Add emacs-nerd-icons-completion.
gnu: emacs-nerd-icons: Update description.

gnu/packages/emacs-xyz.scm | 126 ++++++++++++++++++++++++++++++++++++-
1 file changed, 124 insertions(+), 2 deletions(-)


base-commit: a8196632647b343f8e03c8f12fbdc0cc84ff90f6
--
2.41.0
J
J
Jaeme Sifat wrote on 23 Dec 2023 22:23
[PATCH v2REVISION 1/6] gnu: Add emacs-nerd-icons-dired.
(address . 67983@debbugs.gnu.org)(name . Jaeme Sifat)(address . jaeme@runbox.com)
811e0b5a6364e016b838041c4a4b29d97539659d.1703366019.git.jaeme@runbox.com
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-dired): New variable.

Change-Id: I787f5a025b2023159beeffe29ce40e4c970692dd
---
gnu/packages/emacs-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 2802a339ff..81a935cb7a 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -28442,6 +28442,31 @@ (define-public emacs-nerd-icons
GUI and terminal, and requires a nerd font installed on your system.")
(license license:gpl3+)))

+(define-public emacs-nerd-icons-dired
+ (let ((commit "c1c73488630cc1d19ce1677359f614122ae4c1b9")
+ (revision "0"))
+ (package
+ (name "emacs-nerd-icons-dired")
+ (version (git-version "0.0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rainstormstudio/nerd-icons-dired/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ln73ii7c3chl4lvarwiwrdmx49q528wc0h6a7xbl68pc2pyyvq2"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-nerd-icons))
+ (home-page "https://github.com/rainstormstudio/nerd-icons-dired/")
+ (synopsis "Allows nerd icons to be integrated into @code{dired-mode}")
+ (description
+ "@code{nerd-icons-dired} is inspired by @code{all-the-icons-dired} and
+works in the same way by adding icons to the @code{dired} buffer. This
+requires a nerd font to be installed on your system.")
+ (license license:gpl3+))))
+
(define-public emacs-all-the-icons
(package
(name "emacs-all-the-icons")
--
2.41.0
J
J
Jaeme Sifat wrote on 23 Dec 2023 22:23
[PATCH v2REVISION 2/6] gnu: Add emacs-nerd-icons-corfu.
(address . 67983@debbugs.gnu.org)(name . Jaeme Sifat)(address . jaeme@runbox.com)
ce7453f6766871edcf9a203b98852af988904a40.1703366019.git.jaeme@runbox.com
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-corfu): New variable.

Change-Id: I6c72e0a1d44f5cbe5fe4b436b4595685c99757a4
---
gnu/packages/emacs-xyz.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 81a935cb7a..a03219b886 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -28442,6 +28442,32 @@ (define-public emacs-nerd-icons
GUI and terminal, and requires a nerd font installed on your system.")
(license license:gpl3+)))

+(define-public emacs-nerd-icons-corfu
+ (let ((commit "7077bb76fefc15aed967476406a19dc5c2500b3c")
+ (revision "0"))
+ (package
+ (name "emacs-nerd-icons-corfu")
+ (version (git-version "0.3.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/LuigiPiucco/nerd-icons-corfu")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "13m20k242zma6jw7pkbw89fk3dnbkwdajcpiyay5xx2l9241snb7"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-nerd-icons))
+ (home-page "https://github.com/LuigiPiucco/nerd-icons-corfu")
+ (synopsis "Adds nerd icons to completion candidates")
+ (description
+ "@code{nerd-icons-corfu} is a library for adding icons to completions
+in Corfu. It uses @code{nerd-icons.el} under the hood and, as such, works on
+both GUI and terminal. This requires a nerd font to be installed on your
+system.")
+ (license license:gpl3+))))
+
(define-public emacs-nerd-icons-dired
(let ((commit "c1c73488630cc1d19ce1677359f614122ae4c1b9")
(revision "0"))
--
2.41.0
J
J
Jaeme Sifat wrote on 23 Dec 2023 22:23
[PATCH v2REVISION 3/6] gnu: Add emacs-nerd-icons-ivy-rich.
(address . 67983@debbugs.gnu.org)(name . Jaeme Sifat)(address . jaeme@runbox.com)
60b2d674f1a1ade1b314f0ce328840416702ca52.1703366019.git.jaeme@runbox.com
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-ivy-rich): New variable.

Change-Id: I5e4d8128544608bbafb58b9d04facfba04270c93
---
gnu/packages/emacs-xyz.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index a03219b886..6bf609a482 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -28493,6 +28493,28 @@ (define-public emacs-nerd-icons-dired
requires a nerd font to be installed on your system.")
(license license:gpl3+))))

+(define-public emacs-nerd-icons-ivy-rich
+ (package
+ (name "emacs-nerd-icons-ivy-rich")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/seagle0128/nerd-icons-ivy-rich/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0psfjjqxrfkk7qaj44d20rrks31cik318vq2im5jff83bw1hgcbn"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-ivy-rich emacs-nerd-icons))
+ (home-page "https://github.com/seagle0128/nerd-icons-ivy-rich")
+ (synopsis "Display nerd icons for all buffers in @code{ivy}")
+ (description
+ "This package provides displaying nerd icons for all buffers in
+@code{ivy}. This requires a nerd font be installed on your system.")
+ (license license:gpl3+)))
+
(define-public emacs-all-the-icons
(package
(name "emacs-all-the-icons")
--
2.41.0
J
J
Jaeme Sifat wrote on 23 Dec 2023 22:23
[PATCH v2REVISION 4/6] gnu: Add emacs-nerd-icons-ibuffer.
(address . 67983@debbugs.gnu.org)(name . Jaeme Sifat)(address . jaeme@runbox.com)
c6beada02ee5ac8cac8090de459d2658c29d29ad.1703366019.git.jaeme@runbox.com
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-ibuffer): New variable.

Change-Id: I7591088092487f0aca3a53933bfdac19e97fcd31
---
gnu/packages/emacs-xyz.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 6bf609a482..9cdaea2ad4 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -28493,6 +28493,28 @@ (define-public emacs-nerd-icons-dired
requires a nerd font to be installed on your system.")
(license license:gpl3+))))

+(define-public emacs-nerd-icons-ibuffer
+ (package
+ (name "emacs-nerd-icons-ibuffer")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/seagle0128/nerd-icons-ibuffer/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1wj6kcgvh700maj9i5pmgzc48lbj0dbxx849a8w519m4anr7b23s"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-nerd-icons))
+ (home-page "https://github.com/seagle0128/nerd-icons-ibuffer")
+ (synopsis "Display nerd icons in @code{ibuffer}")
+ (description
+ "This package provides displaying nerd icons in @code{ibuffer}. This
+requires a nerd font to be installed on your system.")
+ (license license:gpl3+)))
+
(define-public emacs-nerd-icons-ivy-rich
(package
(name "emacs-nerd-icons-ivy-rich")
--
2.41.0
J
J
Jaeme Sifat wrote on 23 Dec 2023 22:23
[PATCH v2REVISION 5/6] gnu: Add emacs-nerd-icons-completion.
(address . 67983@debbugs.gnu.org)(name . Jaeme Sifat)(address . jaeme@runbox.com)
3b228777a52382482db7aa25b347f67f42442c36.1703366019.git.jaeme@runbox.com
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-completion): New variable.

Change-Id: I63cc9f31551b59f1e286fad03fbfa78973fffd2c
---
gnu/packages/emacs-xyz.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 9cdaea2ad4..936d558ae3 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -28442,6 +28442,30 @@ (define-public emacs-nerd-icons
GUI and terminal, and requires a nerd font installed on your system.")
(license license:gpl3+)))

+(define-public emacs-nerd-icons-completion
+ (let ((commit "c2db8557a3c1a9588d111f8c8e91cae96ee85010")
+ (revision "0"))
+ (package
+ (name "emacs-nerd-icons-completion")
+ (version (git-version "0.0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rainstormstudio/nerd-icons-completion/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "10ll0dj6ym5prrkv6smj0ac2ail4b3rqcrh1lyr61y3cj422vn9z"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-nerd-icons))
+ (home-page "https://github.com/rainstormstudio/nerd-icons-completion/")
+ (synopsis "Use nerd icons for completion")
+ (description
+ "This package provides using nerd icons for completion. This requires
+a nerd font to be installed on your system.")
+ (license license:gpl3+))))
+
(define-public emacs-nerd-icons-corfu
(let ((commit "7077bb76fefc15aed967476406a19dc5c2500b3c")
(revision "0"))
--
2.41.0
J
J
Jaeme Sifat wrote on 23 Dec 2023 22:23
[PATCH v2REVISION 6/6] gnu: emacs-nerd-icons: Update description.
(address . 67983@debbugs.gnu.org)(name . Jaeme Sifat)(address . jaeme@runbox.com)
c54b6e25845b52b89c16bfb163bab849db46bfff.1703366019.git.jaeme@runbox.com
Updates the description field to mention the ability to download a libre nerd
font within the package itself and to fix grammatical errors.

* gnu/packages/emacs-xyz.scm (emacs-nerd-icons): Update description field.

Change-Id: I927dfda8cbd7f9a2eca767260f64da1be9b1544d
---
gnu/packages/emacs-xyz.scm | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

Toggle diff (18 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 936d558ae3..b0f222b735 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -28438,8 +28438,11 @@ (define-public emacs-nerd-icons
(arguments
(list #:include #~(cons "^data\\/" %default-include)))
(synopsis "Library for easily using nerd font icons inside Emacs")
- (description "Nerd-icons an alternative to all-the-icons. It works on both
-GUI and terminal, and requires a nerd font installed on your system.")
+ (description
+ "@code{nerd-icons.el} is an alternative to @code{all-the-icons.el} that
+works on both graphical and text-based Emacs sessions. This requires a nerd
+font installed on your system which can be done by using the built-in nerd
+font symbols downloader script after installation.")
(license license:gpl3+)))

(define-public emacs-nerd-icons-completion
--
2.41.0
J
J
Jaeme Sifat wrote on 23 Dec 2023 22:39
[PATCH v3REVISION 2/6] gnu: Add emacs-nerd-icons-corfu.
(address . 67983@debbugs.gnu.org)(name . Jaeme Sifat)(address . jaeme@runbox.com)
88a3992bd9ddd3747e5ed8552a649af0e2cb500e.1703367325.git.jaeme@runbox.com
Removed mention to emacs-nerd-icons in the description field.

* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-corfu): New variable.

Change-Id: I6c72e0a1d44f5cbe5fe4b436b4595685c99757a4
---
gnu/packages/emacs-xyz.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 81a935cb7a..b593c4e440 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -28442,6 +28442,30 @@ (define-public emacs-nerd-icons
GUI and terminal, and requires a nerd font installed on your system.")
(license license:gpl3+)))

+(define-public emacs-nerd-icons-corfu
+ (let ((commit "7077bb76fefc15aed967476406a19dc5c2500b3c")
+ (revision "0"))
+ (package
+ (name "emacs-nerd-icons-corfu")
+ (version (git-version "0.3.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/LuigiPiucco/nerd-icons-corfu")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "13m20k242zma6jw7pkbw89fk3dnbkwdajcpiyay5xx2l9241snb7"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-nerd-icons))
+ (home-page "https://github.com/LuigiPiucco/nerd-icons-corfu")
+ (synopsis "Adds nerd icons to completion candidates")
+ (description
+ "@code{nerd-icons-corfu} is a library for adding icons to completions
+in Corfu. This requires a nerd font to be installed on your system.")
+ (license license:gpl3+))))
+
(define-public emacs-nerd-icons-dired
(let ((commit "c1c73488630cc1d19ce1677359f614122ae4c1b9")
(revision "0"))

base-commit: a8196632647b343f8e03c8f12fbdc0cc84ff90f6
prerequisite-patch-id: e071d9d1b36581d7b906fb55e831167d732c8b1d
--
2.41.0
J
J
Jaeme Sifat wrote on 23 Dec 2023 23:20
Re: [PATCH v2REVISION 0/6] gnu: Nerdify Emacs
(address . 67983@debbugs.gnu.org)
8e485315-931d-463e-800f-57b0129948ec@runbox.com
I hope this new patch-set fixes the previous issues. I tried to make all
the descriptions consistent with each other and also tried to make it
clear in the original nerd-icons package that it does not require
non-free fonts to use. I personally use nerd icons a lot in Emacs so
thank you for taking the time to review my patches.

Thanks again,

Jaeme
J
J
Jaeme Sifat wrote on 21 Jan 00:51 +0100
Revised patches for nerd fonts packages
(address . 67983@debbugs.gnu.org)
e0e57da3-e423-4dd3-a800-c268100e337e@runbox.com
Hi, This is just a friendly bump for my patchset to add nerd font
packages to Emacs. There has been no activity on this thread for almost
a month regarding the new patches.

--

Jaeme
L
L
Liliana Marie Prikler wrote on 21 Jan 09:29 +0100
0e78f8a0772c2779a8849a1846e098a0fdfb760f.camel@gmail.com
Am Samstag, dem 20.01.2024 um 18:51 -0500 schrieb Jaeme Sifat:
Toggle quote (3 lines)
> Hi, This is just a friendly bump for my patchset to add nerd font
> packages to Emacs. There has been no activity on this thread for
> almost a month regarding the new patches.
I don't see how "a built-in downloader" fixes the issues I've pointed
out. Rather, unless this downloader only picks free fonts, it might
well violate the FSDG. I think we'd do well in substitute*-ing the
nerd fonts where needed.

Cheers
J
J
Jaeme Sifat wrote on 21 Jan 18:25 +0100
Re: built-in downloader
3eb2b8eb-50d8-455a-9e54-ca66c88fe551@runbox.com
On 1/21/24 03:29, Liliana Marie Prikler wrote:

Toggle quote (11 lines)
> Am Samstag, dem 20.01.2024 um 18:51 -0500 schrieb Jaeme Sifat:
>> Hi, This is just a friendly bump for my patchset to add nerd font
>> packages to Emacs. There has been no activity on this thread for
>> almost a month regarding the new patches.
> I don't see how "a built-in downloader" fixes the issues I've pointed
> out. Rather, unless this downloader only picks free fonts, it might
> well violate the FSDG. I think we'd do well in substitute*-ing the
> nerd fonts where needed.
>
> Cheers

On closer inspection, The built-in downloader for `nerd-icons.el' is
this procedure.

Toggle snippet (39 lines)
;;;###autoload
(defun nerd-icons-install-fonts (&optional pfx)
"Helper function to download and install the latests fonts based on OS.
The provided Nerd Font is Symbols Nerd Font Mono.
When PFX is non-nil, ignore the prompt and just install"
(interactive "P")
(when (or pfx (yes-or-no-p "This will download and install fonts, are you sure you want to do this?"))
(let* ((url-format "https://raw.githubusercontent.com/rainstormstudio/nerd-icons.el/main/fonts/%s")
(font-dest (cond
;; Default Linux install directories
((member system-type '(gnu gnu/linux gnu/kfreebsd))
(concat (or (getenv "XDG_DATA_HOME")
(concat (getenv "HOME") "/.local/share"))
"/fonts/"
nerd-icons-fonts-subdirectory))
;; Default MacOS install directory
((eq system-type 'darwin)
(concat (getenv "HOME")
"/Library/Fonts/"
nerd-icons-fonts-subdirectory))))
(known-dest? (stringp font-dest))
(font-dest (or font-dest (read-directory-name "Font installation directory: " "~/"))))

(unless (file-directory-p font-dest) (mkdir font-dest t))

(mapc (lambda (font)
(url-copy-file (format url-format font) (expand-file-name font font-dest) t))
nerd-icons-font-names)
(when known-dest?
(message "Fonts downloaded, updating font cache... <fc-cache -f -v> ")
(shell-command-to-string (format "fc-cache -f -v")))
(message "%s Successfully %s `nerd-icons' fonts to `%s'!"
(nerd-icons-wicon "nf-weather-stars" :v-adjust 0.0)
(if known-dest? "installed" "downloaded")
font-dest))))


The provided font is Symbols Nerd Font Mono, which is distributed under the expat license.
However, I agree that this built in downloader has the chance of violating the FSDG sometime in the future
since it points to the main branch of the repo. It [the nerd icons repository] also redistributes the nerd icons font
without the respective license notice.

Toggle quote (3 lines)
> I think we'd do well in substitute*-ing the
> nerd fonts where needed.

I agree, the much better solution would be to create a patch that removes this crude built-in downloader and instead uses Guix for
the nerd icons. So I'm going to send patches that 1. removes the built-in font downloader for `emacs-nerd-icons' and 2.
Adds the nerd icons font to Emacs (licensed under expat) and 3. Adds that icon font as a propagated input to `emacs-nerd-icons'

As a note I'm surprised that `emacs-nerd-icons' managed to be merged into master as it seems to be the main culprit.
Maybe we should remove it for the sake of consistency until this fix is made? I'm willing to send a revised patchset
that contains all the emacs nerd font packages + compliance patches with the FSDG.

I'm going to see what I can do, thank you for your patience.

---
Jaeme
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 67983@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 67983
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch