Merge pull request #124315 from piegamesde/gnome-extensions

gnomeExtensions: Some more cleanup
This commit is contained in:
Jan Tojnar 2021-07-14 03:56:18 +02:00 committed by GitHub
commit 5fb893f922
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
41 changed files with 155 additions and 548 deletions

@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ];
uuid = "EasyScreenCast@iacopodeenosee.gmail.com";
passthru.extensionUuid = "EasyScreenCast@iacopodeenosee.gmail.com";
meta = with lib; {
description = "Simplifies the use of the video recording function integrated in gnome shell";

@ -1,36 +0,0 @@
{ lib, stdenv, fetchFromGitHub, gnome }:
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-appindicator";
version = "37";
src = fetchFromGitHub {
owner = "Ubuntu";
repo = "gnome-shell-extension-appindicator";
rev = "v${version}";
sha256 = "1yss91n94laakzhym409iyjs5gwhln2pkq0zrdrsxc3z70zlslxl";
};
# This package has a Makefile, but it's used for building a zip for
# publication to extensions.gnome.org. Disable the build phase so
# installing doesn't build an unnecessary release.
dontBuild = true;
uuid = "appindicatorsupport@rgcjonas.gmail.com";
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions/${uuid}
cp *.js $out/share/gnome-shell/extensions/${uuid}
cp -r interfaces-xml $out/share/gnome-shell/extensions/${uuid}
cp metadata.json $out/share/gnome-shell/extensions/${uuid}
runHook postInstall
'';
meta = with lib; {
description = "AppIndicator/KStatusNotifierItem support for GNOME Shell";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ jonafato ];
platforms = gnome.gnome-shell.meta.platforms;
homepage = "https://github.com/Ubuntu/gnome-shell-extension-appindicator";
};
}

@ -24,7 +24,10 @@ stdenv.mkDerivation rec {
makeFlags = [ "INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions" ];
uuid = "arcmenu@arcmenu.com";
passthru = {
extensionUuid = "arcmenu@arcmenu.com";
extensionPortalSlug = "arcmenu";
};
meta = with lib; {
description = "Application menu for GNOME Shell, designed to provide a more traditional user experience and workflow";

@ -11,7 +11,10 @@ stdenv.mkDerivation rec {
sha256 = "0dyagnjmk91h96xr98mc177c473bqpxcv86qf6g3kyh3arwa9shs";
};
uuid = "caffeine@patapon.info";
passthru = {
extensionPortalSlug = "caffeine";
extensionUuid = "caffeine@patapon.info";
};
nativeBuildInputs = [
glib gettext
@ -27,7 +30,7 @@ stdenv.mkDerivation rec {
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions
cp -r ${uuid} $out/share/gnome-shell/extensions
cp -r "caffeine@patapon.info" $out/share/gnome-shell/extensions
runHook postInstall
'';

@ -1,32 +0,0 @@
{ lib, stdenv, fetchFromGitHub, gettext, glib }:
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-clipboard-indicator";
version = "38";
src = fetchFromGitHub {
owner = "Tudmotu";
repo = "gnome-shell-extension-clipboard-indicator";
rev = "v${version}";
sha256 = "FNrh3b6la2BuWCsriYP5gG0/KNbkFPuq/YTXTj0aJAI=";
};
uuid = "clipboard-indicator@tudmotu.com";
nativeBuildInputs = [
gettext
glib
];
makeFlags = [
"INSTALLPATH=${placeholder "out"}/share/gnome-shell/extensions/${uuid}/"
];
meta = with lib; {
description = "Adds a clipboard indicator to the top panel and saves clipboard history";
license = licenses.mit;
maintainers = with maintainers; [ jonafato ];
platforms = platforms.linux;
homepage = "https://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator";
};
}

@ -10,7 +10,10 @@ stdenv.mkDerivation rec {
stripRoot = false;
};
uuid = "clock-override@gnomeshell.kryogenix.org";
passthru = {
extensionUuid = "clock-override@gnomeshell.kryogenix.org";
extensionPortalSlug = "clock-override";
};
nativeBuildInputs = [ gettext glib ];
@ -22,8 +25,8 @@ stdenv.mkDerivation rec {
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions/${uuid}
cp -r {convenience.js,extension.js,format.js,locale,metadata.json,prefs.js,schemas} $out/share/gnome-shell/extensions/${uuid}
mkdir -p "$out/share/gnome-shell/extensions/clock-override@gnomeshell.kryogenix.org"
cp -r {convenience.js,extension.js,format.js,locale,metadata.json,prefs.js,schemas} "$out/share/gnome-shell/extensions/clock-override@gnomeshell.kryogenix.org"
runHook postInstall
'';

@ -24,7 +24,10 @@ stdenv.mkDerivation rec {
"INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions"
];
uuid = "dash-to-dock@micxgx.gmail.com";
passthru = {
extensionUuid = "dash-to-dock@micxgx.gmail.com";
extensionPortalSlug = "dash-to-dock";
};
meta = with lib; {
description = "A dock for the Gnome Shell";

@ -17,7 +17,10 @@ stdenv.mkDerivation rec {
makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ];
uuid = "dash-to-panel@jderose9.github.com";
passthru = {
extensionUuid = "dash-to-panel@jderose9.github.com";
extensionPortalSlug = "dash-to-panel";
};
meta = with lib; {
description = "An icon taskbar for Gnome Shell";

@ -1,5 +1,6 @@
{ lib
, callPackage
, callPackages
, config
}:
let
@ -60,14 +61,16 @@ in rec {
gnome40Extensions = mapUuidNames (produceExtensionsList "40");
gnomeExtensions = lib.recurseIntoAttrs (
(mapReadableNames (produceExtensionsList "40"))
// (callPackage ./manuallyPackaged.nix {})
(mapReadableNames
(lib.attrValues (gnome40Extensions // (callPackages ./manuallyPackaged.nix {})))
)
// lib.optionalAttrs (config.allowAliases or true) {
unite-shell = gnomeExtensions.unite; # added 2021-01-19
arc-menu = gnomeExtensions.arcmenu; # added 2021-02-14
nohotcorner = throw "gnomeExtensions.nohotcorner removed since 2019-10-09: Since 3.34, it is a part of GNOME Shell configurable through GNOME Tweaks.";
mediaplayer = throw "gnomeExtensions.mediaplayer deprecated since 2019-09-23: retired upstream https://github.com/JasonLG1979/gnome-shell-extensions-mediaplayer/blob/master/README.md";
remove-dropdown-arrows = throw "gnomeExtensions.remove-dropdown-arrows removed since 2021-05-25: The extensions has not seen an update sine GNOME 3.34. Furthermore, the functionality it provides is obsolete as of GNOME 40.";
}
);
}

@ -1,31 +0,0 @@
{ lib, stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-disable-unredirect";
version = "unstable-2021-04-13";
src = fetchFromGitHub {
owner = "kazysmaster";
repo = "gnome-shell-extension-disable-unredirect";
rev = "2a4c0e6a7a7a5f1aad9907ee2cf43d0725e10c19";
sha256 = "06hbyy20xz0bvzg0vs5w4092nyfpg372c86cdm1akcjm72m5sim9";
};
uuid = "unredirect@vaina.lt";
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions
cp -R ${uuid} $out/share/gnome-shell/extensions/${uuid}
runHook postInstall
'';
meta = with lib; {
description = "Disables unredirect fullscreen windows in gnome-shell to avoid tearing";
license = licenses.gpl3Only;
homepage = "https://github.com/kazysmaster/gnome-shell-extension-disable-unredirect";
maintainers = with maintainers; [ eduardosm ];
};
}

@ -1,29 +0,0 @@
{ lib, stdenv, fetchgit, gettext, gnome }:
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-draw-on-your-screen";
version = "10";
src = fetchgit {
url = "https://framagit.org/abakkk/DrawOnYourScreen/";
rev = "v${version}";
sha256 = "07adzg3mf6k0pmd9lc358w0w3l4pr3p6374day1qhmci2p4zxq6p";
};
uuid = "drawOnYourScreen@abakkk.framagit.org";
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions/${uuid}
cp -r . $out/share/gnome-shell/extensions/${uuid}
runHook postInstall
'';
meta = with lib; {
description = "A drawing extension for GNOME Shell";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ ericdallo ahuzik ];
platforms = gnome.gnome-shell.meta.platforms;
homepage = "https://framagit.org/abakkk/DrawOnYourScreen";
};
}

@ -11,7 +11,10 @@ stdenv.mkDerivation rec {
sha256 = "0igfxgrjdqq6z6xg4rsawxn261pk25g5dw2pm3bhwz5sqsy4bq3i";
};
uuid = "drop-down-terminal@gs-extensions.zzrough.org";
passthru = {
extensionUuid = "drop-down-terminal@gs-extensions.zzrough.org";
extensionPortalSlug = "drop-down-terminal";
};
patches = [
(substituteAll {
@ -23,7 +26,7 @@ stdenv.mkDerivation rec {
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions
cp -r ${uuid} $out/share/gnome-shell/extensions/
cp -r "drop-down-terminal@gs-extensions.zzrough.org" $out/share/gnome-shell/extensions/
runHook postInstall
'';

@ -1,38 +0,0 @@
{ lib, stdenv, fetchFromGitHub, gnome, glib }:
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-dynamic-panel-transparency";
version = "unstable-2021-03-04";
src = fetchFromGitHub {
owner = "ewlsh";
repo = "dynamic-panel-transparency";
rev = "f9e720e98e40c7a2d87928d09a7313c9ef2e832c";
sha256 = "0njykxjiwlcmk0q8bsgqaznsryaw43fspfs6rzsjjz5p0xaq04nw";
};
uuid = "dynamic-panel-transparency@rockon999.github.io";
nativeBuildInputs = [ glib ];
buildPhase = ''
runHook preBuild
glib-compile-schemas --strict --targetdir=${uuid}/schemas/ ${uuid}/schemas
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions/${uuid}
cp -r ${uuid} $out/share/gnome-shell/extensions
runHook postInstall
'';
meta = with lib; {
description = "This extension fades your top panel to nothingness when there are no maximized windows present";
license = licenses.gpl3Only;
maintainers = with maintainers; [ rhoriguchi ];
homepage = "https://github.com/ewlsh/dynamic-panel-transparency";
broken = versionOlder gnome.gnome-shell.version "3.36";
};
}

@ -11,20 +11,23 @@ stdenv.mkDerivation rec {
sha256 = "0x60pg5nl5d73av494dg29hyfml7fbf2d03wm053vx1q8a3pxbyb";
};
uuid = "emoji-selector@maestroschan.fr";
passthru = {
extensionUuid = "emoji-selector@maestroschan.fr";
extensionPortalSlug = "emoji-selector";
};
nativeBuildInputs = [ glib ];
buildPhase = ''
runHook preBuild
glib-compile-schemas ./${uuid}/schemas
glib-compile-schemas "./emoji-selector@maestroschan.fr/schemas"
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions
cp -r ${uuid} $out/share/gnome-shell/extensions
cp -r "emoji-selector@maestroschan.fr" $out/share/gnome-shell/extensions
runHook postInstall
'';

@ -14,6 +14,8 @@
"lockkeys@fawtytoo" = "lock-keys-2";
# ############################################################################
# These are conflicts for 3.38 extensions. They will very probably come back
# once more of them support 40.
@ -26,4 +28,24 @@
# That extension is broken because of https://github.com/NixOS/nixpkgs/issues/118612
#"flypie@schneegans.github.com" = null;
# ############################################################################
# Overrides for extensions that were manually packaged in the past but are gradually
# being replaced by automatic packaging where possible.
#
# The manually packaged ones:
"EasyScreenCast@iacopodeenosee.gmail.com" = "easyScreenCast"; # extensionPortalSlug is "easyscreencast"
"gnome-fuzzy-app-search@gnome-shell-extensions.Czarlie.gitlab.com" = "fuzzy-app-search"; # extensionPortalSlug is "gnome-fuzzy-app-search"
"TopIcons@phocean.net" = "topicons-plus"; # extensionPortalSlug is "topicons"
"paperwm@hedning:matrix.org" = "paperwm"; # is not on extensions.gnome.org
"no-title-bar@jonaspoehler.de" = "no-title-bar"; # extensionPortalSlug is "no-title-bar-forked"
# These extensions are automatically packaged at the moment. We preserve the old attribute name
# for backwards compatibility.
"appindicatorsupport@rgcjonas.gmail.com" = "appindicator"; # extensionPortalSlug is "appindicator-support"
"unredirect@vaina.lt" = "disable-unredirect"; # extensionPortalSlug is "disable-unredirect-fullscreen-windows"
"drawOnYourScreen@abakkk.framagit.org" = "draw-on-your-screen"; # extensionPortalSlug is "draw-on-you-screen"
"timepp@zagortenay333" = "timepp"; # extensionPortalSlug is "time"
"windowIsReady_Remover@nunofarruca@gmail.com" = "window-is-ready-remover"; # extensionPortalSlug is "window-is-ready-notification-remover"
}

@ -4,7 +4,10 @@ stdenv.mkDerivation rec {
pname = "gnome-shell-extension-freon";
version = "44";
uuid = "freon@UshakovVasilii_Github.yahoo.com";
passthru = {
extensionUuid = "freon@UshakovVasilii_Github.yahoo.com";
extensionPortalSlug = "freon";
};
src = fetchFromGitHub {
owner = "UshakovVasilii";
@ -17,14 +20,14 @@ stdenv.mkDerivation rec {
buildPhase = ''
runHook preBuild
glib-compile-schemas --strict --targetdir=${uuid}/schemas ${uuid}/schemas
glib-compile-schemas --strict --targetdir="freon@UshakovVasilii_Github.yahoo.com/schemas" "freon@UshakovVasilii_Github.yahoo.com/schemas"
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions
cp -r ${uuid} $out/share/gnome-shell/extensions
cp -r "freon@UshakovVasilii_Github.yahoo.com" $out/share/gnome-shell/extensions
runHook postInstall
'';

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
sha256 = "127n3jc5d6cl0yrpjf8acdj76br97knks1wx4f6jcswkx9x47w0a";
};
uuid = "gnome-fuzzy-app-search@gnome-shell-extensions.Czarlie.gitlab.com";
passthru.extensionUuid = "gnome-fuzzy-app-search@gnome-shell-extensions.Czarlie.gitlab.com";
nativeBuildInputs = [ glib ];

@ -98,7 +98,10 @@ stdenv.mkDerivation rec {
done
'';
uuid = "gsconnect@andyholmes.github.io";
passthru = {
extensionUuid = "gsconnect@andyholmes.github.io";
extensionPortalSlug = "gsconnect";
};
passthru = {
tests = {

@ -1,32 +0,0 @@
{ stdenv, lib, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-gtile";
version = "44";
src = fetchFromGitHub {
owner = "gTile";
repo = "gTile";
rev = "V${version}";
sha256 = "0i00psc1ky70zljd14jzr627y7nd8xwnwrh4xpajl1f6djabh12s";
};
uuid = "gTile@vibou";
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions/${uuid}
cp -r * $out/share/gnome-shell/extensions/${uuid}
runHook postInstall
'';
meta = with lib; {
description = "A window tiling extension for Gnome. This is the new official home of the vibou.gTile extension.";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ mdsp ];
platforms = platforms.linux;
homepage = "https://github.com/gTile/gTile";
};
}

@ -1,33 +0,0 @@
{ lib
, stdenv
, fetchFromGitHub
}:
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-hot-edge";
version = "jdoda";
src = fetchFromGitHub {
owner = "jdoda";
repo = "hotedge";
rev = "bb7f651becea5287241caf7cda246a68ab07dac8";
sha256 = "oeTs0kRan6b5relxzhK1IKbV0Yv2d5YdvvUPJ3fM9ik=";
};
dontBuild = true;
uuid = "hotedge@jonathan.jdoda.ca";
installPhase = ''
runHook preInstall
install -Dt $out/share/gnome-shell/extensions/${uuid} extension.js metadata.json stylesheet.css
runHook postInstall
'';
meta = with lib; {
description = "Replace the top-left hot corner with a bottom hot edge";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ jtojnar ];
homepage = "https://github.com/jdoda/hotedge";
};
}

@ -11,12 +11,15 @@ stdenv.mkDerivation rec {
sha256 = "18c8zkdrmdbghqqz7b450vhgpykgz25mgigwn2nggcb2lxmvm9ks";
};
uuid = "icon-hider@kalnitsky.org";
passthru = {
extensionUuid = "icon-hider@kalnitsky.org";
extensionPortalSlug = "icon-hider";
};
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions
cp -r ${uuid} $out/share/gnome-shell/extensions
cp -r "icon-hider@kalnitsky.org" $out/share/gnome-shell/extensions
runHook postInstall
'';

@ -24,11 +24,14 @@ stdenv.mkDerivation rec {
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions
cp -r impatience $out/share/gnome-shell/extensions/${uuid}
cp -r impatience "$out/share/gnome-shell/extensions/impatience@gfxmonk.net"
runHook postInstall
'';
uuid = "impatience@gfxmonk.net";
passthru = {
extensionUuid = "impatience@gfxmonk.net";
extensionPortalSlug = "impatience";
};
meta = with lib; {
description = "Speed up builtin gnome-shell animations";

@ -1,40 +1,27 @@
{ callPackage }:
{
appindicator = callPackage ./appindicator { };
arcmenu = callPackage ./arcmenu { };
caffeine = callPackage ./caffeine { };
clipboard-indicator = callPackage ./clipboard-indicator { };
clock-override = callPackage ./clock-override { };
dash-to-dock = callPackage ./dash-to-dock { };
dash-to-panel = callPackage ./dash-to-panel { };
disable-unredirect = callPackage ./disable-unredirect { };
draw-on-your-screen = callPackage ./draw-on-your-screen { };
drop-down-terminal = callPackage ./drop-down-terminal { };
dynamic-panel-transparency = callPackage ./dynamic-panel-transparency { };
easyScreenCast = callPackage ./EasyScreenCast { };
emoji-selector = callPackage ./emoji-selector { };
freon = callPackage ./freon { };
fuzzy-app-search = callPackage ./fuzzy-app-search { };
gsconnect = callPackage ./gsconnect { };
hot-edge = callPackage ./hot-edge { };
icon-hider = callPackage ./icon-hider { };
impatience = callPackage ./impatience { };
material-shell = callPackage ./material-shell { };
mpris-indicator-button = callPackage ./mpris-indicator-button { };
night-theme-switcher = callPackage ./night-theme-switcher { };
no-title-bar = callPackage ./no-title-bar { };
noannoyance = callPackage ./noannoyance { };
paperwm = callPackage ./paperwm { };
pidgin-im-integration = callPackage ./pidgin-im-integration { };
remove-dropdown-arrows = callPackage ./remove-dropdown-arrows { };
sound-output-device-chooser = callPackage ./sound-output-device-chooser { };
system-monitor = callPackage ./system-monitor { };
taskwhisperer = callPackage ./taskwhisperer { };
tilingnome = callPackage ./tilingnome { };
timepp = callPackage ./timepp { };
topicons-plus = callPackage ./topicons-plus { };
unite = callPackage ./unite { };
window-corner-preview = callPackage ./window-corner-preview { };
window-is-ready-remover = callPackage ./window-is-ready-remover { };
workspace-matrix = callPackage ./workspace-matrix { };
"arcmenu@arcmenu.com" = callPackage ./arcmenu { };
"caffeine@patapon.info" = callPackage ./caffeine { };
"clock-override@gnomeshell.kryogenix.org" = callPackage ./clock-override { };
"dash-to-dock@micxgx.gmail.com" = callPackage ./dash-to-dock { };
"dash-to-panel@jderose9.github.com" = callPackage ./dash-to-panel { };
"drop-down-terminal@gs-extensions.zzrough.org" = callPackage ./drop-down-terminal { };
"EasyScreenCast@iacopodeenosee.gmail.com" = callPackage ./EasyScreenCast { };
"emoji-selector@maestroschan.fr" = callPackage ./emoji-selector { };
"freon@UshakovVasilii_Github.yahoo.com" = callPackage ./freon { };
"gnome-fuzzy-app-search@gnome-shell-extensions.Czarlie.gitlab.com" = callPackage ./fuzzy-app-search { };
"gsconnect@andyholmes.github.io" = callPackage ./gsconnect { };
"icon-hider@kalnitsky.org" = callPackage ./icon-hider { };
"impatience@gfxmonk.net" = callPackage ./impatience { };
"nightthemeswitcher@romainvigier.fr" = callPackage ./night-theme-switcher { };
"no-title-bar@jonaspoehler.de" = callPackage ./no-title-bar { };
"paperwm@hedning:matrix.org" = callPackage ./paperwm { };
"pidgin@muffinmad" = callPackage ./pidgin-im-integration { };
"sound-output-device-chooser@kgshank.net" = callPackage ./sound-output-device-chooser { };
"system-monitor@paradoxxx.zero.gmail.com" = callPackage ./system-monitor { };
"taskwhisperer-extension@infinicode.de" = callPackage ./taskwhisperer { };
"tilingnome@rliang.github.com" = callPackage ./tilingnome { };
"TopIcons@phocean.net" = callPackage ./topicons-plus { };
"unite@hardpixel.eu" = callPackage ./unite { };
"window-corner-preview@fabiomereu.it" = callPackage ./window-corner-preview { };
}

@ -1,35 +0,0 @@
{ stdenv, lib, fetchFromGitHub, gnome }:
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-material-shell";
version = "12";
src = fetchFromGitHub {
owner = "material-shell";
repo = "material-shell";
rev = version;
sha256 = "0ikrh70drwr0pqjcdz7l1ky8xllpnk7myprjd4s61nqkx9j2iz44";
};
# This package has a Makefile, but it's used for building a zip for
# publication to extensions.gnome.org. Disable the build phase so
# installing doesn't build an unnecessary release.
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions/${uuid}
cp -r * $out/share/gnome-shell/extensions/${uuid}/
runHook postInstall
'';
uuid = "material-shell@papyelgringo";
meta = with lib; {
description = "A modern desktop interface for Linux";
license = licenses.mit;
maintainers = with maintainers; [ benley ];
homepage = "https://github.com/material-shell/material-shell";
platforms = gnome.gnome-shell.meta.platforms;
};
}

@ -1,42 +0,0 @@
{ lib, stdenv
, fetchFromGitHub
, nix-update-script
, gnome
}:
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-mpris-indicator-button-unstable";
version = "2020-03-21";
src = fetchFromGitHub {
owner = "JasonLG1979";
repo = "gnome-shell-extension-mpris-indicator-button";
rev = "de54160e7d905b8c48c0fe30a437f7c51efc1aa3";
sha256 = "0n5qlx51fxjq1nn10zhdwfy905j20sv7pwh2jc6fns757ac4pwwk";
};
uuid = "mprisindicatorbutton@JasonLG1979.github.io";
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions
cp -r ${uuid} $out/share/gnome-shell/extensions
runHook postInstall
'';
passthru = {
updateScript = nix-update-script {
attrPath = "gnomeExtensions.${pname}";
};
};
meta = with lib; {
description = "A simple MPRIS indicator button for GNOME Shell";
license = licenses.gpl3;
maintainers = with maintainers; [ ];
platforms = gnome.gnome-shell.meta.platforms;
homepage = "https://github.com/JasonLG1979/gnome-shell-extension-mpris-indicator-button";
broken = versionOlder gnome.gnome-shell.version "3.34";
};
}

@ -14,12 +14,15 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ unzip ];
buildInputs = [ glib gnome.gnome-shell ];
uuid = "nightthemeswitcher@romainvigier.fr";
passthru = {
extensionUuid = "nightthemeswitcher@romainvigier.fr";
extensionPortalSlug = "night-theme-switcher";
};
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions/
unzip build/${uuid}.shell-extension.zip -d $out/share/gnome-shell/extensions/${uuid}
unzip "build/nightthemeswitcher@romainvigier.fr.shell-extension.zip" -d "$out/share/gnome-shell/extensions/nightthemeswitcher@romainvigier.fr"
runHook postInstall
'';

@ -23,7 +23,9 @@ stdenv.mkDerivation rec {
makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ];
uuid = "no-title-bar@jonaspoehler.de";
passthru = {
extensionUuid = "no-title-bar@jonaspoehler.de";
};
meta = with lib; {
description = "Integrates maximized windows with the top panel";

@ -1,31 +0,0 @@
{ stdenv
, lib
, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-noannoyance";
version = "unstable-2021-01-17";
src = fetchFromGitHub {
owner = "BjoernDaase";
repo = "noannoyance";
rev = "f6e76916336aee2f7c4141796f3c40c870d2b347";
sha256 = "1iy3nif8rjjcwf83fg9ds93fi7vmhliynmlwqnx036s3msmxvgs3";
};
uuid = "noannoyance@daase.net";
dontBuild = true;
installPhase = ''
mkdir -p $out/share/gnome-shell/extensions/${uuid}
cp metadata.json extension.js $out/share/gnome-shell/extensions/${uuid}
'';
meta = with lib; {
description = "Removes the 'Window is ready' notification and puts the window into focus";
homepage = "https://github.com/BjoernDaase/noannoyance";
license = licenses.gpl2Only;
maintainers = with maintainers; [ tu-maurice ];
};
}

@ -11,14 +11,14 @@ stdenv.mkDerivation rec {
sha256 = "1jq15qrq3khqpjsjbcc17amdr1k53jkvambdacdf56xbqkycvlgs";
};
uuid = "paperwm@hedning:matrix.org";
passthru.extensionUuid = "paperwm@hedning:matrix.org";
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions/${uuid}
cp -r . $out/share/gnome-shell/extensions/${uuid}
mkdir -p "$out/share/gnome-shell/extensions/paperwm@hedning:matrix.org"
cp -r . "$out/share/gnome-shell/extensions/paperwm@hedning:matrix.org"
runHook postInstall
'';

@ -23,7 +23,10 @@ stdenv.mkDerivation rec {
runHook postInstall
'';
uuid = "pidgin@muffinmad";
passthru = {
extensionUuid = "pidgin@muffinmad";
extensionPortalSlug = "pidgin-im-integration";
};
meta = with lib; {
homepage = "https://github.com/muffinmad/pidgin-im-gnome-shell-extension";

@ -1,34 +0,0 @@
{ lib, stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-remove-dropdown-arrows";
version = "13";
src = fetchFromGitHub {
owner = "mpdeimos";
repo = "gnome-shell-remove-dropdown-arrows";
rev = "version/${version}";
sha256 = "09b2hnfbqym20pb1sfc8xiz7gs2kbs6b1s7xl8swc8dydhsbambk";
};
# This package has a Makefile, but it's used for publishing and linting, not
# for building. Disable the build phase so installing doesn't attempt to
# publish the extension.
dontBuild = true;
uuid = "remove-dropdown-arrows@mpdeimos.com";
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions/${uuid}
cp extension.js $out/share/gnome-shell/extensions/${uuid}
cp metadata.json $out/share/gnome-shell/extensions/${uuid}
runHook postInstall
'';
meta = with lib; {
description = "Remove dropdown arrows from GNOME Shell Menus";
license = licenses.gpl3;
maintainers = with maintainers; [ jonafato ];
homepage = "https://github.com/mpdeimos/gnome-shell-remove-dropdown-arrows";
};
}

@ -27,7 +27,10 @@ stdenv.mkDerivation rec {
dontBuild = true;
uuid = "sound-output-device-chooser@kgshank.net";
passthru = {
extensionUuid = "sound-output-device-chooser@kgshank.net";
extensionPortalSlug = "sound-output-device-chooser";
};
makeFlags = [
"INSTALL_DIR=${placeholder "out"}/share/gnome-shell/extensions"

@ -28,18 +28,21 @@ stdenv.mkDerivation rec {
buildPhase = ''
runHook preBuild
glib-compile-schemas --targetdir=${uuid}/schemas ${uuid}/schemas
glib-compile-schemas --targetdir="system-monitor@paradoxxx.zero.gmail.com/schemas" "system-monitor@paradoxxx.zero.gmail.com/schemas"
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions
cp -r ${uuid} $out/share/gnome-shell/extensions
cp -r "system-monitor@paradoxxx.zero.gmail.com" $out/share/gnome-shell/extensions
runHook postInstall
'';
uuid = "system-monitor@paradoxxx.zero.gmail.com";
passthru = {
extensionUuid = "system-monitor@paradoxxx.zero.gmail.com";
extensionPortalSlug = "system-monitor";
};
meta = with lib; {
description = "Display system informations in gnome shell status bar";

@ -19,7 +19,10 @@ stdenv.mkDerivation rec {
taskwarrior
];
uuid = "taskwhisperer-extension@infinicode.de";
passthru = {
extensionUuid = "taskwhisperer-extension@infinicode.de";
extensionPortalSlug = "taskwhisperer";
};
makeFlags = [
"INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions"

@ -21,12 +21,15 @@ stdenv.mkDerivation rec {
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions/${uuid}
cp -r * $out/share/gnome-shell/extensions/${uuid}/
mkdir -p "$out/share/gnome-shell/extensions/tilingnome@rliang.github.com"
cp -r * "$out/share/gnome-shell/extensions/tilingnome@rliang.github.com/"
runHook postInstall
'';
uuid = "tilingnome@rliang.github.com";
passthru = {
extensionUuid = "tilingnome@rliang.github.com";
extensionPortalSlug = "tilingnome";
};
meta = with lib; {
description = "Tiling window management for GNOME Shell";

@ -1,28 +0,0 @@
{ lib, stdenv, fetchFromGitHub, gnome }:
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-timepp";
version = "unstable-2020-03-15";
src = fetchFromGitHub {
owner = "zagortenay333";
repo = "timepp__gnome";
rev = "34ae477a51267cc1e85992a80cf85a1a7b7005c1";
sha256 = "1v0xbrp0x5dwizscxh7h984pax4n92bj8iyw3qvjk27ynpxq8ag1";
};
uuid = "timepp@zagortenay333";
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions/${uuid}
cp -r . $out/share/gnome-shell/extensions/${uuid}
runHook postInstall
'';
meta = with lib; {
description = "A todo.txt manager, time tracker, timer, stopwatch, pomodoro, and alarms gnome-shell extension.";
homepage = "https://github.com/zagortenay333/timepp__gnome";
license = licenses.gpl3;
maintainers = with maintainers; [ svsdep ];
};
}

@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
makeFlags = [ "INSTALL_PATH=$(out)/share/gnome-shell/extensions" ];
uuid = "TopIcons@phocean.net";
passthru.extensionUuid = "TopIcons@phocean.net";
meta = with lib; {
description = "Brings all icons back to the top panel, so that it's easier to keep track of apps running in the backround";

@ -11,7 +11,10 @@ stdenv.mkDerivation rec {
sha256 = "sha256-Ys2kWPj/FugW/LkvLAZdbj7Ufg/KShC+EX6QrjKNVH8=";
};
uuid = "unite@hardpixel.eu";
passthru = {
extensionUuid = "unite@hardpixel.eu";
extensionPortalSlug = "unite";
};
nativeBuildInputs = [ glib ];
@ -19,14 +22,14 @@ stdenv.mkDerivation rec {
buildPhase = ''
runHook preBuild
glib-compile-schemas --strict --targetdir=${uuid}/schemas/ ${uuid}/schemas
glib-compile-schemas --strict --targetdir="unite@hardpixel.eu/schemas/" "unite@hardpixel.eu/schemas"
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions
cp -r ${uuid} $out/share/gnome-shell/extensions
cp -r "unite@hardpixel.eu" $out/share/gnome-shell/extensions
runHook postInstall
'';

@ -13,11 +13,15 @@ stdenv.mkDerivation rec {
dontBuild = true;
uuid = "window-corner-preview@fabiomereu.it";
passthru = {
extensionUuid = "window-corner-preview@fabiomereu.it";
extensionPortalSlug = "window-corner-preview";
};
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions
cp -r ${uuid} $out/share/gnome-shell/extensions
cp -r "window-corner-preview@fabiomereu.it" $out/share/gnome-shell/extensions
runHook postInstall
'';

@ -1,28 +0,0 @@
{ lib, stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-window-is-ready-remover";
version = "1.02";
src = fetchFromGitHub {
owner = "nunofarruca";
repo = "WindowIsReady_Remover";
rev = "v${version}";
sha256 = "1xaf95gn0if44avvkjxyf8fl29y28idn9shnrks0m9k67jcwv8ns";
};
uuid = "windowIsReady_Remover@nunofarruca@gmail.com";
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions/
cp -r ${uuid} $out/share/gnome-shell/extensions/${uuid}
runHook postInstall
'';
meta = with lib; {
description = "GNOME Shell extension removing window is ready notification";
homepage = "https://github.com/nunofarruca/WindowIsReady_Remover";
license = licenses.asl20;
};
}

@ -1,36 +0,0 @@
{ lib, stdenv, fetchFromGitHub, findutils, glib }:
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-workspace-matrix";
version = "4.0.2";
src = fetchFromGitHub {
owner = "mzur";
repo = "gnome-shell-wsmatrix";
rev = "v${version}";
sha256 = "0dbn6b3fdd7yblk0mhsmaiqs3mwgcf3khkx1dsnlqn5hcs0a3myd";
};
uuid = "wsmatrix@martin.zurowietz.de";
nativeBuildInputs = [
findutils
glib
];
buildFlags = "schemas";
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions
cp -r ${uuid} $out/share/gnome-shell/extensions
runHook postInstall
'';
meta = with lib; {
description = "Arrange workspaces in a two dimensional grid with workspace thumbnails";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ chkno ];
homepage = "https://github.com/mzur/gnome-shell-wsmatrix";
};
}