Commit | Line | Data |
---|---|---|
b26a239c | 1 | ;;; GNU Guix --- Functional package management for GNU |
7e6bbd8b | 2 | ;;; Copyright © 2019, 2020 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> |
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> |
b26a239c LP |
12 | ;;; |
13 | ;;; This file is part of GNU Guix. | |
14 | ;;; | |
15 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
16 | ;;; under the terms of the GNU General Public License as published by | |
17 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
18 | ;;; your option) any later version. | |
19 | ;;; | |
20 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
21 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
22 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
23 | ;;; GNU General Public License for more details. | |
24 | ;;; | |
25 | ;;; You should have received a copy of the GNU General Public License | |
26 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
27 | ||
28 | (define-module (gnu packages gnome-xyz) | |
29 | #:use-module (guix build-system trivial) | |
30 | #:use-module (guix build-system gnu) | |
fb18f32e | 31 | #:use-module (guix build-system copy) |
fdd48135 | 32 | #:use-module (guix build-system meson) |
b26a239c LP |
33 | #:use-module (guix git-download) |
34 | #:use-module (guix packages) | |
35 | #:use-module ((guix licenses) #:prefix license:) | |
ec574bb3 AT |
36 | #:use-module (gnu packages base) |
37 | #:use-module (gnu packages bash) | |
fdd48135 | 38 | #:use-module (gnu packages gettext) |
b26a239c | 39 | #:use-module (gnu packages glib) |
72332f3c | 40 | #:use-module (gnu packages gnome) |
ec574bb3 | 41 | #:use-module (gnu packages gtk) |
72332f3c | 42 | #:use-module (gnu packages pkg-config) |
fdd48135 AG |
43 | #:use-module (gnu packages python-xyz) |
44 | #:use-module (gnu packages ssh) | |
45 | #:use-module (gnu packages tls) | |
72332f3c | 46 | #:use-module (gnu packages ruby) |
f43e7462 | 47 | #:use-module (gnu packages web) |
72332f3c | 48 | #:use-module (gnu packages xml)) |
b26a239c | 49 | |
ec574bb3 AT |
50 | (define-public matcha-theme |
51 | (package | |
52 | (name "matcha-theme") | |
51d3c845 | 53 | (version "2021-01-01") |
ec574bb3 AT |
54 | (source |
55 | (origin | |
56 | (method git-fetch) | |
57 | (uri | |
58 | (git-reference | |
b050e205 | 59 | (url "https://github.com/vinceliuice/Matcha-gtk-theme") |
ec574bb3 AT |
60 | (commit version))) |
61 | (file-name (git-file-name name version)) | |
62 | (sha256 | |
63 | (base32 | |
51d3c845 | 64 | "1pa6ra87wlq0gwz4n03l6xv0pxiamr5dygycvppms8v6xyc2aa0r")))) |
ec574bb3 AT |
65 | (build-system trivial-build-system) |
66 | (arguments | |
67 | '(#:modules ((guix build utils)) | |
68 | #:builder | |
69 | (begin | |
70 | (use-modules (guix build utils)) | |
71 | (let* ((out (assoc-ref %outputs "out")) | |
72 | (source (assoc-ref %build-inputs "source")) | |
73 | (bash (assoc-ref %build-inputs "bash")) | |
74 | (coreutils (assoc-ref %build-inputs "coreutils")) | |
75 | (themesdir (string-append out "/share/themes"))) | |
76 | (setenv "PATH" | |
77 | (string-append coreutils "/bin:" | |
78 | (string-append bash "/bin:"))) | |
79 | (copy-recursively source (getcwd)) | |
b050e205 | 80 | (patch-shebang "install.sh") |
ec574bb3 | 81 | (mkdir-p themesdir) |
b050e205 | 82 | (invoke "./install.sh" "-d" themesdir) |
ec574bb3 AT |
83 | #t)))) |
84 | (inputs | |
85 | `(("gtk-engines" ,gtk-engines))) | |
86 | (native-inputs | |
87 | `(("bash" ,bash) | |
88 | ("coreutils" ,coreutils))) | |
89 | (synopsis "Flat design theme for GTK 3, GTK 2 and GNOME-Shell") | |
90 | (description "Matcha is a flat Design theme for GTK 3, GTK 2 and | |
91 | Gnome-Shell which supports GTK 3 and GTK 2 based desktop environments | |
92 | like Gnome, Unity, Budgie, Pantheon, XFCE, Mate and others.") | |
93 | (home-page "https://github.com/vinceliuice/matcha") | |
94 | (license license:gpl3+))) | |
95 | ||
b26a239c LP |
96 | (define-public delft-icon-theme |
97 | (package | |
98 | (name "delft-icon-theme") | |
999279f0 | 99 | (version "1.14") |
b26a239c LP |
100 | (source |
101 | (origin | |
102 | (method git-fetch) | |
103 | (uri (git-reference | |
b0e7b699 | 104 | (url "https://github.com/madmaxms/iconpack-delft") |
b26a239c LP |
105 | (commit (string-append "v" version)))) |
106 | (sha256 | |
107 | (base32 | |
999279f0 | 108 | "1iw85cxx9lv7irs28qi3815dk9f9vldv2j7jf1x5l1dqzwaxgwpb")) |
b26a239c | 109 | (file-name (git-file-name name version)))) |
3282137d | 110 | (build-system copy-build-system) |
b26a239c | 111 | (arguments |
3282137d LP |
112 | `(#:install-plan |
113 | `(("." "share/icons" #:exclude ("README.md" "LICENSE" "logo.jpg"))) | |
114 | #:phases | |
115 | (modify-phases %standard-phases | |
116 | (add-after 'unpack 'patch-index.theme | |
117 | (lambda _ | |
118 | (substitute* "Delft/index.theme" | |
119 | (("gnome") "Adwaita")) | |
120 | #t))))) | |
b26a239c LP |
121 | (home-page "https://www.gnome-look.org/p/1199881/") |
122 | (synopsis "Continuation of Faenza icon theme with up to date app icons") | |
123 | (description "Delft is a fork of the popular icon theme Faenza with up to | |
124 | date app icons. It will stay optically close to the original Faenza icons, | |
125 | which haven't been updated for some years. The new app icons are ported from | |
126 | the Obsidian icon theme.") | |
127 | (license license:gpl3))) | |
0f0bffc4 | 128 | |
e3d80f3c GL |
129 | (define-public gnome-shell-extension-appindicator |
130 | (package | |
131 | (name "gnome-shell-extension-appindicator") | |
19b7d41d | 132 | (version "33") |
e3d80f3c GL |
133 | (source (origin |
134 | (method git-fetch) | |
135 | (uri (git-reference | |
136 | (url | |
8ed4c468 | 137 | "https://github.com/ubuntu/gnome-shell-extension-appindicator") |
e3d80f3c GL |
138 | (commit (string-append "v" version)))) |
139 | (sha256 | |
140 | (base32 | |
19b7d41d | 141 | "0qm77s080nbf4gqnfzpwp8a7jf7lliz6fxbsd3lasvrr11pgsk87")) |
e3d80f3c | 142 | (file-name (git-file-name name version)))) |
f6a151cd | 143 | (build-system copy-build-system) |
e3d80f3c | 144 | (arguments |
f6a151cd LP |
145 | `(#:install-plan |
146 | '(("." ,(string-append "share/gnome-shell/extensions/" | |
147 | "appindicatorsupport@rgcjonas.gmail.com"))))) | |
e3d80f3c GL |
148 | (synopsis "Adds KStatusNotifierItem support to GNOME Shell") |
149 | (description "This extension integrates Ubuntu AppIndicators | |
150 | and KStatusNotifierItems (KDE's successor of the systray) into | |
151 | GNOME Shell.") | |
152 | (home-page "https://github.com/ubuntu/gnome-shell-extension-appindicator/") | |
153 | (license license:gpl2+))) | |
154 | ||
0e741a89 JH |
155 | (define-public gnome-shell-extension-clipboard-indicator |
156 | (package | |
157 | (name "gnome-shell-extension-clipboard-indicator") | |
158 | (version "34") | |
159 | (source (origin | |
160 | (method git-fetch) | |
161 | (uri (git-reference | |
162 | (url (string-append "https://github.com/Tudmotu/" | |
163 | "gnome-shell-extension-clipboard-indicator.git")) | |
164 | (commit (string-append "v" version)))) | |
165 | (file-name (git-file-name name version)) | |
166 | (sha256 | |
167 | (base32 | |
168 | "0i00psc1ky70zljd14jzr627y7nd8xwnwrh4xpajl1f6djabh12s")) | |
169 | (modules '((guix build utils))) | |
170 | (snippet | |
171 | ;; Remove pre-compiled settings schemas and translations from | |
172 | ;; source, as they are generated as part of build. Upstream | |
173 | ;; includes them for people who want to run the software | |
174 | ;; directly from source tree. | |
175 | '(begin (delete-file "schemas/gschemas.compiled") | |
176 | (for-each delete-file (find-files "locale" "\\.mo$")) | |
177 | #t)))) | |
178 | (build-system copy-build-system) | |
179 | (arguments | |
180 | '(#:install-plan | |
181 | '(("." "share/gnome-shell/extensions/clipboard-indicator@tudmotu.com" | |
182 | #:include-regexp ("\\.css$" "\\.compiled$" "\\.js(on)?$" "\\.mo$" "\\.xml$"))) | |
183 | #:phases | |
184 | (modify-phases %standard-phases | |
185 | (add-before 'install 'compile-schemas | |
186 | (lambda _ | |
187 | (with-directory-excursion "schemas" | |
188 | (invoke "glib-compile-schemas" ".")) | |
189 | #t)) | |
190 | (add-before 'install 'compile-locales | |
191 | (lambda _ (invoke "./compile-locales.sh") | |
192 | #t))))) | |
193 | (native-inputs | |
194 | `(("gettext" ,gettext-minimal) | |
195 | ("glib:bin" ,glib "bin"))) ; for glib-compile-schemas | |
196 | (home-page "https://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator") | |
197 | (synopsis "Clipboard manager extension for GNOME Shell") | |
198 | (description "Clipboard Indicator is a clipboard manager for GNOME Shell | |
199 | that caches clipboard history.") | |
200 | (license license:expat))) | |
201 | ||
e7c79125 EZ |
202 | (define-public gnome-shell-extension-topicons-redux |
203 | (package | |
204 | (name "gnome-shell-extension-topicons-redux") | |
205 | (version "6") | |
206 | (source | |
207 | (origin | |
208 | (method git-fetch) | |
209 | (uri (git-reference | |
210 | (url "https://gitlab.com/pop-planet/TopIcons-Redux.git") | |
211 | (commit version))) | |
212 | (file-name (git-file-name name version)) | |
213 | (sha256 | |
214 | (base32 "1dli9xb545n3xlj6q4wl0y5gzkm903zs47p8fiq71pdvbr6v38rj")))) | |
215 | (build-system gnu-build-system) | |
216 | (native-inputs | |
217 | `(("glib" ,glib "bin"))) | |
218 | (arguments | |
219 | `(#:tests? #f ;no test defined in the project | |
220 | #:phases | |
221 | (modify-phases %standard-phases | |
222 | (delete 'configure) | |
223 | (delete 'build) | |
224 | (replace 'install | |
225 | (lambda* (#:key outputs #:allow-other-keys) | |
226 | (let ((out (assoc-ref outputs "out"))) | |
227 | (invoke "make" | |
228 | "install" | |
229 | (string-append | |
230 | "INSTALL_PATH=" | |
231 | out | |
232 | "/share/gnome-shell/extensions")))))))) | |
233 | (home-page "https://gitlab.com/pop-planet/TopIcons-Redux") | |
234 | (synopsis "Display legacy tray icons in the GNOME Shell top panel") | |
235 | (description "Many applications, such as chat clients, downloaders, and | |
236 | some media players, are meant to run long-term in the background even after you | |
237 | close their window. These applications remain accessible by adding an icon to | |
238 | the GNOME Shell Legacy Tray. However, the Legacy Tray was removed in GNOME | |
239 | 3.26. TopIcons Redux brings those icons back into the top panel so that it's | |
7230f6d5 | 240 | easier to keep track of applications running in the background.") |
e7c79125 EZ |
241 | (license license:gpl2+))) |
242 | ||
0f0bffc4 LP |
243 | (define-public gnome-shell-extension-dash-to-dock |
244 | (package | |
245 | (name "gnome-shell-extension-dash-to-dock") | |
7e6bbd8b | 246 | (version "67") |
0f0bffc4 LP |
247 | (source (origin |
248 | (method git-fetch) | |
249 | (uri (git-reference | |
b0e7b699 | 250 | (url "https://github.com/micheleg/dash-to-dock") |
0f0bffc4 LP |
251 | (commit (string-append "extensions.gnome.org-v" |
252 | version)))) | |
253 | (sha256 | |
254 | (base32 | |
7e6bbd8b | 255 | "1746xm0iyvyzj6m3pvjx11smh9w1s7naz426ki0dlr5l7jh3mpy5")) |
0f0bffc4 LP |
256 | (file-name (git-file-name name version)))) |
257 | (build-system gnu-build-system) | |
258 | (arguments | |
259 | '(#:tests? #f | |
260 | #:make-flags (list (string-append "INSTALLBASE=" | |
261 | (assoc-ref %outputs "out") | |
262 | "/share/gnome-shell/extensions")) | |
263 | #:phases | |
264 | (modify-phases %standard-phases | |
265 | (delete 'bootstrap) | |
266 | (delete 'configure)))) | |
267 | (native-inputs | |
1f3902ec LP |
268 | `(("glib:bin" ,glib "bin") |
269 | ("intltool" ,intltool) | |
0f0bffc4 LP |
270 | ("pkg-config" ,pkg-config))) |
271 | (propagated-inputs | |
1f3902ec | 272 | `(("glib" ,glib))) |
0f0bffc4 LP |
273 | (synopsis "Transforms GNOME's dash into a dock") |
274 | (description "This extension moves the dash out of the | |
275 | overview, transforming it into a dock for easier application launching and | |
276 | faster window switching.") | |
277 | (home-page "https://micheleg.github.io/dash-to-dock/") | |
278 | (license license:gpl2+))) | |
34bcfae2 | 279 | |
fdd48135 AG |
280 | (define-public gnome-shell-extension-gsconnect |
281 | (package | |
282 | (name "gnome-shell-extension-gsconnect") | |
a1f84aca AG |
283 | ;; v33 is the last version to support GNOME 3.34 |
284 | (version "33") | |
fdd48135 AG |
285 | (source (origin |
286 | (method git-fetch) | |
287 | (uri (git-reference | |
288 | (url (string-append "https://github.com/andyholmes" | |
289 | "/gnome-shell-extension-gsconnect.git")) | |
290 | (commit (string-append "v" version)))) | |
291 | (file-name (git-file-name name version)) | |
292 | (sha256 | |
293 | (base32 | |
a1f84aca | 294 | "1q03axhn75i864vgmd6myhmgwrmnpf01gsd1wl0di5x9q8mic2zn")))) |
fdd48135 AG |
295 | (build-system meson-build-system) |
296 | (arguments | |
297 | `(#:configure-flags | |
298 | (let* ((out (assoc-ref %outputs "out")) | |
299 | (name+version (strip-store-file-name out)) | |
300 | (gschema-dir (string-append out | |
301 | "/share/gsettings-schemas/" | |
302 | name+version | |
303 | "/glib-2.0/schemas")) | |
304 | (gnome-shell (assoc-ref %build-inputs "gnome-shell")) | |
305 | (openssh (assoc-ref %build-inputs "openssh")) | |
306 | (openssl (assoc-ref %build-inputs "openssl"))) | |
307 | (list | |
308 | (string-append "-Dgnome_shell_libdir=" gnome-shell "/lib") | |
309 | (string-append "-Dgsettings_schemadir=" gschema-dir) | |
310 | (string-append "-Dopenssl_path=" openssl "/bin/openssl") | |
311 | (string-append "-Dsshadd_path=" openssh "/bin/ssh-add") | |
312 | (string-append "-Dsshkeygen_path=" openssh "/bin/ssh-keygen") | |
313 | (string-append "-Dsession_bus_services_dir=" out "/share/dbus-1/services") | |
314 | "-Dpost_install=true")) | |
315 | #:phases | |
316 | (modify-phases %standard-phases | |
317 | (add-before 'configure 'fix-paths | |
318 | (lambda* (#:key inputs #:allow-other-keys) | |
319 | (let* ((glib (assoc-ref inputs "glib:bin")) | |
320 | (gapplication (string-append glib "/bin/gapplication")) | |
321 | (gi-typelib-path (getenv "GI_TYPELIB_PATH"))) | |
322 | (substitute* "data/org.gnome.Shell.Extensions.GSConnect.desktop" | |
323 | (("gapplication") gapplication)) | |
324 | (for-each | |
325 | (lambda (file) | |
326 | (substitute* file | |
327 | (("'use strict';") | |
328 | (string-append "'use strict';\n\n" | |
329 | "'" gi-typelib-path "'.split(':').forEach(" | |
330 | "path => imports.gi.GIRepository.Repository." | |
331 | "prepend_search_path(path));")))) | |
332 | '("src/extension.js" "src/prefs.js")) | |
333 | #t))) | |
334 | (add-after 'install 'wrap-daemons | |
335 | (lambda* (#:key inputs outputs #:allow-other-keys) | |
336 | (let* ((out (assoc-ref outputs "out")) | |
337 | (service-dir | |
338 | (string-append out "/share/gnome-shell/extensions" | |
339 | "/gsconnect@andyholmes.github.io/service")) | |
340 | (gi-typelib-path (getenv "GI_TYPELIB_PATH"))) | |
341 | (wrap-program (string-append service-dir "/daemon.js") | |
342 | `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))) | |
343 | #t)))))) | |
344 | (inputs | |
345 | `(("at-spi2-core" ,at-spi2-core) | |
346 | ("caribou" ,caribou) | |
347 | ("evolution-data-server" ,evolution-data-server) | |
fdd48135 AG |
348 | ("gjs" ,gjs) |
349 | ("glib" ,glib) | |
350 | ("glib:bin" ,glib "bin") | |
351 | ("gsound" ,gsound) | |
352 | ("gnome-shell" ,gnome-shell) | |
353 | ("gtk+" ,gtk+) | |
354 | ("nautilus" ,nautilus) | |
355 | ("openssh" ,openssh) | |
356 | ("openssl" ,openssl) | |
357 | ("python-nautilus" ,python-nautilus) | |
358 | ("python-pygobject" ,python-pygobject) | |
359 | ("upower" ,upower))) | |
360 | (native-inputs | |
361 | `(("gettext" ,gettext-minimal) | |
362 | ("gobject-introspection" ,gobject-introspection) | |
363 | ("libxml2" ,libxml2) | |
364 | ("pkg-config" ,pkg-config))) | |
365 | (home-page "https://github.com/andyholmes/gnome-shell-extension-gsconnect/wiki") | |
366 | (synopsis "Connect GNOME Shell with your Android phone") | |
367 | (description "GSConnect is a complete implementation of KDE Connect | |
368 | especially for GNOME Shell, allowing devices to securely share content, like | |
369 | notifications or files, and other features like SMS messaging and remote | |
370 | control.") | |
371 | (license license:gpl2))) | |
372 | ||
5be0ff33 LP |
373 | (define-public gnome-shell-extension-hide-app-icon |
374 | (let ((commit "4188aa5f4ba24901a053a0c3eb0d83baa8625eab") | |
375 | (revision "0")) | |
376 | (package | |
377 | (name "gnome-shell-extension-hide-app-icon") | |
378 | (version (git-version "2.7" revision commit)) | |
379 | (source | |
d17eb101 LP |
380 | (origin |
381 | (method git-fetch) | |
382 | (uri (git-reference | |
383 | (url (string-append "https://github.com/michael-rapp" | |
384 | "/gnome-shell-extension-hide-app-icon.git")) | |
385 | (commit commit))) | |
386 | (sha256 | |
387 | (base32 | |
388 | "1i28n4bz6wrhn07vpxkr6l1ljyn7g8frp5xrr11z3z32h2hxxcd6")) | |
389 | (file-name (git-file-name name version)))) | |
5be0ff33 LP |
390 | (build-system gnu-build-system) |
391 | (arguments | |
392 | '(#:tests? #f ; no test target | |
393 | #:make-flags (list (string-append "EXTENSIONS_DIR=" | |
394 | (assoc-ref %outputs "out") | |
395 | "/share/gnome-shell/extensions")) | |
396 | #:phases | |
397 | (modify-phases %standard-phases | |
398 | (delete 'configure) ; no configure script | |
399 | (replace 'install | |
400 | (lambda* (#:key outputs #:allow-other-keys) | |
d17eb101 LP |
401 | (let ((out (assoc-ref outputs "out")) |
402 | (pre "/share/gnome-shell/extensions/") | |
403 | (dir "hide-app-icon@mrapp.sourceforge.com")) | |
404 | (copy-recursively dir (string-append out pre dir)) | |
405 | #t)))))) | |
5be0ff33 LP |
406 | (native-inputs |
407 | `(("glib" ,glib "bin") | |
408 | ("intltool" ,intltool))) | |
409 | (propagated-inputs | |
410 | `(("glib" ,glib))) | |
411 | (synopsis "Hide app icon from GNOME's panel") | |
309aaea5 | 412 | (description "This extension hides the icon and/or title of the |
5be0ff33 | 413 | currently focused application in the top panel of the GNOME shell.") |
d17eb101 LP |
414 | (home-page |
415 | "https://github.com/michael-rapp/gnome-shell-extension-hide-app-icon/") | |
5be0ff33 | 416 | (license |
d17eb101 LP |
417 | ;; README.md and LICENSE.txt disagree -- the former claims v3, the |
418 | ;; latter v2. No mention of "or later" in either place or in the code. | |
5be0ff33 LP |
419 | (list license:gpl2 |
420 | license:gpl3))))) | |
421 | ||
8a02ae7f GL |
422 | (define-public gnome-shell-extension-dash-to-panel |
423 | (package | |
424 | (name "gnome-shell-extension-dash-to-panel") | |
ee3be810 | 425 | (version "38") |
8a02ae7f GL |
426 | (source (origin |
427 | (method git-fetch) | |
428 | (uri (git-reference | |
b0e7b699 | 429 | (url "https://github.com/home-sweet-gnome/dash-to-panel") |
8a02ae7f GL |
430 | (commit (string-append "v" version)))) |
431 | (sha256 | |
432 | (base32 | |
ee3be810 | 433 | "1kvybb49l1vf0fvh8d0c6xkwnry8m330scamf5x40y63d4i213j1")) |
8a02ae7f GL |
434 | (file-name (git-file-name name version)))) |
435 | (build-system gnu-build-system) | |
436 | (arguments | |
437 | `(#:tests? #f | |
438 | #:make-flags (list (string-append "INSTALLBASE=" | |
439 | (assoc-ref %outputs "out") | |
440 | "/share/gnome-shell/extensions") | |
441 | (string-append "VERSION=" | |
442 | ,(package-version | |
443 | gnome-shell-extension-dash-to-panel))) | |
444 | #:phases | |
445 | (modify-phases %standard-phases | |
446 | (delete 'bootstrap) | |
447 | (delete 'configure)))) | |
448 | (native-inputs | |
449 | `(("intltool" ,intltool) | |
450 | ("pkg-config" ,pkg-config))) | |
451 | (propagated-inputs | |
452 | `(("glib" ,glib) | |
453 | ("glib" ,glib "bin"))) | |
454 | (synopsis "Icon taskbar for GNOME Shell") | |
455 | (description "This extension moves the dash into the gnome main | |
456 | panel so that the application launchers and system tray are combined | |
457 | into a single panel, similar to that found in KDE Plasma and Windows 7+.") | |
458 | (home-page "https://github.com/home-sweet-gnome/dash-to-panel/") | |
459 | (license license:gpl2+))) | |
460 | ||
34bcfae2 LP |
461 | (define-public gnome-shell-extension-noannoyance |
462 | (package | |
463 | (name "gnome-shell-extension-noannoyance") | |
464 | (version "5") | |
465 | (source (origin | |
466 | (method git-fetch) | |
467 | (uri (git-reference | |
b0e7b699 | 468 | (url "https://github.com/BjoernDaase/noannoyance") |
34bcfae2 LP |
469 | (commit "e37b5b3c31f577b4698bc6659bc9fec5ea9ac5d4"))) |
470 | (sha256 | |
471 | (base32 | |
472 | "0fa8l3xlh8kbq07y4385wpb908zm6x53z81q16xlmin97dln32hh")) | |
473 | (file-name (git-file-name name version)))) | |
c456d18b | 474 | (build-system copy-build-system) |
34bcfae2 | 475 | (arguments |
c456d18b LP |
476 | '(#:install-plan |
477 | '(("." "share/gnome-shell/extensions/noannoyance@daase.net")))) | |
e10587c5 PN |
478 | (synopsis "Remove 'Window is ready' annotation") |
479 | (description "One of the many extensions that remove this message. | |
34bcfae2 LP |
480 | It uses ES6 syntax and claims to be more actively maintained than others.") |
481 | (home-page "https://extensions.gnome.org/extension/2182/noannoyance/") | |
482 | (license license:gpl2))) | |
72332f3c | 483 | |
fb18f32e AG |
484 | (define-public gnome-shell-extension-paperwm |
485 | (package | |
486 | (name "gnome-shell-extension-paperwm") | |
9720894c | 487 | (version "36.0") |
fb18f32e AG |
488 | (source (origin |
489 | (method git-fetch) | |
490 | (uri (git-reference | |
b0e7b699 | 491 | (url "https://github.com/paperwm/PaperWM") |
fb18f32e AG |
492 | (commit version))) |
493 | (file-name (git-file-name name version)) | |
494 | (sha256 | |
495 | (base32 | |
9720894c | 496 | "1ssnabwxrns36c61ppspjkr9i3qifv08pf2jpwl7cjv3pvyn4kly")) |
60d5ad80 JH |
497 | (snippet |
498 | '(begin (delete-file "schemas/gschemas.compiled"))))) | |
fb18f32e AG |
499 | (build-system copy-build-system) |
500 | (arguments | |
501 | '(#:install-plan | |
502 | '(("." "share/gnome-shell/extensions/paperwm@hedning:matrix.org" | |
fd621674 JH |
503 | #:include-regexp ("\\.js(on)?$" "\\.css$" "\\.ui$" "\\.png$" |
504 | "\\.xml$" "\\.compiled$"))) | |
60d5ad80 JH |
505 | #:phases |
506 | (modify-phases %standard-phases | |
507 | (add-before 'install 'compile-schemas | |
508 | (lambda _ | |
509 | (with-directory-excursion "schemas" | |
510 | (invoke "make")) | |
511 | #t))))) | |
512 | (native-inputs | |
513 | `(("glib:bin" ,glib "bin"))) ; for glib-compile-schemas | |
fb18f32e AG |
514 | (home-page "https://github.com/paperwm/PaperWM") |
515 | (synopsis "Tiled scrollable window management for GNOME Shell") | |
516 | (description "PaperWM is an experimental GNOME Shell extension providing | |
517 | scrollable tiling of windows and per monitor workspaces. It's inspired by paper | |
518 | notebooks and tiling window managers.") | |
519 | (license license:gpl3))) | |
520 | ||
f43e7462 KK |
521 | (define-public greybird-gtk-theme |
522 | (package | |
523 | (name "greybird-gtk-theme") | |
524 | (version "3.22.12") | |
525 | (source (origin | |
526 | (method git-fetch) | |
527 | (uri | |
528 | (git-reference | |
529 | (url "https://github.com/shimmerproject/Greybird") | |
530 | (commit (string-append "v" version)))) | |
531 | (file-name (git-file-name name version)) | |
532 | (sha256 | |
533 | (base32 | |
534 | "1j66ddvl3pmwh2v8ajm8r5g5nbsr7r262ff1qn2nf3i0gy8b3lq8")))) | |
535 | (build-system meson-build-system) | |
536 | (native-inputs | |
537 | `(("gtk+" ,gtk+) | |
538 | ("glib:bin" ,glib "bin") ; for "glib-compile-resources" | |
539 | ("librsvg" ,librsvg) | |
540 | ("pkg-config" ,pkg-config) | |
541 | ("ruby-sass" ,ruby-sass) | |
542 | ("sassc" ,sassc))) | |
543 | (home-page "https://shimmerproject.org/") | |
544 | (synopsis "Grey GTK+ theme based on Bluebird") | |
545 | (description "Greybird is a grey derivative of the Bluebird theme by the | |
546 | Shimmer Project. It supports GNOME, Unity, and Xfce.") | |
547 | (license (list license:gpl2+ license:cc-by-sa3.0)))) | |
548 | ||
ec5a3021 | 549 | (define-public numix-gtk-theme |
72332f3c | 550 | (package |
ec5a3021 | 551 | (name "numix-gtk-theme") |
72332f3c GL |
552 | (version "2.6.7") |
553 | (source (origin | |
554 | (method git-fetch) | |
555 | (uri (git-reference | |
b0e7b699 | 556 | (url "https://github.com/numixproject/numix-gtk-theme") |
72332f3c GL |
557 | (commit version))) |
558 | (file-name (git-file-name name version)) | |
559 | (sha256 | |
560 | (base32 | |
561 | "12mw0kr0kkvg395qlbsvkvaqccr90cmxw5rrsl236zh43kj8grb7")))) | |
562 | (build-system gnu-build-system) | |
563 | (arguments | |
a457c55a TGR |
564 | '(#:make-flags |
565 | (list (string-append "INSTALL_DIR=" | |
566 | (assoc-ref %outputs "out") | |
567 | "/share/themes/Numix")) | |
991a5710 | 568 | #:tests? #f |
72332f3c GL |
569 | #:phases |
570 | (modify-phases %standard-phases | |
991a5710 | 571 | (delete 'configure)))) ; no configure script |
72332f3c GL |
572 | (native-inputs |
573 | `(("glib:bin" ,glib "bin") ; for glib-compile-schemas | |
574 | ("gnome-shell" ,gnome-shell) | |
575 | ("gtk+" ,gtk+) | |
576 | ("xmllint" ,libxml2) | |
577 | ("ruby-sass" ,ruby-sass))) | |
578 | (synopsis "Flat theme with light and dark elements") | |
579 | (description "Numix is a modern flat theme with a combination of light and | |
580 | dark elements. It supports GNOME, Unity, Xfce, and Openbox.") | |
581 | (home-page "https://numixproject.github.io") | |
582 | (license license:gpl3+))) | |
099ce5d4 | 583 | |
ec5a3021 TGR |
584 | (define-public numix-theme |
585 | (deprecated-package "numix-theme" numix-gtk-theme)) | |
586 | ||
099ce5d4 GL |
587 | (define-public papirus-icon-theme |
588 | (let ((version "0.0.0") ;; The package does not use semver | |
e7a7a483 GL |
589 | (revision "2") |
590 | (tag "20200602")) | |
099ce5d4 GL |
591 | (package |
592 | (name "papirus-icon-theme") | |
593 | (version (git-version version revision tag)) | |
594 | (source | |
595 | (origin | |
596 | (method git-fetch) | |
597 | (uri (git-reference | |
b0e7b699 | 598 | (url "https://github.com/PapirusDevelopmentTeam/papirus-icon-theme") |
099ce5d4 GL |
599 | (commit tag))) |
600 | (sha256 | |
601 | (base32 | |
e7a7a483 | 602 | "0yv19kl8jr2jmh9018b1qmnq68alw84vrmb35jm462qd3qzzdgah")) |
099ce5d4 GL |
603 | (file-name (git-file-name name version)))) |
604 | (build-system gnu-build-system) | |
605 | (arguments | |
606 | '(#:tests? #f | |
607 | #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) | |
608 | #:phases | |
609 | (modify-phases %standard-phases | |
610 | (delete 'bootstrap) | |
611 | (delete 'configure) | |
612 | (delete 'build)))) | |
613 | (native-inputs | |
614 | `(("gtk+:bin" ,gtk+ "bin"))) | |
615 | (home-page "https://git.io/papirus-icon-theme") | |
616 | (synopsis "Fork of Paper icon theme with a lot of new icons and a few extras") | |
617 | (description "Papirus is a fork of the icon theme Paper with a lot of new icons | |
618 | and a few extra features.") | |
619 | (license license:gpl3)))) | |
8d7efc7a RP |
620 | |
621 | (define-public vala-language-server | |
622 | (package | |
623 | (name "vala-language-server") | |
624 | ;; Note to maintainer: VLS must be built with a Vala toolchain the same | |
625 | ;; version or newer. Therefore when you update this package you may need | |
626 | ;; to update Vala too. | |
f7b1b22e | 627 | (version "0.48.1") |
8d7efc7a RP |
628 | (source (origin |
629 | (method git-fetch) | |
630 | (uri (git-reference | |
b0e7b699 | 631 | (url "https://github.com/benwaffle/vala-language-server") |
8d7efc7a RP |
632 | (commit version))) |
633 | (file-name (git-file-name name version)) | |
634 | (sha256 | |
f7b1b22e | 635 | (base32 "12k095052jkvbiyz8gzkj6w7r7p16d5m18fyikl48yvh5nln8fw0")))) |
8d7efc7a RP |
636 | (build-system meson-build-system) |
637 | (arguments '(#:glib-or-gtk? #t)) | |
638 | (inputs | |
639 | `(("glib" ,glib) | |
640 | ("json-glib" ,json-glib) | |
641 | ("jsonrpc-glib" ,jsonrpc-glib) | |
642 | ("libgee" ,libgee) | |
d1d69543 | 643 | ("vala" ,vala-0.50))) |
8d7efc7a RP |
644 | (native-inputs |
645 | `(("pkg-config" ,pkg-config))) | |
646 | (home-page "https://github.com/benwaffle/vala-language-server") | |
647 | (synopsis "Language server for Vala") | |
648 | (description "The Vala language server is an implementation of the Vala | |
649 | language specification for the Language Server Protocol (LSP). This tool is | |
650 | used in text editing environments to provide a complete and integrated | |
651 | feature-set for programming Vala effectively.") | |
652 | (license license:lgpl2.1+))) | |
fdfc1c81 EK |
653 | |
654 | (define-public nordic-theme | |
655 | (let ((commit "07d764c5ebd5706e73d2e573f1a983e37b318915") | |
656 | (revision "0")) | |
657 | (package | |
658 | (name "nordic-theme") | |
659 | (version (git-version "1.9.0" revision commit)) | |
660 | (source | |
661 | (origin | |
662 | (method git-fetch) | |
663 | (uri (git-reference | |
664 | (url "https://github.com/EliverLara/Nordic") | |
665 | (commit commit))) | |
666 | (sha256 | |
667 | (base32 | |
668 | "0y2s9d6h1b195s6afp1gb5rb1plfslkpbw2brd30a9d66wfvsqk0")) | |
669 | (file-name (git-file-name name version)))) | |
670 | (build-system copy-build-system) | |
671 | (arguments | |
672 | `(#:install-plan | |
673 | `(("." "share/themes/nord" | |
674 | #:exclude ("README.md" "LICENSE" "Art/" "package.json" | |
675 | "package-lock.json" "Gulpfile.js"))))) | |
676 | (home-page "https://github.com/EliverLara/Nordic") | |
677 | (synopsis "Dark Gtk3.20+ theme using the Nord color pallete") | |
678 | (description "Nordic is a Gtk3.20+ theme created using the Nord color | |
679 | pallete.") | |
680 | (license license:gpl3)))) |