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.

piegames bffbf461 6aae2894

+142 -58
+4 -1
pkgs/desktops/gnome/extensions/arcmenu/default.nix
··· 24 24 25 25 makeFlags = [ "INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions" ]; 26 26 27 - passthru.extensionUuid = "arcmenu@arcmenu.com"; 27 + passthru = { 28 + extensionUuid = "arcmenu@arcmenu.com"; 29 + extensionPortalSlug = "arcmenu"; 30 + }; 28 31 29 32 meta = with lib; { 30 33 description = "Application menu for GNOME Shell, designed to provide a more traditional user experience and workflow";
+4 -1
pkgs/desktops/gnome/extensions/caffeine/default.nix
··· 11 11 sha256 = "0dyagnjmk91h96xr98mc177c473bqpxcv86qf6g3kyh3arwa9shs"; 12 12 }; 13 13 14 - passthru.extensionUuid = "caffeine@patapon.info"; 14 + passthru = { 15 + extensionPortalSlug = "caffeine"; 16 + extensionUuid = "caffeine@patapon.info"; 17 + }; 15 18 16 19 nativeBuildInputs = [ 17 20 glib gettext
+4 -1
pkgs/desktops/gnome/extensions/clock-override/default.nix
··· 10 10 stripRoot = false; 11 11 }; 12 12 13 - passthru.extensionUuid = "clock-override@gnomeshell.kryogenix.org"; 13 + passthru = { 14 + extensionUuid = "clock-override@gnomeshell.kryogenix.org"; 15 + extensionPortalSlug = "clock-override"; 16 + }; 14 17 15 18 nativeBuildInputs = [ gettext glib ]; 16 19
+4 -1
pkgs/desktops/gnome/extensions/dash-to-dock/default.nix
··· 24 24 "INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions" 25 25 ]; 26 26 27 - passthru.extensionUuid = "dash-to-dock@micxgx.gmail.com"; 27 + passthru = { 28 + extensionUuid = "dash-to-dock@micxgx.gmail.com"; 29 + extensionPortalSlug = "dash-to-dock"; 30 + }; 28 31 29 32 meta = with lib; { 30 33 description = "A dock for the Gnome Shell";
+4 -1
pkgs/desktops/gnome/extensions/dash-to-panel/default.nix
··· 17 17 18 18 makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ]; 19 19 20 - passthru.extensionUuid = "dash-to-panel@jderose9.github.com"; 20 + passthru = { 21 + extensionUuid = "dash-to-panel@jderose9.github.com"; 22 + extensionPortalSlug = "dash-to-panel"; 23 + }; 21 24 22 25 meta = with lib; { 23 26 description = "An icon taskbar for Gnome Shell";
+4 -2
pkgs/desktops/gnome/extensions/default.nix
··· 1 1 { lib 2 2 , callPackage 3 + , callPackages 3 4 , config 4 5 }: 5 6 let ··· 60 61 gnome40Extensions = mapUuidNames (produceExtensionsList "40"); 61 62 62 63 gnomeExtensions = lib.recurseIntoAttrs ( 63 - (mapReadableNames (produceExtensionsList "40")) 64 - // (callPackage ./manuallyPackaged.nix {}) 64 + (mapReadableNames 65 + (lib.attrValues (gnome40Extensions // (callPackages ./manuallyPackaged.nix {}))) 66 + ) 65 67 // lib.optionalAttrs (config.allowAliases or true) { 66 68 unite-shell = gnomeExtensions.unite; # added 2021-01-19 67 69 arc-menu = gnomeExtensions.arcmenu; # added 2021-02-14
+4 -1
pkgs/desktops/gnome/extensions/drop-down-terminal/default.nix
··· 11 11 sha256 = "0igfxgrjdqq6z6xg4rsawxn261pk25g5dw2pm3bhwz5sqsy4bq3i"; 12 12 }; 13 13 14 - passthru.extensionUuid = "drop-down-terminal@gs-extensions.zzrough.org"; 14 + passthru = { 15 + extensionUuid = "drop-down-terminal@gs-extensions.zzrough.org"; 16 + extensionPortalSlug = "drop-down-terminal"; 17 + }; 15 18 16 19 patches = [ 17 20 (substituteAll {
+4 -1
pkgs/desktops/gnome/extensions/emoji-selector/default.nix
··· 11 11 sha256 = "0x60pg5nl5d73av494dg29hyfml7fbf2d03wm053vx1q8a3pxbyb"; 12 12 }; 13 13 14 - passthru.extensionUuid = "emoji-selector@maestroschan.fr"; 14 + passthru = { 15 + extensionUuid = "emoji-selector@maestroschan.fr"; 16 + extensionPortalSlug = "emoji-selector"; 17 + }; 15 18 16 19 nativeBuildInputs = [ glib ]; 17 20
+22
pkgs/desktops/gnome/extensions/extensionRenames.nix
··· 14 14 "lockkeys@fawtytoo" = "lock-keys-2"; 15 15 16 16 17 + 18 + # ############################################################################ 17 19 # These are conflicts for 3.38 extensions. They will very probably come back 18 20 # once more of them support 40. 19 21 ··· 26 28 27 29 # That extension is broken because of https://github.com/NixOS/nixpkgs/issues/118612 28 30 #"flypie@schneegans.github.com" = null; 31 + 32 + 33 + 34 + # ############################################################################ 35 + # Overrides for extensions that were manually packaged in the past but are gradually 36 + # being replaced by automatic packaging where possible. 37 + # 38 + # The manually packaged ones: 39 + "EasyScreenCast@iacopodeenosee.gmail.com" = "easyScreenCast"; # extensionPortalSlug is "easyscreencast" 40 + "gnome-fuzzy-app-search@gnome-shell-extensions.Czarlie.gitlab.com" = "fuzzy-app-search"; # extensionPortalSlug is "gnome-fuzzy-app-search" 41 + "TopIcons@phocean.net" = "topicons-plus"; # extensionPortalSlug is "topicons" 42 + "paperwm@hedning:matrix.org" = "paperwm"; # is not on extensions.gnome.org 43 + "no-title-bar@jonaspoehler.de" = "no-title-bar"; # extensionPortalSlug is "no-title-bar-forked" 44 + # These extensions are automatically packaged at the moment. We preserve the old attribute name 45 + # for backwards compatibility. 46 + "appindicatorsupport@rgcjonas.gmail.com" = "appindicator"; # extensionPortalSlug is "appindicator-support" 47 + "unredirect@vaina.lt" = "disable-unredirect"; # extensionPortalSlug is "disable-unredirect-fullscreen-windows" 48 + "drawOnYourScreen@abakkk.framagit.org" = "draw-on-your-screen"; # extensionPortalSlug is "draw-on-you-screen" 49 + "timepp@zagortenay333" = "timepp"; # extensionPortalSlug is "time" 50 + "windowIsReady_Remover@nunofarruca@gmail.com" = "window-is-ready-remover"; # extensionPortalSlug is "window-is-ready-notification-remover" 29 51 }
+4 -1
pkgs/desktops/gnome/extensions/freon/default.nix
··· 4 4 pname = "gnome-shell-extension-freon"; 5 5 version = "44"; 6 6 7 - passthru.extensionUuid = "freon@UshakovVasilii_Github.yahoo.com"; 7 + passthru = { 8 + extensionUuid = "freon@UshakovVasilii_Github.yahoo.com"; 9 + extensionPortalSlug = "freon"; 10 + }; 8 11 9 12 src = fetchFromGitHub { 10 13 owner = "UshakovVasilii";
+4 -1
pkgs/desktops/gnome/extensions/gsconnect/default.nix
··· 98 98 done 99 99 ''; 100 100 101 - passthru.extensionUuid = "gsconnect@andyholmes.github.io"; 101 + passthru = { 102 + extensionUuid = "gsconnect@andyholmes.github.io"; 103 + extensionPortalSlug = "gsconnect"; 104 + }; 102 105 103 106 passthru = { 104 107 tests = {
+4 -1
pkgs/desktops/gnome/extensions/icon-hider/default.nix
··· 11 11 sha256 = "18c8zkdrmdbghqqz7b450vhgpykgz25mgigwn2nggcb2lxmvm9ks"; 12 12 }; 13 13 14 - passthru.extensionUuid = "icon-hider@kalnitsky.org"; 14 + passthru = { 15 + extensionUuid = "icon-hider@kalnitsky.org"; 16 + extensionPortalSlug = "icon-hider"; 17 + }; 15 18 16 19 installPhase = '' 17 20 runHook preInstall
+4 -1
pkgs/desktops/gnome/extensions/impatience/default.nix
··· 28 28 runHook postInstall 29 29 ''; 30 30 31 - passthru.extensionUuid = "impatience@gfxmonk.net"; 31 + passthru = { 32 + extensionUuid = "impatience@gfxmonk.net"; 33 + extensionPortalSlug = "impatience"; 34 + }; 32 35 33 36 meta = with lib; { 34 37 description = "Speed up builtin gnome-shell animations";
+36 -36
pkgs/desktops/gnome/extensions/manuallyPackaged.nix
··· 1 1 { callPackage }: 2 2 { 3 - appindicator = callPackage ./appindicator { }; 4 - arcmenu = callPackage ./arcmenu { }; 5 - caffeine = callPackage ./caffeine { }; 6 - clipboard-indicator = callPackage ./clipboard-indicator { }; 7 - clock-override = callPackage ./clock-override { }; 8 - dash-to-dock = callPackage ./dash-to-dock { }; 9 - dash-to-panel = callPackage ./dash-to-panel { }; 10 - disable-unredirect = callPackage ./disable-unredirect { }; 11 - draw-on-your-screen = callPackage ./draw-on-your-screen { }; 12 - drop-down-terminal = callPackage ./drop-down-terminal { }; 13 - dynamic-panel-transparency = callPackage ./dynamic-panel-transparency { }; 14 - easyScreenCast = callPackage ./EasyScreenCast { }; 15 - emoji-selector = callPackage ./emoji-selector { }; 16 - freon = callPackage ./freon { }; 17 - fuzzy-app-search = callPackage ./fuzzy-app-search { }; 18 - gsconnect = callPackage ./gsconnect { }; 19 - hot-edge = callPackage ./hot-edge { }; 20 - icon-hider = callPackage ./icon-hider { }; 21 - impatience = callPackage ./impatience { }; 22 - material-shell = callPackage ./material-shell { }; 23 - mpris-indicator-button = callPackage ./mpris-indicator-button { }; 24 - night-theme-switcher = callPackage ./night-theme-switcher { }; 25 - no-title-bar = callPackage ./no-title-bar { }; 26 - noannoyance = callPackage ./noannoyance { }; 27 - paperwm = callPackage ./paperwm { }; 28 - pidgin-im-integration = callPackage ./pidgin-im-integration { }; 29 - sound-output-device-chooser = callPackage ./sound-output-device-chooser { }; 30 - system-monitor = callPackage ./system-monitor { }; 31 - taskwhisperer = callPackage ./taskwhisperer { }; 32 - tilingnome = callPackage ./tilingnome { }; 33 - timepp = callPackage ./timepp { }; 34 - topicons-plus = callPackage ./topicons-plus { }; 35 - unite = callPackage ./unite { }; 36 - window-corner-preview = callPackage ./window-corner-preview { }; 37 - window-is-ready-remover = callPackage ./window-is-ready-remover { }; 38 - workspace-matrix = callPackage ./workspace-matrix { }; 3 + "appindicatorsupport@rgcjonas.gmail.com" = callPackage ./appindicator { }; 4 + "arcmenu@arcmenu.com" = callPackage ./arcmenu { }; 5 + "caffeine@patapon.info" = callPackage ./caffeine { }; 6 + "clipboard-indicator@tudmotu.com" = callPackage ./clipboard-indicator { }; 7 + "clock-override@gnomeshell.kryogenix.org" = callPackage ./clock-override { }; 8 + "dash-to-dock@micxgx.gmail.com" = callPackage ./dash-to-dock { }; 9 + "dash-to-panel@jderose9.github.com" = callPackage ./dash-to-panel { }; 10 + "unredirect@vaina.lt" = callPackage ./disable-unredirect { }; 11 + "drawOnYourScreen@abakkk.framagit.org" = callPackage ./draw-on-your-screen { }; 12 + "drop-down-terminal@gs-extensions.zzrough.org" = callPackage ./drop-down-terminal { }; 13 + "dynamic-panel-transparency@rockon999.github.io" = callPackage ./dynamic-panel-transparency { }; 14 + "EasyScreenCast@iacopodeenosee.gmail.com" = callPackage ./EasyScreenCast { }; 15 + "emoji-selector@maestroschan.fr" = callPackage ./emoji-selector { }; 16 + "freon@UshakovVasilii_Github.yahoo.com" = callPackage ./freon { }; 17 + "gnome-fuzzy-app-search@gnome-shell-extensions.Czarlie.gitlab.com" = callPackage ./fuzzy-app-search { }; 18 + "gsconnect@andyholmes.github.io" = callPackage ./gsconnect { }; 19 + "hotedge@jonathan.jdoda.ca" = callPackage ./hot-edge { }; 20 + "icon-hider@kalnitsky.org" = callPackage ./icon-hider { }; 21 + "impatience@gfxmonk.net" = callPackage ./impatience { }; 22 + "material-shell@papyelgringo" = callPackage ./material-shell { }; 23 + "mprisindicatorbutton@JasonLG1979.github.io" = callPackage ./mpris-indicator-button { }; 24 + "nightthemeswitcher@romainvigier.fr" = callPackage ./night-theme-switcher { }; 25 + "noannoyance@daase.net" = callPackage ./noannoyance { }; 26 + "no-title-bar@jonaspoehler.de" = callPackage ./no-title-bar { }; 27 + "paperwm@hedning:matrix.org" = callPackage ./paperwm { }; 28 + "pidgin@muffinmad" = callPackage ./pidgin-im-integration { }; 29 + "sound-output-device-chooser@kgshank.net" = callPackage ./sound-output-device-chooser { }; 30 + "system-monitor@paradoxxx.zero.gmail.com" = callPackage ./system-monitor { }; 31 + "taskwhisperer-extension@infinicode.de" = callPackage ./taskwhisperer { }; 32 + "tilingnome@rliang.github.com" = callPackage ./tilingnome { }; 33 + "timepp@zagortenay333" = callPackage ./timepp { }; 34 + "TopIcons@phocean.net" = callPackage ./topicons-plus { }; 35 + "unite@hardpixel.eu" = callPackage ./unite { }; 36 + "window-corner-preview@fabiomereu.it" = callPackage ./window-corner-preview { }; 37 + "windowIsReady_Remover@nunofarruca@gmail.com" = callPackage ./window-is-ready-remover { }; 38 + "wsmatrix@martin.zurowietz.de" = callPackage ./workspace-matrix { }; 39 39 }
+4 -1
pkgs/desktops/gnome/extensions/night-theme-switcher/default.nix
··· 14 14 nativeBuildInputs = [ unzip ]; 15 15 buildInputs = [ glib gnome.gnome-shell ]; 16 16 17 - passthru.extensionUuid = "nightthemeswitcher@romainvigier.fr"; 17 + passthru = { 18 + extensionUuid = "nightthemeswitcher@romainvigier.fr"; 19 + extensionPortalSlug = "night-theme-switcher"; 20 + }; 18 21 19 22 installPhase = '' 20 23 runHook preInstall
+3 -1
pkgs/desktops/gnome/extensions/no-title-bar/default.nix
··· 23 23 24 24 makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ]; 25 25 26 - passthru.extensionUuid = "no-title-bar@jonaspoehler.de"; 26 + passthru = { 27 + extensionUuid = "no-title-bar@jonaspoehler.de"; 28 + }; 27 29 28 30 meta = with lib; { 29 31 description = "Integrates maximized windows with the top panel";
+4 -1
pkgs/desktops/gnome/extensions/pidgin-im-integration/default.nix
··· 23 23 runHook postInstall 24 24 ''; 25 25 26 - passthru.extensionUuid = "pidgin@muffinmad"; 26 + passthru = { 27 + extensionUuid = "pidgin@muffinmad"; 28 + extensionPortalSlug = "pidgin-im-integration"; 29 + }; 27 30 28 31 meta = with lib; { 29 32 homepage = "https://github.com/muffinmad/pidgin-im-gnome-shell-extension";
+4 -1
pkgs/desktops/gnome/extensions/sound-output-device-chooser/default.nix
··· 27 27 28 28 dontBuild = true; 29 29 30 - passthru.extensionUuid = "sound-output-device-chooser@kgshank.net"; 30 + passthru = { 31 + extensionUuid = "sound-output-device-chooser@kgshank.net"; 32 + extensionPortalSlug = "sound-output-device-chooser"; 33 + }; 31 34 32 35 makeFlags = [ 33 36 "INSTALL_DIR=${placeholder "out"}/share/gnome-shell/extensions"
+4 -1
pkgs/desktops/gnome/extensions/system-monitor/default.nix
··· 39 39 runHook postInstall 40 40 ''; 41 41 42 - passthru.extensionUuid = "system-monitor@paradoxxx.zero.gmail.com"; 42 + passthru = { 43 + extensionUuid = "system-monitor@paradoxxx.zero.gmail.com"; 44 + extensionPortalSlug = "system-monitor"; 45 + }; 43 46 44 47 meta = with lib; { 45 48 description = "Display system informations in gnome shell status bar";
+4 -1
pkgs/desktops/gnome/extensions/taskwhisperer/default.nix
··· 19 19 taskwarrior 20 20 ]; 21 21 22 - passthru.extensionUuid = "taskwhisperer-extension@infinicode.de"; 22 + passthru = { 23 + extensionUuid = "taskwhisperer-extension@infinicode.de"; 24 + extensionPortalSlug = "taskwhisperer"; 25 + }; 23 26 24 27 makeFlags = [ 25 28 "INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions"
+4 -1
pkgs/desktops/gnome/extensions/tilingnome/default.nix
··· 26 26 runHook postInstall 27 27 ''; 28 28 29 - passthru.extensionUuid = "tilingnome@rliang.github.com"; 29 + passthru = { 30 + extensionUuid = "tilingnome@rliang.github.com"; 31 + extensionPortalSlug = "tilingnome"; 32 + }; 30 33 31 34 meta = with lib; { 32 35 description = "Tiling window management for GNOME Shell";
+4 -1
pkgs/desktops/gnome/extensions/unite/default.nix
··· 11 11 sha256 = "sha256-Ys2kWPj/FugW/LkvLAZdbj7Ufg/KShC+EX6QrjKNVH8="; 12 12 }; 13 13 14 - passthru.extensionUuid = "unite@hardpixel.eu"; 14 + passthru = { 15 + extensionUuid = "unite@hardpixel.eu"; 16 + extensionPortalSlug = "unite"; 17 + }; 15 18 16 19 nativeBuildInputs = [ glib ]; 17 20
+5 -1
pkgs/desktops/gnome/extensions/window-corner-preview/default.nix
··· 13 13 14 14 dontBuild = true; 15 15 16 - passthru.extensionUuid = "window-corner-preview@fabiomereu.it"; 16 + passthru = { 17 + extensionUuid = "window-corner-preview@fabiomereu.it"; 18 + extensionPortalSlug = "window-corner-preview"; 19 + }; 20 + 17 21 installPhase = '' 18 22 runHook preInstall 19 23 mkdir -p $out/share/gnome-shell/extensions