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