nixos-configs/home/firefox/addons/default.nix

59 lines
1.4 KiB
Nix

{
fetchurl,
lib,
stdenv,
} @ args: let
buildFirefoxXpiAddon = lib.makeOverridable ({
stdenv ? args.stdenv,
fetchurl ? args.fetchurl,
pname,
version,
addonId,
url,
sha256,
meta,
...
}:
stdenv.mkDerivation {
name = "${pname}-${version}";
inherit meta;
src = fetchurl {inherit url sha256;};
preferLocalBuild = true;
allowSubstitutes = true;
buildCommand = ''
dst="$out/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
mkdir -p "$dst"
install -v -m644 "$src" "$dst/${addonId}.xpi"
'';
});
packages = import ./generated-firefox-addons.nix {
inherit buildFirefoxXpiAddon fetchurl lib stdenv;
};
in
packages
// {
inherit buildFirefoxXpiAddon;
seventv = let
version = "v3.0.10.1000";
in
buildFirefoxXpiAddon {
pname = "seventv";
inherit version;
addonId = "moz-addon@7tv.app";
url = "https://extension.7tv.gg/${version}/ext.xpi";
sha256 = "sha256-dZyjFayvnLebSZHjMTTQFjcsxxpmc1aL5q17mLF3kG8=";
meta = with lib; {
homepage = "https://7tv.app/";
description = "The Web Extension for 7TV, bringing new features, emotes, vanity and performance to Twitch, Kick & YouTube";
license = licenses.asl20;
platforms = platforms.all;
};
};
}