{ stdenv, lib, fetchFromGitHub, glib, nodePackages, gjs }: stdenv.mkDerivation rec { pname = "gnome-shell-extension-pop-shell"; version = "unstable-2022-01-14"; src = fetchFromGitHub { owner = "pop-os"; repo = "shell"; rev = "21745c4a8076ad52c9ccc77ca5726f5c7b83de6c"; sha256 = "sha256-d6NRNbTimwtGVLhcpdFD1AuignVii/xi3YtMWzkS/v0="; }; nativeBuildInputs = [ glib nodePackages.typescript gjs ]; buildInputs = [ gjs ]; patches = [ ./fix-gjs.patch ]; makeFlags = [ "XDG_DATA_HOME=$(out)/share" ]; passthru = { extensionUuid = "pop-shell@system76.com"; extensionPortalSlug = "pop-shell"; }; postPatch = '' for file in */main.js; do substituteInPlace $file --replace "gjs" "${gjs}/bin/gjs" done ''; preFixup = '' chmod +x $out/share/gnome-shell/extensions/pop-shell@system76.com/*/main.js ''; meta = with lib; { description = "Keyboard-driven layer for GNOME Shell"; license = licenses.gpl3Only; platforms = platforms.linux; maintainers = [ maintainers.genofire ]; homepage = "https://github.com/pop-os/shell"; }; }