gnomeExtensions: integrate manually packaged extensions better with the others

Their keys are now not used directly. Instead, we go the standard route of mapping to the
UUID in order to apply the rename procedure. This makes sure the manual override always does
the correct thing, and also gives us more consistency overall.
This commit is contained in:
piegames 2021-05-29 17:34:26 +02:00
parent 6aae2894ef
commit bffbf4617a
23 changed files with 142 additions and 58 deletions

View file

@ -24,7 +24,10 @@ stdenv.mkDerivation rec {
makeFlags = [ "INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions" ];
passthru.extensionUuid = "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";

View file

@ -11,7 +11,10 @@ stdenv.mkDerivation rec {
sha256 = "0dyagnjmk91h96xr98mc177c473bqpxcv86qf6g3kyh3arwa9shs";
};
passthru.extensionUuid = "caffeine@patapon.info";
passthru = {
extensionPortalSlug = "caffeine";
extensionUuid = "caffeine@patapon.info";
};
nativeBuildInputs = [
glib gettext

View file

@ -10,7 +10,10 @@ stdenv.mkDerivation rec {
stripRoot = false;
};
passthru.extensionUuid = "clock-override@gnomeshell.kryogenix.org";
passthru = {
extensionUuid = "clock-override@gnomeshell.kryogenix.org";
extensionPortalSlug = "clock-override";
};
nativeBuildInputs = [ gettext glib ];

View file

@ -24,7 +24,10 @@ stdenv.mkDerivation rec {
"INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions"
];
passthru.extensionUuid = "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";

View file

@ -17,7 +17,10 @@ stdenv.mkDerivation rec {
makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ];
passthru.extensionUuid = "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";

View file

@ -1,5 +1,6 @@
{ lib
, callPackage
, callPackages
, config
}:
let
@ -60,8 +61,9 @@ 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

View file

@ -11,7 +11,10 @@ stdenv.mkDerivation rec {
sha256 = "0igfxgrjdqq6z6xg4rsawxn261pk25g5dw2pm3bhwz5sqsy4bq3i";
};
passthru.extensionUuid = "drop-down-terminal@gs-extensions.zzrough.org";
passthru = {
extensionUuid = "drop-down-terminal@gs-extensions.zzrough.org";
extensionPortalSlug = "drop-down-terminal";
};
patches = [
(substituteAll {

View file

@ -11,7 +11,10 @@ stdenv.mkDerivation rec {
sha256 = "0x60pg5nl5d73av494dg29hyfml7fbf2d03wm053vx1q8a3pxbyb";
};
passthru.extensionUuid = "emoji-selector@maestroschan.fr";
passthru = {
extensionUuid = "emoji-selector@maestroschan.fr";
extensionPortalSlug = "emoji-selector";
};
nativeBuildInputs = [ glib ];

View file

@ -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"
}

View file

@ -4,7 +4,10 @@ stdenv.mkDerivation rec {
pname = "gnome-shell-extension-freon";
version = "44";
passthru.extensionUuid = "freon@UshakovVasilii_Github.yahoo.com";
passthru = {
extensionUuid = "freon@UshakovVasilii_Github.yahoo.com";
extensionPortalSlug = "freon";
};
src = fetchFromGitHub {
owner = "UshakovVasilii";

View file

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

View file

@ -11,7 +11,10 @@ stdenv.mkDerivation rec {
sha256 = "18c8zkdrmdbghqqz7b450vhgpykgz25mgigwn2nggcb2lxmvm9ks";
};
passthru.extensionUuid = "icon-hider@kalnitsky.org";
passthru = {
extensionUuid = "icon-hider@kalnitsky.org";
extensionPortalSlug = "icon-hider";
};
installPhase = ''
runHook preInstall

View file

@ -28,7 +28,10 @@ stdenv.mkDerivation rec {
runHook postInstall
'';
passthru.extensionUuid = "impatience@gfxmonk.net";
passthru = {
extensionUuid = "impatience@gfxmonk.net";
extensionPortalSlug = "impatience";
};
meta = with lib; {
description = "Speed up builtin gnome-shell animations";

View file

@ -1,39 +1,39 @@
{ 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 { };
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 { };
"appindicatorsupport@rgcjonas.gmail.com" = callPackage ./appindicator { };
"arcmenu@arcmenu.com" = callPackage ./arcmenu { };
"caffeine@patapon.info" = callPackage ./caffeine { };
"clipboard-indicator@tudmotu.com" = callPackage ./clipboard-indicator { };
"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 { };
"unredirect@vaina.lt" = callPackage ./disable-unredirect { };
"drawOnYourScreen@abakkk.framagit.org" = callPackage ./draw-on-your-screen { };
"drop-down-terminal@gs-extensions.zzrough.org" = callPackage ./drop-down-terminal { };
"dynamic-panel-transparency@rockon999.github.io" = callPackage ./dynamic-panel-transparency { };
"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 { };
"hotedge@jonathan.jdoda.ca" = callPackage ./hot-edge { };
"icon-hider@kalnitsky.org" = callPackage ./icon-hider { };
"impatience@gfxmonk.net" = callPackage ./impatience { };
"material-shell@papyelgringo" = callPackage ./material-shell { };
"mprisindicatorbutton@JasonLG1979.github.io" = callPackage ./mpris-indicator-button { };
"nightthemeswitcher@romainvigier.fr" = callPackage ./night-theme-switcher { };
"noannoyance@daase.net" = callPackage ./noannoyance { };
"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 { };
"timepp@zagortenay333" = callPackage ./timepp { };
"TopIcons@phocean.net" = callPackage ./topicons-plus { };
"unite@hardpixel.eu" = callPackage ./unite { };
"window-corner-preview@fabiomereu.it" = callPackage ./window-corner-preview { };
"windowIsReady_Remover@nunofarruca@gmail.com" = callPackage ./window-is-ready-remover { };
"wsmatrix@martin.zurowietz.de" = callPackage ./workspace-matrix { };
}

View file

@ -14,7 +14,10 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ unzip ];
buildInputs = [ glib gnome.gnome-shell ];
passthru.extensionUuid = "nightthemeswitcher@romainvigier.fr";
passthru = {
extensionUuid = "nightthemeswitcher@romainvigier.fr";
extensionPortalSlug = "night-theme-switcher";
};
installPhase = ''
runHook preInstall

View file

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

View file

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

View file

@ -27,7 +27,10 @@ stdenv.mkDerivation rec {
dontBuild = true;
passthru.extensionUuid = "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"

View file

@ -39,7 +39,10 @@ stdenv.mkDerivation rec {
runHook postInstall
'';
passthru.extensionUuid = "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";

View file

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

View file

@ -26,7 +26,10 @@ stdenv.mkDerivation rec {
runHook postInstall
'';
passthru.extensionUuid = "tilingnome@rliang.github.com";
passthru = {
extensionUuid = "tilingnome@rliang.github.com";
extensionPortalSlug = "tilingnome";
};
meta = with lib; {
description = "Tiling window management for GNOME Shell";

View file

@ -11,7 +11,10 @@ stdenv.mkDerivation rec {
sha256 = "sha256-Ys2kWPj/FugW/LkvLAZdbj7Ufg/KShC+EX6QrjKNVH8=";
};
passthru.extensionUuid = "unite@hardpixel.eu";
passthru = {
extensionUuid = "unite@hardpixel.eu";
extensionPortalSlug = "unite";
};
nativeBuildInputs = [ glib ];

View file

@ -13,7 +13,11 @@ stdenv.mkDerivation rec {
dontBuild = true;
passthru.extensionUuid = "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