gnu: emacs-svg-icon: Fix grammar.
[jackhill/guix/guix.git] / gnu / packages / gnome-xyz.scm
CommitLineData
b26a239c 1;;; GNU Guix --- Functional package management for GNU
4765cf4d 2;;; Copyright © 2019, 2020, 2021 Leo Prikler <leo.prikler@student.tugraz.at>
e0701ff9 3;;; Copyright © 2019, 2021 Alexandros Theodotou <alex@zrythm.org>
72332f3c 4;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
fb18f32e 5;;; Copyright © 2020 Alex Griffin <a@ajgrf.com>
60d5ad80 6;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
f43e7462 7;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net>
e7c79125 8;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
991a5710 9;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
8d7efc7a 10;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
fdfc1c81 11;;; Copyright © 2020 Ellis Kenyo <me@elken.dev>
91689b9e 12;;; Copyright © 2020 Stefan Reichör <stefan@xsteve.at>
b26a239c
LP
13;;;
14;;; This file is part of GNU Guix.
15;;;
16;;; GNU Guix is free software; you can redistribute it and/or modify it
17;;; under the terms of the GNU General Public License as published by
18;;; the Free Software Foundation; either version 3 of the License, or (at
19;;; your option) any later version.
20;;;
21;;; GNU Guix is distributed in the hope that it will be useful, but
22;;; WITHOUT ANY WARRANTY; without even the implied warranty of
23;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24;;; GNU General Public License for more details.
25;;;
26;;; You should have received a copy of the GNU General Public License
27;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
28
29(define-module (gnu packages gnome-xyz)
30 #:use-module (guix build-system trivial)
31 #:use-module (guix build-system gnu)
fb18f32e 32 #:use-module (guix build-system copy)
fdd48135 33 #:use-module (guix build-system meson)
b26a239c
LP
34 #:use-module (guix git-download)
35 #:use-module (guix packages)
91689b9e 36 #:use-module (guix utils)
b26a239c 37 #:use-module ((guix licenses) #:prefix license:)
364bc7a0 38 #:use-module (gnu packages autotools)
ec574bb3
AT
39 #:use-module (gnu packages base)
40 #:use-module (gnu packages bash)
fdd48135 41 #:use-module (gnu packages gettext)
b26a239c 42 #:use-module (gnu packages glib)
72332f3c 43 #:use-module (gnu packages gnome)
ec574bb3 44 #:use-module (gnu packages gtk)
364bc7a0
LP
45 #:use-module (gnu packages inkscape)
46 #:use-module (gnu packages image)
72332f3c 47 #:use-module (gnu packages pkg-config)
fdd48135
AG
48 #:use-module (gnu packages python-xyz)
49 #:use-module (gnu packages ssh)
50 #:use-module (gnu packages tls)
72332f3c 51 #:use-module (gnu packages ruby)
f43e7462 52 #:use-module (gnu packages web)
72332f3c 53 #:use-module (gnu packages xml))
b26a239c 54
7ae52dd0
LP
55(define-public arc-icon-theme
56 (package
57 (name "arc-icon-theme")
58 (version "20161122")
59 (source
60 (origin
61 (method git-fetch)
62 (uri (git-reference
63 (url "https://github.com/horst3180/arc-icon-theme")
64 (commit version)))
65 (file-name (git-file-name name version))
66 (sha256
67 (base32 "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd"))))
68 (build-system gnu-build-system)
69 (arguments
70 `(#:phases
71 (modify-phases %standard-phases
72 (add-after 'unpack 'disable-configure-during-bootstrap
73 (lambda _
74 (substitute* "autogen.sh"
75 (("^\"\\$srcdir/configure\".*") ""))
76 #t)))))
77 (native-inputs
78 `(("autoconf" ,autoconf)
79 ("automake" ,automake)))
80 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
81 (propagated-inputs
82 `(("moka-icon-theme" ,moka-icon-theme)))
83 (synopsis "Arc icon theme")
84 (description "The Arc icon theme provides a set of icons matching the
85style of the Arc GTK theme. Icons missing from the Arc theme are provided by
86the Moka icon theme.")
87 (home-page "https://github.com/horst3180/arc-icon-theme")
88 (license license:gpl3+)))
89
b26a239c
LP
90(define-public delft-icon-theme
91 (package
92 (name "delft-icon-theme")
999279f0 93 (version "1.14")
b26a239c
LP
94 (source
95 (origin
96 (method git-fetch)
97 (uri (git-reference
b0e7b699 98 (url "https://github.com/madmaxms/iconpack-delft")
b26a239c
LP
99 (commit (string-append "v" version))))
100 (sha256
101 (base32
999279f0 102 "1iw85cxx9lv7irs28qi3815dk9f9vldv2j7jf1x5l1dqzwaxgwpb"))
b26a239c 103 (file-name (git-file-name name version))))
3282137d 104 (build-system copy-build-system)
b26a239c 105 (arguments
3282137d
LP
106 `(#:install-plan
107 `(("." "share/icons" #:exclude ("README.md" "LICENSE" "logo.jpg")))
108 #:phases
109 (modify-phases %standard-phases
110 (add-after 'unpack 'patch-index.theme
111 (lambda _
112 (substitute* "Delft/index.theme"
113 (("gnome") "Adwaita"))
114 #t)))))
b26a239c
LP
115 (home-page "https://www.gnome-look.org/p/1199881/")
116 (synopsis "Continuation of Faenza icon theme with up to date app icons")
117 (description "Delft is a fork of the popular icon theme Faenza with up to
118date app icons. It will stay optically close to the original Faenza icons,
119which haven't been updated for some years. The new app icons are ported from
120the Obsidian icon theme.")
121 (license license:gpl3)))
0f0bffc4 122
43c8b56f
LP
123(define-public faba-icon-theme
124 (package
125 (name "faba-icon-theme")
126 (version "4.3")
127 (source
128 (origin
129 (method git-fetch)
130 (uri (git-reference
131 (url "https://github.com/snwh/faba-icon-theme")
132 (commit (string-append "v" version))))
133 (file-name (git-file-name name version))
134 (sha256
135 (base32 "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n"))))
136 (build-system meson-build-system)
137 (arguments
138 `(#:phases
139 (modify-phases %standard-phases
140 (add-before 'configure 'disable-post-install
141 (lambda _
142 (substitute* "meson.build"
143 (("meson.add_install_script.*") "")))))))
144 (native-inputs
145 `(("autoconf" ,autoconf)
146 ("automake" ,automake)))
147 (synopsis "Faba icon theme")
148 (description
149 "Faba is a minimal icon set used as a basis for other themes such as
150Moka")
151 (home-page "https://snwh.org/moka")
152 (license (list license:lgpl3+
153 license:cc-by-sa4.0))))
154
155(define-public moka-icon-theme
156 (package
157 (inherit faba-icon-theme)
158 (name "moka-icon-theme")
159 (version "5.4.0")
160 (source
161 (origin
162 (method git-fetch)
163 (uri (git-reference
164 (url "https://github.com/snwh/moka-icon-theme")
165 (commit (string-append "v" version))))
166 (file-name (git-file-name name version))
167 (sha256
168 (base32 "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd"))))
169 (propagated-inputs
170 ;; Moka is based on Faba by using it as a fallback icon set instead of
171 ;; bundling it, so we need to add it as a propagated input.
172 `(("faba-icon-theme" ,faba-icon-theme)))
173 (synopsis "Moka icon theme")
174 (description "Moka is a stylized desktop icon set, designed to be clear,
175simple and consistent.")
176 (license (list license:gpl3+
177 license:cc-by-sa4.0))))
178
579a5eff
LP
179(define-public papirus-icon-theme
180 (package
181 (name "papirus-icon-theme")
182 (version "20210101")
183 (source
184 (origin
185 (method git-fetch)
186 (uri (git-reference
187 (url "https://github.com/PapirusDevelopmentTeam/papirus-icon-theme")
188 (commit version)))
189 (sha256
190 (base32
191 "0w6qg3zjhfvjg1gg5inranf8ianb4mrp0jm9qgi6hg87ig1rashs"))
192 (file-name (git-file-name name version))))
193 (build-system gnu-build-system)
194 (arguments
195 '(#:tests? #f
196 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
197 #:phases
198 (modify-phases %standard-phases
199 (delete 'bootstrap)
200 (delete 'configure)
201 (delete 'build))))
202 (native-inputs
203 `(("gtk+:bin" ,gtk+ "bin")))
204 (home-page "https://git.io/papirus-icon-theme")
205 (synopsis "Fork of Paper icon theme with a lot of new icons and a few extras")
206 (description "Papirus is a fork of the icon theme Paper with a lot of new icons
207and a few extra features.")
208 (license license:gpl3)))
209
e3d80f3c
GL
210(define-public gnome-shell-extension-appindicator
211 (package
212 (name "gnome-shell-extension-appindicator")
19b7d41d 213 (version "33")
e3d80f3c
GL
214 (source (origin
215 (method git-fetch)
216 (uri (git-reference
217 (url
8ed4c468 218 "https://github.com/ubuntu/gnome-shell-extension-appindicator")
e3d80f3c
GL
219 (commit (string-append "v" version))))
220 (sha256
221 (base32
19b7d41d 222 "0qm77s080nbf4gqnfzpwp8a7jf7lliz6fxbsd3lasvrr11pgsk87"))
e3d80f3c 223 (file-name (git-file-name name version))))
f6a151cd 224 (build-system copy-build-system)
e3d80f3c 225 (arguments
f6a151cd
LP
226 `(#:install-plan
227 '(("." ,(string-append "share/gnome-shell/extensions/"
228 "appindicatorsupport@rgcjonas.gmail.com")))))
e3d80f3c
GL
229 (synopsis "Adds KStatusNotifierItem support to GNOME Shell")
230 (description "This extension integrates Ubuntu AppIndicators
231and KStatusNotifierItems (KDE's successor of the systray) into
232GNOME Shell.")
233 (home-page "https://github.com/ubuntu/gnome-shell-extension-appindicator/")
234 (license license:gpl2+)))
235
0e741a89
JH
236(define-public gnome-shell-extension-clipboard-indicator
237 (package
238 (name "gnome-shell-extension-clipboard-indicator")
239 (version "34")
240 (source (origin
241 (method git-fetch)
242 (uri (git-reference
243 (url (string-append "https://github.com/Tudmotu/"
244 "gnome-shell-extension-clipboard-indicator.git"))
245 (commit (string-append "v" version))))
246 (file-name (git-file-name name version))
247 (sha256
248 (base32
249 "0i00psc1ky70zljd14jzr627y7nd8xwnwrh4xpajl1f6djabh12s"))
250 (modules '((guix build utils)))
251 (snippet
252 ;; Remove pre-compiled settings schemas and translations from
253 ;; source, as they are generated as part of build. Upstream
254 ;; includes them for people who want to run the software
255 ;; directly from source tree.
256 '(begin (delete-file "schemas/gschemas.compiled")
257 (for-each delete-file (find-files "locale" "\\.mo$"))
258 #t))))
259 (build-system copy-build-system)
260 (arguments
261 '(#:install-plan
262 '(("." "share/gnome-shell/extensions/clipboard-indicator@tudmotu.com"
263 #:include-regexp ("\\.css$" "\\.compiled$" "\\.js(on)?$" "\\.mo$" "\\.xml$")))
264 #:phases
265 (modify-phases %standard-phases
266 (add-before 'install 'compile-schemas
267 (lambda _
268 (with-directory-excursion "schemas"
269 (invoke "glib-compile-schemas" "."))
270 #t))
271 (add-before 'install 'compile-locales
272 (lambda _ (invoke "./compile-locales.sh")
273 #t)))))
274 (native-inputs
275 `(("gettext" ,gettext-minimal)
276 ("glib:bin" ,glib "bin"))) ; for glib-compile-schemas
277 (home-page "https://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator")
278 (synopsis "Clipboard manager extension for GNOME Shell")
279 (description "Clipboard Indicator is a clipboard manager for GNOME Shell
280that caches clipboard history.")
281 (license license:expat)))
282
e7c79125
EZ
283(define-public gnome-shell-extension-topicons-redux
284 (package
285 (name "gnome-shell-extension-topicons-redux")
286 (version "6")
287 (source
288 (origin
289 (method git-fetch)
290 (uri (git-reference
291 (url "https://gitlab.com/pop-planet/TopIcons-Redux.git")
292 (commit version)))
293 (file-name (git-file-name name version))
294 (sha256
295 (base32 "1dli9xb545n3xlj6q4wl0y5gzkm903zs47p8fiq71pdvbr6v38rj"))))
296 (build-system gnu-build-system)
297 (native-inputs
298 `(("glib" ,glib "bin")))
299 (arguments
300 `(#:tests? #f ;no test defined in the project
301 #:phases
302 (modify-phases %standard-phases
303 (delete 'configure)
304 (delete 'build)
305 (replace 'install
306 (lambda* (#:key outputs #:allow-other-keys)
307 (let ((out (assoc-ref outputs "out")))
308 (invoke "make"
309 "install"
310 (string-append
311 "INSTALL_PATH="
312 out
313 "/share/gnome-shell/extensions"))))))))
314 (home-page "https://gitlab.com/pop-planet/TopIcons-Redux")
315 (synopsis "Display legacy tray icons in the GNOME Shell top panel")
316 (description "Many applications, such as chat clients, downloaders, and
317some media players, are meant to run long-term in the background even after you
318close their window. These applications remain accessible by adding an icon to
319the GNOME Shell Legacy Tray. However, the Legacy Tray was removed in GNOME
3203.26. TopIcons Redux brings those icons back into the top panel so that it's
7230f6d5 321easier to keep track of applications running in the background.")
e7c79125
EZ
322 (license license:gpl2+)))
323
0f0bffc4
LP
324(define-public gnome-shell-extension-dash-to-dock
325 (package
326 (name "gnome-shell-extension-dash-to-dock")
7e6bbd8b 327 (version "67")
0f0bffc4
LP
328 (source (origin
329 (method git-fetch)
330 (uri (git-reference
b0e7b699 331 (url "https://github.com/micheleg/dash-to-dock")
0f0bffc4
LP
332 (commit (string-append "extensions.gnome.org-v"
333 version))))
334 (sha256
335 (base32
7e6bbd8b 336 "1746xm0iyvyzj6m3pvjx11smh9w1s7naz426ki0dlr5l7jh3mpy5"))
0f0bffc4
LP
337 (file-name (git-file-name name version))))
338 (build-system gnu-build-system)
339 (arguments
340 '(#:tests? #f
341 #:make-flags (list (string-append "INSTALLBASE="
342 (assoc-ref %outputs "out")
343 "/share/gnome-shell/extensions"))
344 #:phases
345 (modify-phases %standard-phases
346 (delete 'bootstrap)
347 (delete 'configure))))
348 (native-inputs
1f3902ec
LP
349 `(("glib:bin" ,glib "bin")
350 ("intltool" ,intltool)
0f0bffc4
LP
351 ("pkg-config" ,pkg-config)))
352 (propagated-inputs
1f3902ec 353 `(("glib" ,glib)))
0f0bffc4
LP
354 (synopsis "Transforms GNOME's dash into a dock")
355 (description "This extension moves the dash out of the
356overview, transforming it into a dock for easier application launching and
357faster window switching.")
358 (home-page "https://micheleg.github.io/dash-to-dock/")
359 (license license:gpl2+)))
34bcfae2 360
fdd48135
AG
361(define-public gnome-shell-extension-gsconnect
362 (package
363 (name "gnome-shell-extension-gsconnect")
a1f84aca
AG
364 ;; v33 is the last version to support GNOME 3.34
365 (version "33")
fdd48135
AG
366 (source (origin
367 (method git-fetch)
368 (uri (git-reference
369 (url (string-append "https://github.com/andyholmes"
370 "/gnome-shell-extension-gsconnect.git"))
371 (commit (string-append "v" version))))
372 (file-name (git-file-name name version))
373 (sha256
374 (base32
a1f84aca 375 "1q03axhn75i864vgmd6myhmgwrmnpf01gsd1wl0di5x9q8mic2zn"))))
fdd48135
AG
376 (build-system meson-build-system)
377 (arguments
378 `(#:configure-flags
379 (let* ((out (assoc-ref %outputs "out"))
380 (name+version (strip-store-file-name out))
381 (gschema-dir (string-append out
382 "/share/gsettings-schemas/"
383 name+version
384 "/glib-2.0/schemas"))
385 (gnome-shell (assoc-ref %build-inputs "gnome-shell"))
386 (openssh (assoc-ref %build-inputs "openssh"))
387 (openssl (assoc-ref %build-inputs "openssl")))
388 (list
389 (string-append "-Dgnome_shell_libdir=" gnome-shell "/lib")
390 (string-append "-Dgsettings_schemadir=" gschema-dir)
391 (string-append "-Dopenssl_path=" openssl "/bin/openssl")
392 (string-append "-Dsshadd_path=" openssh "/bin/ssh-add")
393 (string-append "-Dsshkeygen_path=" openssh "/bin/ssh-keygen")
394 (string-append "-Dsession_bus_services_dir=" out "/share/dbus-1/services")
395 "-Dpost_install=true"))
396 #:phases
397 (modify-phases %standard-phases
398 (add-before 'configure 'fix-paths
399 (lambda* (#:key inputs #:allow-other-keys)
400 (let* ((glib (assoc-ref inputs "glib:bin"))
401 (gapplication (string-append glib "/bin/gapplication"))
402 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
403 (substitute* "data/org.gnome.Shell.Extensions.GSConnect.desktop"
404 (("gapplication") gapplication))
405 (for-each
406 (lambda (file)
407 (substitute* file
408 (("'use strict';")
409 (string-append "'use strict';\n\n"
410 "'" gi-typelib-path "'.split(':').forEach("
411 "path => imports.gi.GIRepository.Repository."
412 "prepend_search_path(path));"))))
413 '("src/extension.js" "src/prefs.js"))
414 #t)))
415 (add-after 'install 'wrap-daemons
416 (lambda* (#:key inputs outputs #:allow-other-keys)
417 (let* ((out (assoc-ref outputs "out"))
418 (service-dir
419 (string-append out "/share/gnome-shell/extensions"
420 "/gsconnect@andyholmes.github.io/service"))
421 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
422 (wrap-program (string-append service-dir "/daemon.js")
423 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
424 #t))))))
425 (inputs
426 `(("at-spi2-core" ,at-spi2-core)
427 ("caribou" ,caribou)
428 ("evolution-data-server" ,evolution-data-server)
fdd48135
AG
429 ("gjs" ,gjs)
430 ("glib" ,glib)
431 ("glib:bin" ,glib "bin")
432 ("gsound" ,gsound)
433 ("gnome-shell" ,gnome-shell)
434 ("gtk+" ,gtk+)
435 ("nautilus" ,nautilus)
436 ("openssh" ,openssh)
437 ("openssl" ,openssl)
438 ("python-nautilus" ,python-nautilus)
439 ("python-pygobject" ,python-pygobject)
440 ("upower" ,upower)))
441 (native-inputs
442 `(("gettext" ,gettext-minimal)
443 ("gobject-introspection" ,gobject-introspection)
444 ("libxml2" ,libxml2)
445 ("pkg-config" ,pkg-config)))
446 (home-page "https://github.com/andyholmes/gnome-shell-extension-gsconnect/wiki")
447 (synopsis "Connect GNOME Shell with your Android phone")
448 (description "GSConnect is a complete implementation of KDE Connect
449especially for GNOME Shell, allowing devices to securely share content, like
450notifications or files, and other features like SMS messaging and remote
451control.")
452 (license license:gpl2)))
453
5be0ff33
LP
454(define-public gnome-shell-extension-hide-app-icon
455 (let ((commit "4188aa5f4ba24901a053a0c3eb0d83baa8625eab")
456 (revision "0"))
457 (package
458 (name "gnome-shell-extension-hide-app-icon")
459 (version (git-version "2.7" revision commit))
460 (source
d17eb101
LP
461 (origin
462 (method git-fetch)
463 (uri (git-reference
464 (url (string-append "https://github.com/michael-rapp"
465 "/gnome-shell-extension-hide-app-icon.git"))
466 (commit commit)))
467 (sha256
468 (base32
469 "1i28n4bz6wrhn07vpxkr6l1ljyn7g8frp5xrr11z3z32h2hxxcd6"))
470 (file-name (git-file-name name version))))
5be0ff33
LP
471 (build-system gnu-build-system)
472 (arguments
473 '(#:tests? #f ; no test target
474 #:make-flags (list (string-append "EXTENSIONS_DIR="
475 (assoc-ref %outputs "out")
476 "/share/gnome-shell/extensions"))
477 #:phases
478 (modify-phases %standard-phases
479 (delete 'configure) ; no configure script
480 (replace 'install
481 (lambda* (#:key outputs #:allow-other-keys)
d17eb101
LP
482 (let ((out (assoc-ref outputs "out"))
483 (pre "/share/gnome-shell/extensions/")
484 (dir "hide-app-icon@mrapp.sourceforge.com"))
485 (copy-recursively dir (string-append out pre dir))
486 #t))))))
5be0ff33
LP
487 (native-inputs
488 `(("glib" ,glib "bin")
489 ("intltool" ,intltool)))
490 (propagated-inputs
491 `(("glib" ,glib)))
492 (synopsis "Hide app icon from GNOME's panel")
309aaea5 493 (description "This extension hides the icon and/or title of the
5be0ff33 494currently focused application in the top panel of the GNOME shell.")
d17eb101
LP
495 (home-page
496 "https://github.com/michael-rapp/gnome-shell-extension-hide-app-icon/")
5be0ff33 497 (license
d17eb101
LP
498 ;; README.md and LICENSE.txt disagree -- the former claims v3, the
499 ;; latter v2. No mention of "or later" in either place or in the code.
5be0ff33
LP
500 (list license:gpl2
501 license:gpl3)))))
502
8a02ae7f
GL
503(define-public gnome-shell-extension-dash-to-panel
504 (package
505 (name "gnome-shell-extension-dash-to-panel")
ee3be810 506 (version "38")
8a02ae7f
GL
507 (source (origin
508 (method git-fetch)
509 (uri (git-reference
b0e7b699 510 (url "https://github.com/home-sweet-gnome/dash-to-panel")
8a02ae7f
GL
511 (commit (string-append "v" version))))
512 (sha256
513 (base32
ee3be810 514 "1kvybb49l1vf0fvh8d0c6xkwnry8m330scamf5x40y63d4i213j1"))
8a02ae7f
GL
515 (file-name (git-file-name name version))))
516 (build-system gnu-build-system)
517 (arguments
518 `(#:tests? #f
519 #:make-flags (list (string-append "INSTALLBASE="
520 (assoc-ref %outputs "out")
521 "/share/gnome-shell/extensions")
522 (string-append "VERSION="
523 ,(package-version
524 gnome-shell-extension-dash-to-panel)))
525 #:phases
526 (modify-phases %standard-phases
527 (delete 'bootstrap)
528 (delete 'configure))))
529 (native-inputs
530 `(("intltool" ,intltool)
531 ("pkg-config" ,pkg-config)))
532 (propagated-inputs
533 `(("glib" ,glib)
534 ("glib" ,glib "bin")))
535 (synopsis "Icon taskbar for GNOME Shell")
536 (description "This extension moves the dash into the gnome main
537panel so that the application launchers and system tray are combined
538into a single panel, similar to that found in KDE Plasma and Windows 7+.")
539 (home-page "https://github.com/home-sweet-gnome/dash-to-panel/")
540 (license license:gpl2+)))
541
34bcfae2
LP
542(define-public gnome-shell-extension-noannoyance
543 (package
544 (name "gnome-shell-extension-noannoyance")
545 (version "5")
546 (source (origin
547 (method git-fetch)
548 (uri (git-reference
b0e7b699 549 (url "https://github.com/BjoernDaase/noannoyance")
34bcfae2
LP
550 (commit "e37b5b3c31f577b4698bc6659bc9fec5ea9ac5d4")))
551 (sha256
552 (base32
553 "0fa8l3xlh8kbq07y4385wpb908zm6x53z81q16xlmin97dln32hh"))
554 (file-name (git-file-name name version))))
c456d18b 555 (build-system copy-build-system)
34bcfae2 556 (arguments
c456d18b
LP
557 '(#:install-plan
558 '(("." "share/gnome-shell/extensions/noannoyance@daase.net"))))
e10587c5
PN
559 (synopsis "Remove 'Window is ready' annotation")
560 (description "One of the many extensions that remove this message.
34bcfae2
LP
561It uses ES6 syntax and claims to be more actively maintained than others.")
562 (home-page "https://extensions.gnome.org/extension/2182/noannoyance/")
563 (license license:gpl2)))
72332f3c 564
fb18f32e
AG
565(define-public gnome-shell-extension-paperwm
566 (package
567 (name "gnome-shell-extension-paperwm")
9720894c 568 (version "36.0")
fb18f32e
AG
569 (source (origin
570 (method git-fetch)
571 (uri (git-reference
b0e7b699 572 (url "https://github.com/paperwm/PaperWM")
fb18f32e
AG
573 (commit version)))
574 (file-name (git-file-name name version))
575 (sha256
576 (base32
9720894c 577 "1ssnabwxrns36c61ppspjkr9i3qifv08pf2jpwl7cjv3pvyn4kly"))
60d5ad80
JH
578 (snippet
579 '(begin (delete-file "schemas/gschemas.compiled")))))
fb18f32e
AG
580 (build-system copy-build-system)
581 (arguments
582 '(#:install-plan
583 '(("." "share/gnome-shell/extensions/paperwm@hedning:matrix.org"
fd621674
JH
584 #:include-regexp ("\\.js(on)?$" "\\.css$" "\\.ui$" "\\.png$"
585 "\\.xml$" "\\.compiled$")))
60d5ad80
JH
586 #:phases
587 (modify-phases %standard-phases
588 (add-before 'install 'compile-schemas
589 (lambda _
590 (with-directory-excursion "schemas"
591 (invoke "make"))
592 #t)))))
593 (native-inputs
594 `(("glib:bin" ,glib "bin"))) ; for glib-compile-schemas
fb18f32e
AG
595 (home-page "https://github.com/paperwm/PaperWM")
596 (synopsis "Tiled scrollable window management for GNOME Shell")
597 (description "PaperWM is an experimental GNOME Shell extension providing
598scrollable tiling of windows and per monitor workspaces. It's inspired by paper
599notebooks and tiling window managers.")
600 (license license:gpl3)))
601
364bc7a0
LP
602(define-public arc-theme
603 (package
604 (name "arc-theme")
605 (version "20201013")
606 (source (origin
607 (method git-fetch)
608 (uri (git-reference
609 (url "https://github.com/jnsh/arc-theme")
610 (commit version)))
611 (file-name (git-file-name name version))
612 (sha256
613 (base32
614 "1x2l1mwjx68dwf3jb1i90c1q8nqsl1wf2zggcn8im6590k5yv39s"))))
615 (build-system gnu-build-system)
616 (arguments
617 '(#:configure-flags
618 (list "--disable-cinnamon")
619 #:phases
620 (modify-phases %standard-phases
621 ;; autogen.sh calls configure at the end of the script.
622 (replace 'bootstrap
623 (lambda _ (invoke "autoreconf" "-vfi")))
624 (add-before 'build 'set-home ;placate Inkscape
625 (lambda _
626 (setenv "HOME" (getcwd))
627 #t)))))
628 (native-inputs
629 `(("autoconf" ,autoconf)
630 ("automake" ,automake)
631 ("glib" ,glib "bin") ; for glib-compile-resources
632 ("gnome-shell" ,gnome-shell)
633 ("gtk+" ,gtk+)
634 ("inkscape" ,inkscape)
635 ("optipng" ,optipng)
636 ("pkg-config" ,pkg-config)
637 ("sassc" ,sassc/libsass-3.5)))
638 (synopsis "A flat GTK+ theme with transparent elements")
639 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
6402, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
641like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
642 (home-page "https://github.com/horst3180/arc-theme")
643 ;; No "or later" language found.
644 (license license:gpl3+)))
645
f43e7462
KK
646(define-public greybird-gtk-theme
647 (package
648 (name "greybird-gtk-theme")
67b1ef5f 649 (version "3.22.13")
f43e7462
KK
650 (source (origin
651 (method git-fetch)
652 (uri
653 (git-reference
654 (url "https://github.com/shimmerproject/Greybird")
655 (commit (string-append "v" version))))
656 (file-name (git-file-name name version))
657 (sha256
658 (base32
67b1ef5f 659 "154qawiga792iimkpk3a6q8f4gm4r158wmsagkbqqbhj33kxgxhg"))))
f43e7462
KK
660 (build-system meson-build-system)
661 (native-inputs
662 `(("gtk+" ,gtk+)
663 ("glib:bin" ,glib "bin") ; for "glib-compile-resources"
664 ("librsvg" ,librsvg)
665 ("pkg-config" ,pkg-config)
666 ("ruby-sass" ,ruby-sass)
667 ("sassc" ,sassc)))
668 (home-page "https://shimmerproject.org/")
669 (synopsis "Grey GTK+ theme based on Bluebird")
670 (description "Greybird is a grey derivative of the Bluebird theme by the
671Shimmer Project. It supports GNOME, Unity, and Xfce.")
672 (license (list license:gpl2+ license:cc-by-sa3.0))))
673
579a5eff
LP
674(define-public matcha-theme
675 (package
676 (name "matcha-theme")
677 (version "2021-01-01")
678 (source
679 (origin
680 (method git-fetch)
681 (uri
682 (git-reference
683 (url "https://github.com/vinceliuice/Matcha-gtk-theme")
684 (commit version)))
685 (file-name (git-file-name name version))
686 (sha256
687 (base32
688 "1pa6ra87wlq0gwz4n03l6xv0pxiamr5dygycvppms8v6xyc2aa0r"))))
689 (build-system trivial-build-system)
690 (arguments
691 '(#:modules ((guix build utils))
692 #:builder
693 (begin
694 (use-modules (guix build utils))
695 (let* ((out (assoc-ref %outputs "out"))
696 (source (assoc-ref %build-inputs "source"))
697 (bash (assoc-ref %build-inputs "bash"))
698 (coreutils (assoc-ref %build-inputs "coreutils"))
699 (themesdir (string-append out "/share/themes")))
700 (setenv "PATH"
701 (string-append coreutils "/bin:"
702 (string-append bash "/bin:")))
703 (copy-recursively source (getcwd))
704 (patch-shebang "install.sh")
705 (mkdir-p themesdir)
706 (invoke "./install.sh" "-d" themesdir)
707 #t))))
708 (inputs
709 `(("gtk-engines" ,gtk-engines)))
710 (native-inputs
711 `(("bash" ,bash)
712 ("coreutils" ,coreutils)))
713 (synopsis "Flat design theme for GTK 3, GTK 2 and GNOME-Shell")
714 (description "Matcha is a flat Design theme for GTK 3, GTK 2 and
715Gnome-Shell which supports GTK 3 and GTK 2 based desktop environments
716like Gnome, Unity, Budgie, Pantheon, XFCE, Mate and others.")
717 (home-page "https://github.com/vinceliuice/matcha")
718 (license license:gpl3+)))
719
a7241483
LP
720(define-public materia-theme
721 (package
722 (name "materia-theme")
723 (version "20200916")
724 (source
725 (origin
726 (method git-fetch)
727 (uri
728 (git-reference
729 (url "https://github.com/nana-4/materia-theme")
730 (commit (string-append "v" version))))
731 (file-name (git-file-name name version))
732 (sha256
733 (base32
734 "0qaxxafsn5zd2ysgr0jyv5j73360mfdmxyd55askswlsfphssn74"))))
735 (build-system meson-build-system)
736 (native-inputs
737 `(("gtk+" ,gtk+)
738 ("sassc" ,sassc)))
739 (home-page "https://github.com/nana-4/materia-theme")
740 (synopsis "Material Design theme for a wide range of environments")
741 (description "Materia is a Material Design theme for GNOME/GTK based
742desktop environments. It supports GTK 2, GTK 3, GNOME Shell, Budgie,
743Cinnamon, MATE, Unity, Xfce, LightDM, GDM, Chrome theme, etc.")
744 (license license:gpl2+)))
745
ec5a3021 746(define-public numix-gtk-theme
72332f3c 747 (package
ec5a3021 748 (name "numix-gtk-theme")
72332f3c
GL
749 (version "2.6.7")
750 (source (origin
751 (method git-fetch)
752 (uri (git-reference
b0e7b699 753 (url "https://github.com/numixproject/numix-gtk-theme")
72332f3c
GL
754 (commit version)))
755 (file-name (git-file-name name version))
756 (sha256
757 (base32
758 "12mw0kr0kkvg395qlbsvkvaqccr90cmxw5rrsl236zh43kj8grb7"))))
759 (build-system gnu-build-system)
760 (arguments
a457c55a
TGR
761 '(#:make-flags
762 (list (string-append "INSTALL_DIR="
763 (assoc-ref %outputs "out")
764 "/share/themes/Numix"))
991a5710 765 #:tests? #f
72332f3c
GL
766 #:phases
767 (modify-phases %standard-phases
991a5710 768 (delete 'configure)))) ; no configure script
72332f3c
GL
769 (native-inputs
770 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas
771 ("gnome-shell" ,gnome-shell)
772 ("gtk+" ,gtk+)
773 ("xmllint" ,libxml2)
774 ("ruby-sass" ,ruby-sass)))
775 (synopsis "Flat theme with light and dark elements")
776 (description "Numix is a modern flat theme with a combination of light and
777dark elements. It supports GNOME, Unity, Xfce, and Openbox.")
778 (home-page "https://numixproject.github.io")
779 (license license:gpl3+)))
099ce5d4 780
ec5a3021
TGR
781(define-public numix-theme
782 (deprecated-package "numix-theme" numix-gtk-theme))
783
3483886c
LP
784(define-public orchis-theme
785 (package
786 (name "orchis-theme")
f4a435cc 787 (version "2021-02-28")
3483886c
LP
788 (source
789 (origin
790 (method git-fetch)
791 (uri
792 (git-reference
793 (url "https://github.com/vinceliuice/Orchis-theme")
794 (commit version)))
795 (file-name (git-file-name name version))
796 (sha256
797 (base32
f4a435cc 798 "1qp3phiza93qllrjm5xjjca5b7l2sbng8c382khy9m97grxvcq0y"))
3483886c
LP
799 (modules '((guix build utils)
800 (ice-9 regex)
801 (srfi srfi-26)))
802 (snippet
803 '(begin
804 (for-each
805 (lambda (f)
806 (let* ((r (make-regexp "\\.scss"))
807 (f* (regexp-substitute #f (regexp-exec r f) 'pre ".css")))
808 (if (file-exists? f*)
809 (delete-file f*))))
810 (find-files "." ".*\\.scss"))
811 #t))))
812 (build-system gnu-build-system)
813 (arguments
c4195a10
LP
814 `(#:configure-flags (list
815 "--dest" (string-append
816 (assoc-ref %outputs "out")
817 "/share/themes")
818 "--theme" "all"
819 "--radio-color")
820 #:tests? #f ; no tests
3483886c
LP
821 #:phases
822 (modify-phases %standard-phases
823 (delete 'bootstrap)
824 (delete 'configure)
825 (replace 'build (lambda _ (invoke "./parse-sass.sh")))
826 (replace 'install
c4195a10
LP
827 (lambda* (#:key configure-flags #:allow-other-keys)
828 (mkdir-p
829 (cadr (or (member "--dest" configure-flags)
830 (member "-d" configure-flags))))
831 (apply invoke "./install.sh" configure-flags)
832 #t)))))
3483886c
LP
833 (inputs
834 `(("gtk-engines" ,gtk-engines)))
835 (native-inputs
836 `(;("coreutils" ,coreutils)
837 ("gtk+" ,gtk+)
838 ("sassc" ,sassc)))
839 (home-page "https://github.com/vinceliuice/Orchis-theme")
840 (synopsis "Material Design theme for a wide range of environments")
841 (description "Orchis is a Material Design them for GNOME/GTK based
842desktop environments. It is based on materia-theme and adds more color
843variants.")
8a920dc6 844 (license (list license:gpl3 ; According to COPYING.
3483886c
LP
845 license:lgpl2.1 ; Some style sheets.
846 license:cc-by-sa4.0)))) ; Some icons
847
e0701ff9
AT
848(define-public markets
849 (package
850 (name "markets")
851 (version "0.4.0")
852 (source
853 (origin
854 (method git-fetch)
855 (uri (git-reference
856 (url "https://github.com/bitstower/markets")
857 (commit version)))
858 (file-name (git-file-name name version))
859 (sha256
860 (base32
861 "1jzv74l2jkdiqy1hp0ww5yla50dmrvjw7fgkmb26ynblr1nb3rrb"))))
862 (build-system meson-build-system)
863 (arguments
864 `(#:glib-or-gtk? #t
865 #:phases
866 (modify-phases %standard-phases
867 (add-after 'unpack 'skip-gtk-update-icon-cache
868 ;; Don't create 'icon-theme.cache'.
869 (lambda _
870 (substitute* "build-aux/meson/postinstall.py"
871 (("gtk-update-icon-cache") "true"))
872 #t))
873 (add-after 'unpack 'skip-update-desktop-database
874 ;; Don't update desktop file database.
875 (lambda _
876 (substitute* "build-aux/meson/postinstall.py"
877 (("update-desktop-database") "true"))
878 #t)))))
879 (inputs
880 `(("gtk3" ,gtk+)
881 ("gettext" ,gettext-minimal)
882 ("libgee" ,libgee)
883 ("libhandy0" ,libhandy-0.0)
884 ("libsoup" ,libsoup)
885 ("json-glib" ,json-glib)
886 ("vala" ,vala)))
887 (native-inputs
888 `(("pkg-config" ,pkg-config)
889 ("glib" ,glib "bin"))) ; for 'glib-compile-resources'
890 (home-page "https://github.com/bitstower/markets")
891 (synopsis "Stock, currency and cryptocurrency tracker")
892 (description
893 "Markets is a GTK application that displays financial data, helping users
894track stocks, currencies and cryptocurrencies.")
895 (license license:gpl3)))
896
8d7efc7a
RP
897(define-public vala-language-server
898 (package
899 (name "vala-language-server")
900 ;; Note to maintainer: VLS must be built with a Vala toolchain the same
901 ;; version or newer. Therefore when you update this package you may need
902 ;; to update Vala too.
f7b1b22e 903 (version "0.48.1")
8d7efc7a
RP
904 (source (origin
905 (method git-fetch)
906 (uri (git-reference
b0e7b699 907 (url "https://github.com/benwaffle/vala-language-server")
8d7efc7a
RP
908 (commit version)))
909 (file-name (git-file-name name version))
910 (sha256
f7b1b22e 911 (base32 "12k095052jkvbiyz8gzkj6w7r7p16d5m18fyikl48yvh5nln8fw0"))))
8d7efc7a
RP
912 (build-system meson-build-system)
913 (arguments '(#:glib-or-gtk? #t))
914 (inputs
915 `(("glib" ,glib)
916 ("json-glib" ,json-glib)
917 ("jsonrpc-glib" ,jsonrpc-glib)
918 ("libgee" ,libgee)
d1d69543 919 ("vala" ,vala-0.50)))
8d7efc7a
RP
920 (native-inputs
921 `(("pkg-config" ,pkg-config)))
922 (home-page "https://github.com/benwaffle/vala-language-server")
923 (synopsis "Language server for Vala")
924 (description "The Vala language server is an implementation of the Vala
925language specification for the Language Server Protocol (LSP). This tool is
926used in text editing environments to provide a complete and integrated
927feature-set for programming Vala effectively.")
928 (license license:lgpl2.1+)))
fdfc1c81
EK
929
930(define-public nordic-theme
931 (let ((commit "07d764c5ebd5706e73d2e573f1a983e37b318915")
932 (revision "0"))
933 (package
934 (name "nordic-theme")
935 (version (git-version "1.9.0" revision commit))
936 (source
937 (origin
938 (method git-fetch)
939 (uri (git-reference
940 (url "https://github.com/EliverLara/Nordic")
941 (commit commit)))
942 (sha256
943 (base32
944 "0y2s9d6h1b195s6afp1gb5rb1plfslkpbw2brd30a9d66wfvsqk0"))
945 (file-name (git-file-name name version))))
946 (build-system copy-build-system)
947 (arguments
948 `(#:install-plan
949 `(("." "share/themes/nord"
950 #:exclude ("README.md" "LICENSE" "Art/" "package.json"
951 "package-lock.json" "Gulpfile.js")))))
952 (home-page "https://github.com/EliverLara/Nordic")
95cfad9b 953 (synopsis "Dark Gtk3.20+ theme using the Nord color palette")
fdfc1c81 954 (description "Nordic is a Gtk3.20+ theme created using the Nord color
95cfad9b 955palette.")
fdfc1c81 956 (license license:gpl3))))
91689b9e
SR
957
958(define-public tiramisu
959 (let ((commit "8eb946dae0e2f98d3850d89e1bb535640e8c3266")
960 (revision "0"))
961 (package
962 (name "tiramisu")
963 (version (git-version "1.0" revision commit))
964 (source (origin
965 (method git-fetch)
966 (uri (git-reference
967 (url "https://github.com/Sweets/tiramisu")
968 (commit commit)))
969 (sha256
970 (base32
971 "0wz2r8369d40vnxswknx0zxzbs03gzv0nc8al4g0ffg972p15j25"))
972 (file-name (git-file-name name version))))
973 (build-system gnu-build-system)
974 (arguments
975 `(#:phases
976 (modify-phases %standard-phases
977 (delete 'configure)
978 (delete 'check)
979 (replace 'install
980 (lambda* (#:key outputs #:allow-other-keys)
981 (let ((out (assoc-ref outputs "out")))
982 (install-file "tiramisu" (string-append out "/bin"))
983 #t))))
984 #:make-flags
985 (list (string-append "CC=" ,(cc-for-target)))))
986 (inputs
987 `(("glib" ,glib)))
988 (native-inputs
989 `(("pkg-config" ,pkg-config)))
990 (home-page "https://github.com/Sweets/tiramisu")
991 (synopsis "Desktop notifications, the UNIX way")
992 (description "tiramisu is a notification daemon based on dunst that
993outputs notifications to STDOUT in order to allow the user to process
994notifications any way they prefer.")
995 (license license:expat))))