summary refs log tree commit diff
path: root/gnu/packages/gnome-xyz.scm
diff options
context:
space:
mode:
authorLiliana Marie Prikler <liliana.prikler@gmail.com>2021-12-15 20:40:27 +0100
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2021-12-31 15:04:18 +0100
commit60661adfb8ffa28e1acfcfea27c6cc2fc70f88fe (patch)
tree2c41f6529e137a4ba7dd9daf127e098fae412ae5 /gnu/packages/gnome-xyz.scm
parentcefcddf9ef86643c54f4f157ceefaa957569f572 (diff)
downloadguix-60661adfb8ffa28e1acfcfea27c6cc2fc70f88fe.tar.gz
gnu: Add gnome-shell-extension-just-perfection.
* gnu/packages/gnome-xyz.scm (gnome-shell-extension-just-perfection): New variable.
Diffstat (limited to 'gnu/packages/gnome-xyz.scm')
-rw-r--r--gnu/packages/gnome-xyz.scm51
1 files changed, 51 insertions, 0 deletions
diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm
index d45222747c..8161db557d 100644
--- a/gnu/packages/gnome-xyz.scm
+++ b/gnu/packages/gnome-xyz.scm
@@ -537,6 +537,57 @@ currently focused application in the top panel of the GNOME shell.")
         (list license:gpl2
               license:gpl3)))))
 
+(define-public gnome-shell-extension-just-perfection
+  (package
+    (name "gnome-shell-extension-just-perfection")
+    (version "16.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://gitlab.gnome.org/jrahmatzadeh/just-perfection/")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "05zbzgs92zqlmjq4h2q2gggrf1qiz8l6739zzg1x5090gvk4iak3"))))
+    (build-system copy-build-system)
+    (arguments
+     `(#:install-plan
+       '(("src"
+          "share/gnome-shell/extensions/just-perfection-desktop@just-perfection"
+          #:include-regexp ("\\.css$" "\\.compiled$" "\\.js(on)?$" "\\.ui$"))
+         ("locale"
+          "share/gnome-shell/extensions/just-perfection-desktop@just-perfection/"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'drop-executable-bits
+           (lambda _
+             (for-each
+              (lambda (file)
+                (let ((stat (lstat file)))
+                  (chmod file (logand (stat:mode stat) (lognot #o111)))))
+              (find-files "." #:directories? #f))))
+         (add-before 'install 'build
+           (lambda _
+             (invoke "glib-compile-schemas" "src/schemas")
+             (for-each
+              (lambda (file)
+                (let* ((base (basename file))
+                       (noext (substring base 0 (- (string-length base) 3)))
+                       (dest (string-append "locale/" noext "/LC_MESSAGES/"))
+                       (out (string-append dest "just-perfection.mo")))
+                  (mkdir-p dest)
+                  (invoke "msgfmt" "-c" file "-o" out)))
+              (find-files "po" "\\.po$")))))))
+    (native-inputs
+     (list `(,glib "bin") gettext-minimal))
+    (home-page "https://gitlab.gnome.org/jrahmatzadeh/just-perfection")
+    (synopsis "Customize GNOME Shell behaviour")
+    (description "Just Perfection allows you to change various settings, that
+GNOME Shell itself does not provide out of the box, such as the ability to hide
+certain elements or change animation speeds.")
+    (license license:gpl3)))
+
 (define-public gnome-shell-extension-dash-to-panel
   (package
     (name "gnome-shell-extension-dash-to-panel")