gnu: Add axoloti-patcher-next.
[jackhill/guix/guix.git] / gnu / packages / gnome-xyz.scm
CommitLineData
b26a239c
LP
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2019 Leo Prikler <leo.prikler@student.tugraz.at>
ec574bb3 3;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org>
72332f3c 4;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
5a30234c 5;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
b26a239c
LP
6;;;
7;;; This file is part of GNU Guix.
8;;;
9;;; GNU Guix is free software; you can redistribute it and/or modify it
10;;; under the terms of the GNU General Public License as published by
11;;; the Free Software Foundation; either version 3 of the License, or (at
12;;; your option) any later version.
13;;;
14;;; GNU Guix is distributed in the hope that it will be useful, but
15;;; WITHOUT ANY WARRANTY; without even the implied warranty of
16;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17;;; GNU General Public License for more details.
18;;;
19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21
22(define-module (gnu packages gnome-xyz)
23 #:use-module (guix build-system trivial)
24 #:use-module (guix build-system gnu)
25 #:use-module (guix git-download)
26 #:use-module (guix packages)
27 #:use-module ((guix licenses) #:prefix license:)
ec574bb3
AT
28 #:use-module (gnu packages base)
29 #:use-module (gnu packages bash)
b26a239c 30 #:use-module (gnu packages glib)
72332f3c 31 #:use-module (gnu packages gnome)
ec574bb3 32 #:use-module (gnu packages gtk)
72332f3c
GL
33 #:use-module (gnu packages pkg-config)
34 #:use-module (gnu packages ruby)
35 #:use-module (gnu packages xml))
b26a239c 36
ec574bb3
AT
37(define-public matcha-theme
38 (package
39 (name "matcha-theme")
40 (version "2019-11-02")
41 (source
42 (origin
43 (method git-fetch)
44 (uri
45 (git-reference
46 (url "https://github.com/vinceliuice/matcha")
47 (commit version)))
48 (file-name (git-file-name name version))
49 (sha256
50 (base32
51 "0wci9ahap8kynq8cbyxr7aba9ndb1d4kiq42xvzr34vw1rhcahrr"))))
52 (build-system trivial-build-system)
53 (arguments
54 '(#:modules ((guix build utils))
55 #:builder
56 (begin
57 (use-modules (guix build utils))
58 (let* ((out (assoc-ref %outputs "out"))
59 (source (assoc-ref %build-inputs "source"))
60 (bash (assoc-ref %build-inputs "bash"))
61 (coreutils (assoc-ref %build-inputs "coreutils"))
62 (themesdir (string-append out "/share/themes")))
63 (setenv "PATH"
64 (string-append coreutils "/bin:"
65 (string-append bash "/bin:")))
66 (copy-recursively source (getcwd))
67 (patch-shebang "Install")
68 (mkdir-p themesdir)
69 (invoke "./Install" "-d" themesdir)
70 #t))))
71 (inputs
72 `(("gtk-engines" ,gtk-engines)))
73 (native-inputs
74 `(("bash" ,bash)
75 ("coreutils" ,coreutils)))
76 (synopsis "Flat design theme for GTK 3, GTK 2 and GNOME-Shell")
77 (description "Matcha is a flat Design theme for GTK 3, GTK 2 and
78Gnome-Shell which supports GTK 3 and GTK 2 based desktop environments
79like Gnome, Unity, Budgie, Pantheon, XFCE, Mate and others.")
80 (home-page "https://github.com/vinceliuice/matcha")
81 (license license:gpl3+)))
82
b26a239c
LP
83(define-public delft-icon-theme
84 (package
85 (name "delft-icon-theme")
86 (version "1.10")
87 (source
88 (origin
89 (method git-fetch)
90 (uri (git-reference
91 (url "https://github.com/madmaxms/iconpack-delft.git")
92 (commit (string-append "v" version))))
93 (sha256
94 (base32
95 "0vw3yw9f9ygzfd2k3zrfih3r0vkzlhk1bmsk8sapvk7np24i1z9s"))
96 (file-name (git-file-name name version))))
97 (build-system trivial-build-system)
98 (arguments
99 `(#:modules ((guix build utils))
100 #:builder
101 (begin
102 (use-modules (guix build utils))
103 (copy-recursively (assoc-ref %build-inputs "source") "icons")
1ea509fb
LP
104 (substitute* "icons/Delft/index.theme"
105 (("gnome") "Adwaita"))
b26a239c
LP
106 (delete-file "icons/README.md")
107 (delete-file "icons/LICENSE")
108 (delete-file "icons/logo.jpg")
109 (copy-recursively "icons" (string-append %output "/share/icons")))))
110 (home-page "https://www.gnome-look.org/p/1199881/")
111 (synopsis "Continuation of Faenza icon theme with up to date app icons")
112 (description "Delft is a fork of the popular icon theme Faenza with up to
113date app icons. It will stay optically close to the original Faenza icons,
114which haven't been updated for some years. The new app icons are ported from
115the Obsidian icon theme.")
116 (license license:gpl3)))
0f0bffc4
LP
117
118(define-public gnome-shell-extension-dash-to-dock
119 (package
120 (name "gnome-shell-extension-dash-to-dock")
5a30234c 121 (version "67")
0f0bffc4
LP
122 (source (origin
123 (method git-fetch)
124 (uri (git-reference
125 (url "https://github.com/micheleg/dash-to-dock.git")
126 (commit (string-append "extensions.gnome.org-v"
127 version))))
128 (sha256
129 (base32
5a30234c 130 "1746xm0iyvyzj6m3pvjx11smh9w1s7naz426ki0dlr5l7jh3mpy5"))
0f0bffc4
LP
131 (file-name (git-file-name name version))))
132 (build-system gnu-build-system)
133 (arguments
134 '(#:tests? #f
135 #:make-flags (list (string-append "INSTALLBASE="
136 (assoc-ref %outputs "out")
137 "/share/gnome-shell/extensions"))
138 #:phases
139 (modify-phases %standard-phases
140 (delete 'bootstrap)
141 (delete 'configure))))
142 (native-inputs
1f3902ec
LP
143 `(("glib:bin" ,glib "bin")
144 ("intltool" ,intltool)
0f0bffc4
LP
145 ("pkg-config" ,pkg-config)))
146 (propagated-inputs
1f3902ec 147 `(("glib" ,glib)))
0f0bffc4
LP
148 (synopsis "Transforms GNOME's dash into a dock")
149 (description "This extension moves the dash out of the
150overview, transforming it into a dock for easier application launching and
151faster window switching.")
152 (home-page "https://micheleg.github.io/dash-to-dock/")
153 (license license:gpl2+)))
34bcfae2 154
5be0ff33
LP
155(define-public gnome-shell-extension-hide-app-icon
156 (let ((commit "4188aa5f4ba24901a053a0c3eb0d83baa8625eab")
157 (revision "0"))
158 (package
159 (name "gnome-shell-extension-hide-app-icon")
160 (version (git-version "2.7" revision commit))
161 (source
d17eb101
LP
162 (origin
163 (method git-fetch)
164 (uri (git-reference
165 (url (string-append "https://github.com/michael-rapp"
166 "/gnome-shell-extension-hide-app-icon.git"))
167 (commit commit)))
168 (sha256
169 (base32
170 "1i28n4bz6wrhn07vpxkr6l1ljyn7g8frp5xrr11z3z32h2hxxcd6"))
171 (file-name (git-file-name name version))))
5be0ff33
LP
172 (build-system gnu-build-system)
173 (arguments
174 '(#:tests? #f ; no test target
175 #:make-flags (list (string-append "EXTENSIONS_DIR="
176 (assoc-ref %outputs "out")
177 "/share/gnome-shell/extensions"))
178 #:phases
179 (modify-phases %standard-phases
180 (delete 'configure) ; no configure script
181 (replace 'install
182 (lambda* (#:key outputs #:allow-other-keys)
d17eb101
LP
183 (let ((out (assoc-ref outputs "out"))
184 (pre "/share/gnome-shell/extensions/")
185 (dir "hide-app-icon@mrapp.sourceforge.com"))
186 (copy-recursively dir (string-append out pre dir))
187 #t))))))
5be0ff33
LP
188 (native-inputs
189 `(("glib" ,glib "bin")
190 ("intltool" ,intltool)))
191 (propagated-inputs
192 `(("glib" ,glib)))
193 (synopsis "Hide app icon from GNOME's panel")
194 (description "This extension allows to hide the icon and/or title of the
195currently focused application in the top panel of the GNOME shell.")
d17eb101
LP
196 (home-page
197 "https://github.com/michael-rapp/gnome-shell-extension-hide-app-icon/")
5be0ff33 198 (license
d17eb101
LP
199 ;; README.md and LICENSE.txt disagree -- the former claims v3, the
200 ;; latter v2. No mention of "or later" in either place or in the code.
5be0ff33
LP
201 (list license:gpl2
202 license:gpl3)))))
203
8a02ae7f
GL
204(define-public gnome-shell-extension-dash-to-panel
205 (package
206 (name "gnome-shell-extension-dash-to-panel")
207 (version "26")
208 (source (origin
209 (method git-fetch)
210 (uri (git-reference
211 (url "https://github.com/home-sweet-gnome/dash-to-panel.git")
212 (commit (string-append "v" version))))
213 (sha256
214 (base32
215 "1phfx2pblygpcvsppsqqqflm7qnz46mqkw29hj0nv2dn69hf4xbc"))
216 (file-name (git-file-name name version))))
217 (build-system gnu-build-system)
218 (arguments
219 `(#:tests? #f
220 #:make-flags (list (string-append "INSTALLBASE="
221 (assoc-ref %outputs "out")
222 "/share/gnome-shell/extensions")
223 (string-append "VERSION="
224 ,(package-version
225 gnome-shell-extension-dash-to-panel)))
226 #:phases
227 (modify-phases %standard-phases
228 (delete 'bootstrap)
229 (delete 'configure))))
230 (native-inputs
231 `(("intltool" ,intltool)
232 ("pkg-config" ,pkg-config)))
233 (propagated-inputs
234 `(("glib" ,glib)
235 ("glib" ,glib "bin")))
236 (synopsis "Icon taskbar for GNOME Shell")
237 (description "This extension moves the dash into the gnome main
238panel so that the application launchers and system tray are combined
239into a single panel, similar to that found in KDE Plasma and Windows 7+.")
240 (home-page "https://github.com/home-sweet-gnome/dash-to-panel/")
241 (license license:gpl2+)))
242
34bcfae2
LP
243(define-public gnome-shell-extension-noannoyance
244 (package
245 (name "gnome-shell-extension-noannoyance")
246 (version "5")
247 (source (origin
248 (method git-fetch)
249 (uri (git-reference
250 (url "https://github.com/BjoernDaase/noannoyance.git")
251 (commit "e37b5b3c31f577b4698bc6659bc9fec5ea9ac5d4")))
252 (sha256
253 (base32
254 "0fa8l3xlh8kbq07y4385wpb908zm6x53z81q16xlmin97dln32hh"))
255 (file-name (git-file-name name version))))
256 (build-system trivial-build-system)
257 (arguments
258 '(#:modules ((guix build utils))
259 #:builder
260 (begin
261 (use-modules (guix build utils))
262 (let ((dst (string-append
263 (assoc-ref %outputs "out")
264 "/share/gnome-shell/extensions/"
265 "noannoyance@daase.net")))
266 (mkdir-p dst)
267 (copy-recursively (assoc-ref %build-inputs "source") dst)))))
268 (synopsis "Removes 'Window is ready' annotation")
269 (description "One of the many extensions, that remove this message.
270It uses ES6 syntax and claims to be more actively maintained than others.")
271 (home-page "https://extensions.gnome.org/extension/2182/noannoyance/")
272 (license license:gpl2)))
72332f3c
GL
273
274(define-public numix-theme
275 (package
276 (name "numix-theme")
277 (version "2.6.7")
278 (source (origin
279 (method git-fetch)
280 (uri (git-reference
281 (url "https://github.com/numixproject/numix-gtk-theme.git")
282 (commit version)))
283 (file-name (git-file-name name version))
284 (sha256
285 (base32
286 "12mw0kr0kkvg395qlbsvkvaqccr90cmxw5rrsl236zh43kj8grb7"))))
287 (build-system gnu-build-system)
288 (arguments
289 '(#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
290 #:phases
291 (modify-phases %standard-phases
292 (delete 'configure)
293 (delete 'check))))
294 (native-inputs
295 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas
296 ("gnome-shell" ,gnome-shell)
297 ("gtk+" ,gtk+)
298 ("xmllint" ,libxml2)
299 ("ruby-sass" ,ruby-sass)))
300 (synopsis "Flat theme with light and dark elements")
301 (description "Numix is a modern flat theme with a combination of light and
302dark elements. It supports GNOME, Unity, Xfce, and Openbox.")
303 (home-page "https://numixproject.github.io")
304 (license license:gpl3+)))
099ce5d4
GL
305
306(define-public papirus-icon-theme
307 (let ((version "0.0.0") ;; The package does not use semver
308 (revision "0")
309 (tag "20191201"))
310 (package
311 (name "papirus-icon-theme")
312 (version (git-version version revision tag))
313 (source
314 (origin
315 (method git-fetch)
316 (uri (git-reference
317 (url "https://github.com/PapirusDevelopmentTeam/papirus-icon-theme.git")
318 (commit tag)))
319 (sha256
320 (base32
321 "0lnz1kmz28xh1f4slbsx7ycji5hgszyiyprbf5w5fbjhvi5gzw1h"))
322 (file-name (git-file-name name version))))
323 (build-system gnu-build-system)
324 (arguments
325 '(#:tests? #f
326 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
327 #:phases
328 (modify-phases %standard-phases
329 (delete 'bootstrap)
330 (delete 'configure)
331 (delete 'build))))
332 (native-inputs
333 `(("gtk+:bin" ,gtk+ "bin")))
334 (home-page "https://git.io/papirus-icon-theme")
335 (synopsis "Fork of Paper icon theme with a lot of new icons and a few extras")
336 (description "Papirus is a fork of the icon theme Paper with a lot of new icons
337and a few extra features.")
338 (license license:gpl3))))