mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-02-25 18:19:00 +00:00
gnome-search-provider-browser-tabs: init at 0.1.1
It is split into three sub-packages, though. The web extensions are yet to be properly packaged.
This commit is contained in:
parent
d12818070c
commit
e374d14b0d
@ -31,6 +31,7 @@ let
|
||||
};
|
||||
});
|
||||
doggo = callPackage ./doggo.nix { };
|
||||
gnome-search-provider-browser-tabs = callPackage ./gnome-search-provider-browser-tabs.nix { };
|
||||
gnome-shell-extension-burn-my-windows =
|
||||
callPackage ./gnome-shell-extension-burn-my-windows.nix { };
|
||||
gnome-shell-extension-desktop-cube =
|
||||
|
96
pkgs/gnome-search-provider-browser-tabs.nix
Normal file
96
pkgs/gnome-search-provider-browser-tabs.nix
Normal file
@ -0,0 +1,96 @@
|
||||
{ stdenv, lib, fetchFromGitHub, rustPlatform, mkYarnPackage
|
||||
, meson, ninja, yarn, zip }:
|
||||
|
||||
let
|
||||
version = "0.1.1";
|
||||
|
||||
repo = fetchFromGitHub {
|
||||
owner = "harshadgavali";
|
||||
repo = "searchprovider-for-browser-tabs";
|
||||
rev = "connector-v${version}";
|
||||
sha256 = "sha256-5b48BZOQOSxNuFe7ehtLM5K1Qx/EUXzGeogj2vhT3bs=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage =
|
||||
"https://github.com/harshadgavali/searchprovider-for-browser-tabs";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
in {
|
||||
# This is used for flattenTree from the flake definition.
|
||||
recurseForDerivations = true;
|
||||
|
||||
gnome-shell-extension = mkYarnPackage rec {
|
||||
inherit meta;
|
||||
pname = "gnome-search-provider-browser-tabs";
|
||||
|
||||
# This is more inline with the metadata from the shell extension itself.
|
||||
version = "4";
|
||||
|
||||
src = "${repo}/shellextension";
|
||||
|
||||
buildPhase = ''
|
||||
yarn --offline run build
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
install -Dm644 deps/shellextension/dist/extension.js -t "$out/share/gnome-shell/extensions/${passthru.extensionUuid}"
|
||||
install -Dm644 deps/shellextension/dist/metadata.json -t "$out/share/gnome-shell/extensions/${passthru.extensionUuid}"
|
||||
'';
|
||||
|
||||
# We're overriding the 'distPhase' from mkYarnPackage.
|
||||
distPhase = "true";
|
||||
|
||||
passthru.extensionUuid = "browser-tabs@com.github.harshadgavali";
|
||||
};
|
||||
|
||||
web-extension = let
|
||||
folder = "webextension";
|
||||
chromiumAddonId = "pjidkdbbdemngigldodbdpkpggmgilnl";
|
||||
in mkYarnPackage rec {
|
||||
inherit version meta;
|
||||
pname = "firefox-extension-tab-search-provider-for-gnome";
|
||||
|
||||
src = "${repo}/${folder}";
|
||||
|
||||
buildPhase = ''
|
||||
yarn --offline run build
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
# Packaging Chromium addon.
|
||||
install -Dm644 deps/${folder}/dist/chromium/* -t "$out/share/chromium/extensions/${chromiumAddonId}/${version}_0"
|
||||
|
||||
# Package Mozilla Firefox extension.
|
||||
${zip}/bin/zip --recurse-paths --junk-paths nixos@${pname}.xpi deps/${folder}/dist/firefox/
|
||||
install -Dm644 nixos@${pname}.xpi -t $out/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
|
||||
'';
|
||||
|
||||
# Overriding the distPhase from mkYarnPackage.
|
||||
distPhase = "true";
|
||||
};
|
||||
|
||||
connector = stdenv.mkDerivation rec {
|
||||
inherit version meta;
|
||||
pname = "tab-search-connector-provider";
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
rustPlatform.cargoSetupHook
|
||||
rustPlatform.rust.rustc
|
||||
rustPlatform.rust.cargo
|
||||
];
|
||||
|
||||
src = "${repo}/connector";
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "${pname}-${version}";
|
||||
sha256 = "sha256-SULUONFmsnEiWoAWpGOLynSXF032qW+QcYfzxQrAFLQ=";
|
||||
};
|
||||
|
||||
mesonFlags = [
|
||||
"-Drelease-bindir=${placeholder "out"}/bin"
|
||||
];
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue
Block a user