diff --git a/pkgs/by-name/de/deepdwn/package.nix b/pkgs/by-name/de/deepdwn/package.nix new file mode 100644 index 00000000000000..607167bfeee6b0 --- /dev/null +++ b/pkgs/by-name/de/deepdwn/package.nix @@ -0,0 +1,44 @@ +{ + lib, + requireFile, + appimageTools, +}: + +let + pname = "deepdwn"; + version = source.version; + + source = lib.importJSON ./source.json; + + src = requireFile { + name = "Deepdwn-${version}.AppImage"; + hash = source.hash; + url = "https://www.deepdwn.com/"; + }; + + appimageContents = appimageTools.extractType2 { + inherit pname version src; + }; +in +appimageTools.wrapType2 rec { + inherit pname version src; + + extraInstallCommands = '' + install -m 444 -D ${appimageContents}/deepdwn.desktop $out/share/applications/deepdwn.desktop + install -m 444 -D ${appimageContents}/deepdwn.png $out/share/icons/hicolor/512x512/apps/deepdwn.png + substituteInPlace $out/share/applications/deepdwn.desktop \ + --replace-fail 'Exec=AppRun' 'Exec=${pname}' + ''; + + passthru.updateScript = ./update.sh; + + meta = { + description = "Markdown editor and organizer for Windows, Mac and Linux"; + homepage = "https://www.deepdwn.com/"; + downloadPage = "https://billiam.itch.io/deepdwn"; + license = lib.licenses.unfree; + maintainers = with lib.maintainers; [ ymstnt ]; + mainProgram = "deepdwn"; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/by-name/de/deepdwn/source.json b/pkgs/by-name/de/deepdwn/source.json new file mode 100644 index 00000000000000..bebd65090996bd --- /dev/null +++ b/pkgs/by-name/de/deepdwn/source.json @@ -0,0 +1,4 @@ +{ + "version": "0.41.0", + "hash": "sha256-kMv8GDOFuqjkNyehkj/onKJgbWKc4WuHAMeBM/xzWDQ=" +} diff --git a/pkgs/by-name/de/deepdwn/update.sh b/pkgs/by-name/de/deepdwn/update.sh new file mode 100755 index 00000000000000..595a7733861b2d --- /dev/null +++ b/pkgs/by-name/de/deepdwn/update.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env nix-shell +#!nix-shell --pure -i bash -p nix jq +set -euo pipefail +cd "$(dirname "${BASH_SOURCE[0]}")" +package=(~/.config/itch/apps/deepdwn/Deepdwn-*.AppImage) + +if [ ! -e "${package[0]}" ]; then + echo "No matching file found."; + exit 1 +fi + +hash=$(nix hash file --type sha256 --sri "${package[0]}") +filename=$(basename "${package[0]}") +version="${filename#Deepdwn-}" +version="${version%.AppImage}" + +jq -n "{version: \"$version\", hash: \"$hash\"}" > source.json + +nix-store --add-fixed sha256 "${package[0]}"