nix-config/modules/fedi/iceshrimp/iceshrimp.nix

51 lines
1 KiB
Nix

{
stdenv,
fetchurl,
autoPatchelfHook,
makeWrapper,
zstd,
dotnetCorePackages,
postgresql,
version,
}:
stdenv.mkDerivation {
pname = "iceshrimp";
version = version.version;
src = fetchurl {
url = "https://iceshrimp.dev/iceshrimp/Iceshrimp.NET/releases/download/v${version.version}/Iceshrimp.NET-v${version.version}-linux-amd64-glibc.tar.zst";
hash = version.hash;
};
nativeBuildInputs = [
stdenv.cc.cc.lib
zstd
autoPatchelfHook
makeWrapper
];
buildInputs = [
dotnetCorePackages.sdk_9_0
postgresql
];
unpackPhase = ''
runHook preUnpack
mkdir -p $out $out/etc $out/usr
tar xf $src -C $out
mv $out/Iceshrimp.NET-v${version.version}-linux-amd64-glibc $out/usr/share
mv $out/usr/share/configuration.ini $out/etc/
runHook postUnpack
'';
postFixup = ''
makeWrapper $out/usr/share/Iceshrimp.Backend $out/bin/iceshrimp \
--set DOTNET_ROOT ${dotnetCorePackages.sdk_9_0}/share/dotnet/ \
--set ICESHRIMP_CONFIG $out/etc/configuration.ini \
'';
}