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