Subject: [bug#38097] Add gnome-xyz for themes and shell extensions

From: Leo Prikler <[email-masked]>
Date: Thu, 07 Nov 2019 19:34:23 +0100

> Overall this looks fine, thanks. The indentation of the first patch
> is
> wrong. Also you have several lines hitting the 78 columns limit. You
> need to wrap them manually.
Forgetting to hit TAB, my old nemesis.  I assume this limit counts for
ChangeLog entries too, does it?

> Can you please send an updated version?
Of course.  I've reformatted all three of them and added them again
here as attachments.  I also ran `guix lint` this time with the
formatting checks enabled, as I should have before sending the first
one :)

Regards,

Leo
From 3a16e3f2cee75d8366c093f69fdb348efd5bb941 Mon Sep 17 00:00:00 2001
From: Leo Prikler <[email-masked]>
Date: Thu, 7 Nov 2019 10:16:19 +0100
Subject: [PATCH 1/3] gnu: Add delft-icon-theme

* /gnu/packages/gnome-xyz.scm: New file.
(delft-icon-theme): New variable.
* /gnu/local.mk: Add it.
---
 gnu/local.mk               |  1 +
 gnu/packages/gnome-xyz.scm | 60 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 61 insertions(+)
 create mode 100644 gnu/packages/gnome-xyz.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 2513b4003c..0f02c4b6be 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -213,6 +213,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/gl.scm				\
   %D%/packages/glib.scm				\
   %D%/packages/gnome.scm			\
+  %D%/packages/gnome-xyz.scm			\
   %D%/packages/gnu-doc.scm			\
   %D%/packages/gnucash.scm			\
   %D%/packages/gnunet.scm			\
diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm
new file mode 100644
index 0000000000..1981431b60
--- /dev/null
+++ b/gnu/packages/gnome-xyz.scm
@@ -0,0 +1,60 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Leo Prikler <[email-masked]>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages gnome-xyz)
+  #:use-module (guix build-system trivial)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix git-download)
+  #:use-module (guix packages)
+  #:use-module ((guix licenses) #:prefix license:)
+
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages pkg-config))
+
+(define-public delft-icon-theme
+  (package
+    (name "delft-icon-theme")
+    (version "1.10")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/madmaxms/iconpack-delft.git")
+             (commit (string-append "v" version))))
+       (sha256
+        (base32
+         "0vw3yw9f9ygzfd2k3zrfih3r0vkzlhk1bmsk8sapvk7np24i1z9s"))
+       (file-name (git-file-name name version))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (copy-recursively (assoc-ref %build-inputs "source") "icons")
+         (delete-file "icons/README.md")
+         (delete-file "icons/LICENSE")
+         (delete-file "icons/logo.jpg")
+         (copy-recursively "icons" (string-append %output "/share/icons")))))
+    (home-page "https://www.gnome-look.org/p/1199881/")
+    (synopsis "Continuation of Faenza icon theme with up to date app icons")
+    (description "Delft is a fork of the popular icon theme Faenza with up to
+date app icons.  It will stay optically close to the original Faenza icons,
+which haven't been updated for some years.  The new app icons are ported from
+the Obsidian icon theme.")
+    (license license:gpl3)))
-- 
2.24.0

From eed8e427a956d3ef0247f9d5679f5bcca55c5006 Mon Sep 17 00:00:00 2001
From: Leo Prikler <[email-masked]>
Date: Thu, 7 Nov 2019 19:20:44 +0100
Subject: [PATCH 2/3] gnu: add gnome-shell-extension-dash-to-dock

* gnu/packages/gnome-xyz.scm: (gnome-shell-extension-dash-to-dock):
New variable.
---
 gnu/packages/gnome-xyz.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm
index 1981431b60..106226bf2f 100644
--- a/gnu/packages/gnome-xyz.scm
+++ b/gnu/packages/gnome-xyz.scm
@@ -58,3 +58,40 @@ date app icons.  It will stay optically close to the original Faenza icons,
 which haven't been updated for some years.  The new app icons are ported from
 the Obsidian icon theme.")
     (license license:gpl3)))
+
+(define-public gnome-shell-extension-dash-to-dock
+  (package
+    (name "gnome-shell-extension-dash-to-dock")
+    (version "65")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/micheleg/dash-to-dock.git")
+                    (commit (string-append "extensions.gnome.org-v"
+                                           version))))
+              (sha256
+               (base32
+                "0ln49l9s0yfl30pi77pz7xlmh63l9vjppi863kry5lay10dsvz47"))
+              (file-name (git-file-name name version))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:tests? #f
+       #:make-flags (list (string-append "INSTALLBASE="
+                                         (assoc-ref %outputs "out")
+                                         "/share/gnome-shell/extensions"))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'bootstrap)
+         (delete 'configure))))
+    (native-inputs
+     `(("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)))
+    (propagated-inputs
+     `(("glib" ,glib)
+       ("glib" ,glib "bin")))
+    (synopsis "Transforms GNOME's dash into a dock")
+    (description "This extension moves the dash out of the overview,
+transforming it into a dock for easier application launching and faster window
+switching.")
+    (home-page "https://micheleg.github.io/dash-to-dock/")
+    (license license:gpl2+)))
-- 
2.24.0

From 0b3f6bde7b70f3b098421a16877fe0879977a23c Mon Sep 17 00:00:00 2001
From: Leo Prikler <[email-masked]>
Date: Thu, 7 Nov 2019 10:22:02 +0100
Subject: [PATCH 3/3] gnu: add gnome-shell-extension-noannoyance

* gnu/packages/gnome-xyz: (gnome-shell-extension-noannoyance): New variable.
---
 gnu/packages/gnome-xyz.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm
index 106226bf2f..d6da1e4bbb 100644
--- a/gnu/packages/gnome-xyz.scm
+++ b/gnu/packages/gnome-xyz.scm
@@ -95,3 +95,34 @@ transforming it into a dock for easier application launching and faster window
 switching.")
     (home-page "https://micheleg.github.io/dash-to-dock/")
     (license license:gpl2+)))
+
+(define-public gnome-shell-extension-noannoyance
+  (package
+    (name "gnome-shell-extension-noannoyance")
+    (version "5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/BjoernDaase/noannoyance.git")
+                    (commit "e37b5b3c31f577b4698bc6659bc9fec5ea9ac5d4")))
+              (sha256
+               (base32
+                "0fa8l3xlh8kbq07y4385wpb908zm6x53z81q16xlmin97dln32hh"))
+              (file-name (git-file-name name version))))
+    (build-system trivial-build-system)
+    (arguments
+     '(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((dst (string-append
+                     (assoc-ref %outputs "out")
+                     "/share/gnome-shell/extensions/"
+                     "[email-masked]")))
+           (mkdir-p dst)
+           (copy-recursively (assoc-ref %build-inputs "source") dst)))))
+    (synopsis "Removes 'Window is ready' annotation")
+    (description "One of the many extensions, that remove this message.
+It uses ES6 syntax and claims to be more actively maintained than others.")
+    (home-page "https://extensions.gnome.org/extension/2182/noannoyance/")
+    (license license:gpl2)))
-- 
2.24.0