add volpeon emoji

This commit is contained in:
Charlotte 🦝 Delenk 2022-09-25 14:54:42 +01:00
parent 2a738404e2
commit 1207f0c1c0
Signed by: darkkirb
GPG key ID: AB2BD8DAF2E37122
18 changed files with 188 additions and 1 deletions

View file

@ -0,0 +1,18 @@
{
"blobfox": {
"description": "Like Blobcat, but with foxes",
"files": "blobfox.json",
"homepage": "https://volpeon.ink/art/emojis/blobfox/",
"src": "https://volpeon.ink/art/emojis/blobfox/blobfox.zip",
"src_sha256": "728f95c37921616d86a925a2cc07017467d09e1de988b5b32f9dec3fe244d7d9",
"license": "Apache 2.0"
},
"blobfox_flip": {
"description": "Like Blobcat, but with foxes (flipped version)",
"files": "blobfox_flip.json",
"homepage": "https://volpeon.ink/art/emojis/blobfox/",
"src": "https://volpeon.ink/art/emojis/blobfox/blobfox_flip.zip",
"src_sha256": "09a216cfb073e5589deca1dd0fa6d61e5c4363c487c0992d35524ac648d9fb78",
"license": "Apache 2.0"
}
}

View file

@ -0,0 +1,9 @@
{ callPackage }: callPackage ../../../lib/mkPleromaEmoji.nix {} rec {
name = "blobfox";
manifest = ./${name}.json;
passthru.updateScript = [
../../../scripts/update-json.sh
"https://volpeon.ink/art/emojis/${name}/manifest.json"
"art/emoji/volpeon/${name}.json"
];
}

View file

@ -0,0 +1,4 @@
{ callPackage }: callPackage ../../../lib/mkPleromaEmoji.nix {} rec {
name = "blobfox_flip";
manifest = ./blobfox.json;
}

View file

@ -0,0 +1,18 @@
{
"bunhd": {
"description": "High-res version of the bun emojis",
"files": "bunhd.json",
"homepage": "https://volpeon.ink/art/emojis/bunhd/",
"src": "https://volpeon.ink/art/emojis/bunhd/bunhd.zip",
"src_sha256": "52c4493731bf7f9bf3526ed35a57ac684c9af8808cbb79d42060cc65e2b70dd6",
"license": "Apache 2.0"
},
"bunhd_flip": {
"description": "High-res version of the bun emojis (flipped version)",
"files": "bunhd_flip.json",
"homepage": "https://volpeon.ink/art/emojis/bunhd/",
"src": "https://volpeon.ink/art/emojis/bunhd/bunhd_flip.zip",
"src_sha256": "5007099c627760a2f2391d20facb94973c5ff2467cb5692e8829a15fad4abc31",
"license": "Apache 2.0"
}
}

View file

@ -0,0 +1,9 @@
{ callPackage }: callPackage ../../../lib/mkPleromaEmoji.nix {} rec {
name = "bunhd";
manifest = ./${name}.json;
passthru.updateScript = [
../../../scripts/update-json.sh
"https://volpeon.ink/art/emojis/${name}/manifest.json"
"art/emoji/volpeon/${name}.json"
];
}

View file

@ -0,0 +1,4 @@
{ callPackage }: callPackage ../../../lib/mkPleromaEmoji.nix {} rec {
name = "bunhd_flip";
manifest = ./bunhd.json;
}

View file

@ -0,0 +1,10 @@
{
"drgn": {
"description": "Character by @volpeon@mk.vulpes.one",
"files": "drgn.json",
"homepage": "https://volpeon.ink/art/emojis/drgn/",
"src": "https://volpeon.ink/art/emojis/drgn/drgn.zip",
"src_sha256": "b55381001db827ac05886f856872bbfe13dc7672d4ac94ece05f818d70035704",
"license": "CC BY-NC-SA 4.0"
}
}

View file

@ -0,0 +1,9 @@
{ callPackage }: callPackage ../../../lib/mkPleromaEmoji.nix {} rec {
name = "drgn";
manifest = ./${name}.json;
passthru.updateScript = [
../../../scripts/update-json.sh
"https://volpeon.ink/art/emojis/${name}/manifest.json"
"art/emoji/volpeon/${name}.json"
];
}

View file

@ -0,0 +1,10 @@
{
"fox": {
"description": "Fox emojis inspired by the Windows 11 fox emoji",
"files": "fox.json",
"homepage": "https://volpeon.ink/art/emojis/fox/",
"src": "https://volpeon.ink/art/emojis/fox/fox.zip",
"src_sha256": "2f3e4b5ba1e74c81e7c6095c8d6054e2ed8ff99e502bce363b8ffc448e0682b6",
"license": "CC BY-NC-SA 4.0"
}
}

View file

@ -0,0 +1,9 @@
{ callPackage }: callPackage ../../../lib/mkPleromaEmoji.nix {} rec {
name = "fox";
manifest = ./${name}.json;
passthru.updateScript = [
../../../scripts/update-json.sh
"https://volpeon.ink/art/emojis/${name}/manifest.json"
"art/emoji/volpeon/${name}.json"
];
}

View file

@ -0,0 +1,10 @@
{
"raccoon": {
"description": "Raccoon emojis adapted from my fox emojis",
"files": "raccoon.json",
"homepage": "https://volpeon.ink/art/emojis/raccoon/",
"src": "https://volpeon.ink/art/emojis/raccoon/raccoon.zip",
"src_sha256": "b1986c87e44efcf08abaf2bb818f319e8d3dceb9f2f1a49d50e1c5bfc4434e64",
"license": "CC BY-NC-SA 4.0"
}
}

View file

@ -0,0 +1,9 @@
{ callPackage }: callPackage ../../../lib/mkPleromaEmoji.nix {} rec {
name = "raccoon";
manifest = ./${name}.json;
passthru.updateScript = [
../../../scripts/update-json.sh
"https://volpeon.ink/art/emojis/${name}/manifest.json"
"art/emoji/volpeon/${name}.json"
];
}

View file

@ -0,0 +1,10 @@
{
"vlpn": {
"description": "More realistic fox emojis",
"files": "vlpn.json",
"homepage": "https://volpeon.ink/art/emojis/vlpn/",
"src": "https://volpeon.ink/art/emojis/vlpn/vlpn.zip",
"src_sha256": "4b3764559782dff24aef19b7cef5f40cdd6da73b0985cde416cd11d3fc4be24a",
"license": "Apache 2.0"
}
}

View file

@ -0,0 +1,9 @@
{ callPackage }: callPackage ../../../lib/mkPleromaEmoji.nix {} rec {
name = "vlpn";
manifest = ./${name}.json;
passthru.updateScript = [
../../../scripts/update-json.sh
"https://volpeon.ink/art/emojis/${name}/manifest.json"
"art/emoji/volpeon/${name}.json"
];
}

View file

@ -14,4 +14,12 @@
akkoma = pkgs.callPackage ./akkoma {};
pleroma-fe = pkgs.callPackage ./akkoma/pleroma-fe {};
admin-fe = pkgs.callPackage ./akkoma/admin-fe {};
emoji-volpeon-blobfox = pkgs.callPackage ./art/emoji/volpeon/blobfox.nix {};
emoji-volpeon-blobfox-flip = pkgs.callPackage ./art/emoji/volpeon/blobfox_flip.nix {};
emoji-volpeon-bunhd = pkgs.callPackage ./art/emoji/volpeon/bunhd.nix {};
emoji-volpeon-bunhd-flip = pkgs.callPackage ./art/emoji/volpeon/bunhd_flip.nix {};
emoji-volpeon-drgn = pkgs.callPackage ./art/emoji/volpeon/drgn.nix {};
emoji-volpeon-fox = pkgs.callPackage ./art/emoji/volpeon/fox.nix {};
emoji-volpeon-raccoon = pkgs.callPackage ./art/emoji/volpeon/raccoon.nix {};
emoji-volpeon-vlpn = pkgs.callPackage ./art/emoji/volpeon/vlpn.nix {};
}

View file

@ -1 +1,3 @@
_: {}
{ pkgs, ...}: {
mkPleromaEmoji = pkgs.callPackage ./mkPleromaEmoji.nix {};
}

33
lib/mkPleromaEmoji.nix Normal file
View file

@ -0,0 +1,33 @@
{ stdenv, fetchurl, oxipng, lib, libarchive }: { name, manifest, ... } @ args:
let manifestData = (builtins.fromJSON (builtins.readFile manifest)).${name};
src = fetchurl {
url = manifestData.src;
sha256 = manifestData.src_sha256;
};
brokenLicenses = {
"CC BY-NC-SA 4.0" = lib.licenses.cc-by-nc-sa-20;
"Apache 2.0" = lib.licenses.asl20;
};
fixLicense = license: brokenLicenses.${license} or license;
in
stdenv.mkDerivation ({
inherit name src;
nativeBuildInputs = [
oxipng
libarchive
];
unpackPhase = ''
bsdtar -xf $src
'';
buildPhase = ''
find . -type f -name '*.png' -execdir oxipng -o max -t $NIX_BUILD_CORES {} \;
'';
installPhase = ''
mkdir $out
cp -r * $out
'';
meta = with lib; {
inherit (manifestData) description homepage;
license = fixLicense manifestData.license;
};
} // args)

6
scripts/update-json.sh Executable file
View file

@ -0,0 +1,6 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl
URL=$1
WRITE_PATH=$2
curl -L $URL > $WRITE_PATH