diff --git a/pkgs/by-name/st/stardrop/csproj-build.patch b/pkgs/by-name/st/stardrop/csproj-build.patch
new file mode 100644
index 00000000000000..7f003e11266009
--- /dev/null
+++ b/pkgs/by-name/st/stardrop/csproj-build.patch
@@ -0,0 +1,92 @@
+diff --git a/Stardrop/Stardrop.csproj b/Stardrop/Stardrop.csproj
+index 3eb4c3a..7342618 100644
+--- a/Stardrop/Stardrop.csproj
++++ b/Stardrop/Stardrop.csproj
+@@ -82,87 +82,4 @@
+ MSBuild:Compile
+
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+
diff --git a/pkgs/by-name/st/stardrop/deps.nix b/pkgs/by-name/st/stardrop/deps.nix
new file mode 100644
index 00000000000000..14e35ff34c9701
--- /dev/null
+++ b/pkgs/by-name/st/stardrop/deps.nix
@@ -0,0 +1,606 @@
+# This file was automatically generated by passthru.fetch-deps.
+# Please dont edit it manually, your changes might get overwritten!
+
+{ fetchNuGet }:
+[
+ (fetchNuGet {
+ pname = "Avalonia";
+ version = "0.10.17";
+ hash = "sha256-3Cafuxs/ANyOt7GbJJls0L76wcgVQK6x0YAlyUAdntU=";
+ })
+ (fetchNuGet {
+ pname = "Avalonia.Angle.Windows.Natives";
+ version = "2.1.0.2020091801";
+ hash = "sha256-ahDcJNCqlNniItcat7owREQ0hfIwMWFNhnDu89lAVRI=";
+ })
+ (fetchNuGet {
+ pname = "Avalonia.Controls.DataGrid";
+ version = "0.10.17";
+ hash = "sha256-d3L6gpeIIuocrO5TUXLhLtAsHqSNQ6gno+djRUVXvXw=";
+ })
+ (fetchNuGet {
+ pname = "Avalonia.Desktop";
+ version = "0.10.17";
+ hash = "sha256-pRcD4p0MAVhBj1n5S+oriy4K2xFDhvUGlcYV1zi0lo4=";
+ })
+ (fetchNuGet {
+ pname = "Avalonia.Diagnostics";
+ version = "0.10.17";
+ hash = "sha256-RNrfOZUFOwI5mwDAGPeSk73bK4eN/TPh4MpRWQjLzzY=";
+ })
+ (fetchNuGet {
+ pname = "Avalonia.FreeDesktop";
+ version = "0.10.17";
+ hash = "sha256-X555sdZ4GX6RqHR1ffTIP5rQjsBou9OjsprxvqwMMRA=";
+ })
+ (fetchNuGet {
+ pname = "Avalonia.Markup.Xaml.Loader";
+ version = "0.10.17";
+ hash = "sha256-SsqHxEwclVCogas3oKGOhMk9WnhqP0KAvjz9l33WPkM=";
+ })
+ (fetchNuGet {
+ pname = "Avalonia.Native";
+ version = "0.10.17";
+ hash = "sha256-iagLH5B+hmZojms6vLpEbc31s1TDg6G/gsPS9lueZtc=";
+ })
+ (fetchNuGet {
+ pname = "Avalonia.ReactiveUI";
+ version = "0.10.17";
+ hash = "sha256-NN1AZGWX+hr6kEPMuxYqGbgbCePh8T51+5vjA+N3trE=";
+ })
+ (fetchNuGet {
+ pname = "Avalonia.Remote.Protocol";
+ version = "0.10.17";
+ hash = "sha256-ueyOZpAxd0khPfxNb/mDv1j7fBcgYGJMkkf+gx8Gyzs=";
+ })
+ (fetchNuGet {
+ pname = "Avalonia.Skia";
+ version = "0.10.17";
+ hash = "sha256-6dSxpWZQntPoKUjQ8R4hjHXeviClD2MyBbNgb2nat38=";
+ })
+ (fetchNuGet {
+ pname = "Avalonia.Win32";
+ version = "0.10.17";
+ hash = "sha256-lqC8AR9PLb8Xl/TLd9rly0co+udQsY+ENSMwQafshX4=";
+ })
+ (fetchNuGet {
+ pname = "Avalonia.X11";
+ version = "0.10.17";
+ hash = "sha256-oS6LWRyMvkcUrfqgMfwIx4OxK/YGrz5sgl1RDNKtRu0=";
+ })
+ (fetchNuGet {
+ pname = "CommandLineParser";
+ version = "2.9.1";
+ hash = "sha256-ApU9y1yX60daSjPk3KYDBeJ7XZByKW8hse9NRZGcjeo=";
+ })
+ (fetchNuGet {
+ pname = "DynamicData";
+ version = "7.1.1";
+ hash = "sha256-cFskEA5n9Q6wS+nt4nR1jaiC+TzirBu8pHL9g/jErJM=";
+ })
+ (fetchNuGet {
+ pname = "HarfBuzzSharp";
+ version = "2.8.2-preview.178";
+ hash = "sha256-dtvXNjVSU1WZ4kFsT6VV56R8iGMPHtdM09dfeejnttw=";
+ })
+ (fetchNuGet {
+ pname = "HarfBuzzSharp.NativeAssets.Linux";
+ version = "2.8.2-preview.178";
+ hash = "sha256-Vyy8zgtqw1uLJTbWNTS+wt/7yNuO4qzYU5a91Sf1ApA=";
+ })
+ (fetchNuGet {
+ pname = "HarfBuzzSharp.NativeAssets.macOS";
+ version = "2.8.2-preview.178";
+ hash = "sha256-YqGYQttBmNRCmkSS+JRfqTsPnuMdKxkYU9ctS5mKFV0=";
+ })
+ (fetchNuGet {
+ pname = "HarfBuzzSharp.NativeAssets.WebAssembly";
+ version = "2.8.2-preview.178";
+ hash = "sha256-QAwWpNc03Vh2RSqIW0xE/rmQCvl/IWs87QREqZNXMtk=";
+ })
+ (fetchNuGet {
+ pname = "HarfBuzzSharp.NativeAssets.Win32";
+ version = "2.8.2-preview.178";
+ hash = "sha256-J9exQ3FxRHMF8tHTc4zhjYGQ6eBYb4ZKwWhzk2L0uuQ=";
+ })
+ (fetchNuGet {
+ pname = "JetBrains.Annotations";
+ version = "10.3.0";
+ hash = "sha256-6I/8HtwvEK0JLgRcSrCzCtUfMylj88s5JNcl9ZDoLb8=";
+ })
+ (fetchNuGet {
+ pname = "Json.More.Net";
+ version = "2.0.1";
+ hash = "sha256-gVr+bTi0/Ujgn2t2uYej1IBd3OYhyP7JOcz+gbaucCM=";
+ })
+ (fetchNuGet {
+ pname = "Microsoft.CodeAnalysis.Analyzers";
+ version = "2.9.6";
+ hash = "sha256-ioxUTmJndOyBc0vpk+my94PyL1IAW7lRjg7gy4ELuaI=";
+ })
+ (fetchNuGet {
+ pname = "Microsoft.CodeAnalysis.Common";
+ version = "3.4.0";
+ hash = "sha256-XNcdi5TmIOBG5tNCotb+xrxhXCsXln/H5MzHTegzNos=";
+ })
+ (fetchNuGet {
+ pname = "Microsoft.CodeAnalysis.CSharp";
+ version = "3.4.0";
+ hash = "sha256-PkUV5IZo2vlGr0sx2abP/dyz7SRm9vgYV32VpDijHmY=";
+ })
+ (fetchNuGet {
+ pname = "Microsoft.CodeAnalysis.CSharp.Scripting";
+ version = "3.4.0";
+ hash = "sha256-jxDRlGE4+Ltf2KbVcVKXWEZBmg5qNr9QPyhx29MHTsA=";
+ })
+ (fetchNuGet {
+ pname = "Microsoft.CodeAnalysis.Scripting.Common";
+ version = "3.4.0";
+ hash = "sha256-wlXyB2/afWocrB2IOFfCrme/Tv3edDQ35eJNzK/Fr6Q=";
+ })
+ (fetchNuGet {
+ pname = "Microsoft.CSharp";
+ version = "4.3.0";
+ hash = "sha256-a3dAiPaVuky0wpcHmpTVtAQJNGZ2v91/oArA+dpJgj8=";
+ })
+ (fetchNuGet {
+ pname = "Microsoft.NETCore.Platforms";
+ version = "1.0.1";
+ hash = "sha256-mZotlGZqtrqDSoBrZhsxFe6fuOv5/BIo0w2Z2x0zVAU=";
+ })
+ (fetchNuGet {
+ pname = "Microsoft.NETCore.Platforms";
+ version = "1.1.0";
+ hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM=";
+ })
+ (fetchNuGet {
+ pname = "Microsoft.NETCore.Platforms";
+ version = "2.0.0";
+ hash = "sha256-IEvBk6wUXSdyCnkj6tHahOJv290tVVT8tyemYcR0Yro=";
+ })
+ (fetchNuGet {
+ pname = "Microsoft.NETCore.Platforms";
+ version = "2.1.2";
+ hash = "sha256-gYQQO7zsqG+OtN4ywYQyfsiggS2zmxw4+cPXlK+FB5Q=";
+ })
+ (fetchNuGet {
+ pname = "Microsoft.NETCore.Platforms";
+ version = "5.0.0";
+ hash = "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c=";
+ })
+ (fetchNuGet {
+ pname = "Microsoft.NETCore.Targets";
+ version = "1.0.1";
+ hash = "sha256-lxxw/Gy32xHi0fLgFWNj4YTFBSBkjx5l6ucmbTyf7V4=";
+ })
+ (fetchNuGet {
+ pname = "Microsoft.NETCore.Targets";
+ version = "1.1.0";
+ hash = "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ=";
+ })
+ (fetchNuGet {
+ pname = "Microsoft.Win32.Registry";
+ version = "5.0.0";
+ hash = "sha256-9kylPGfKZc58yFqNKa77stomcoNnMeERXozWJzDcUIA=";
+ })
+ (fetchNuGet {
+ pname = "Microsoft.Win32.SystemEvents";
+ version = "4.5.0";
+ hash = "sha256-WFqy842DMQG4W1H2ewXWflfBJ+lQf/LwP0KI4OfY0zo=";
+ })
+ (fetchNuGet {
+ pname = "Projektanker.Icons.Avalonia";
+ version = "5.13.0";
+ hash = "sha256-/SkOKwM9FMa8kSqJ49rlYXBKB6RpaiFPQabriZz0pb8=";
+ })
+ (fetchNuGet {
+ pname = "Projektanker.Icons.Avalonia.MaterialDesign";
+ version = "5.13.0";
+ hash = "sha256-LJ8eiuyXo51UwmKJk6B/XkSN/uVW2xYMyQjqtWZsdAk=";
+ })
+ (fetchNuGet {
+ pname = "ReactiveUI";
+ version = "13.2.10";
+ hash = "sha256-75mjibDiA4Z6VI8AkmgxRremAUVaDbHnl/rfyAuZl3Q=";
+ })
+ (fetchNuGet {
+ pname = "runtime.any.System.Collections";
+ version = "4.3.0";
+ hash = "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8=";
+ })
+ (fetchNuGet {
+ pname = "runtime.any.System.Globalization";
+ version = "4.3.0";
+ hash = "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU=";
+ })
+ (fetchNuGet {
+ pname = "runtime.any.System.IO";
+ version = "4.3.0";
+ hash = "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE=";
+ })
+ (fetchNuGet {
+ pname = "runtime.any.System.Reflection";
+ version = "4.3.0";
+ hash = "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk=";
+ })
+ (fetchNuGet {
+ pname = "runtime.any.System.Reflection.Extensions";
+ version = "4.3.0";
+ hash = "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8=";
+ })
+ (fetchNuGet {
+ pname = "runtime.any.System.Reflection.Primitives";
+ version = "4.3.0";
+ hash = "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ=";
+ })
+ (fetchNuGet {
+ pname = "runtime.any.System.Resources.ResourceManager";
+ version = "4.3.0";
+ hash = "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4=";
+ })
+ (fetchNuGet {
+ pname = "runtime.any.System.Runtime";
+ version = "4.3.0";
+ hash = "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM=";
+ })
+ (fetchNuGet {
+ pname = "runtime.any.System.Runtime.Handles";
+ version = "4.3.0";
+ hash = "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4=";
+ })
+ (fetchNuGet {
+ pname = "runtime.any.System.Runtime.InteropServices";
+ version = "4.3.0";
+ hash = "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA=";
+ })
+ (fetchNuGet {
+ pname = "runtime.any.System.Text.Encoding";
+ version = "4.3.0";
+ hash = "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs=";
+ })
+ (fetchNuGet {
+ pname = "runtime.any.System.Threading.Tasks";
+ version = "4.3.0";
+ hash = "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4=";
+ })
+ (fetchNuGet {
+ pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ hash = "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps=";
+ })
+ (fetchNuGet {
+ pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ hash = "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I=";
+ })
+ (fetchNuGet {
+ pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ hash = "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA=";
+ })
+ (fetchNuGet {
+ pname = "runtime.native.System";
+ version = "4.3.0";
+ hash = "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y=";
+ })
+ (fetchNuGet {
+ pname = "runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ hash = "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I=";
+ })
+ (fetchNuGet {
+ pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ hash = "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM=";
+ })
+ (fetchNuGet {
+ pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ hash = "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4=";
+ })
+ (fetchNuGet {
+ pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ hash = "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0=";
+ })
+ (fetchNuGet {
+ pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ hash = "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4=";
+ })
+ (fetchNuGet {
+ pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ hash = "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g=";
+ })
+ (fetchNuGet {
+ pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ hash = "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc=";
+ })
+ (fetchNuGet {
+ pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ hash = "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw=";
+ })
+ (fetchNuGet {
+ pname = "runtime.unix.System.Diagnostics.Debug";
+ version = "4.3.0";
+ hash = "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI=";
+ })
+ (fetchNuGet {
+ pname = "runtime.unix.System.Private.Uri";
+ version = "4.3.0";
+ hash = "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs=";
+ })
+ (fetchNuGet {
+ pname = "runtime.unix.System.Runtime.Extensions";
+ version = "4.3.0";
+ hash = "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4=";
+ })
+ (fetchNuGet {
+ pname = "Semver";
+ version = "2.3.0";
+ hash = "sha256-77/J/w41PLEMIxA5Uj475TeReBGw8QwptQsbQDtdsMI=";
+ })
+ (fetchNuGet {
+ pname = "SharpCompress";
+ version = "0.32.1";
+ hash = "sha256-hjq5yD7D8A8Pt4Ia1vx9dqgIN5298d17xu+/c6fZ8Vg=";
+ })
+ (fetchNuGet {
+ pname = "SkiaSharp";
+ version = "2.88.1-preview.1";
+ hash = "sha256-FdKGXukqhZiejuTqq57Yp3L6sU2LYLfq8zNlBo/pN8Q=";
+ })
+ (fetchNuGet {
+ pname = "SkiaSharp.NativeAssets.Linux";
+ version = "2.88.1-preview.1";
+ hash = "sha256-oR0fcdtU5K8H0M/9URAIVXqUPRZiPHh+0BzMHdnIOOU=";
+ })
+ (fetchNuGet {
+ pname = "SkiaSharp.NativeAssets.macOS";
+ version = "2.88.1-preview.1";
+ hash = "sha256-kIgfxQYu1eshg80JfmERNkjBVVJFRTqN1VcQenm2pfA=";
+ })
+ (fetchNuGet {
+ pname = "SkiaSharp.NativeAssets.WebAssembly";
+ version = "2.88.1-preview.1";
+ hash = "sha256-OH8aBCNQPR0QQWg3cUytuYW49JET+wF8poDYR6gXklc=";
+ })
+ (fetchNuGet {
+ pname = "SkiaSharp.NativeAssets.Win32";
+ version = "2.88.1-preview.1";
+ hash = "sha256-m24HrDOUXn6s+HJqMs3eQb2Q5lqTTZp+cvEeEtpSoMw=";
+ })
+ (fetchNuGet {
+ pname = "Splat";
+ version = "10.0.1";
+ hash = "sha256-aemLZZk/KMdt28gmW7BdJDg/mmxI5zY2kf1L3o/N36E=";
+ })
+ (fetchNuGet {
+ pname = "System.Collections";
+ version = "4.3.0";
+ hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc=";
+ })
+ (fetchNuGet {
+ pname = "System.Collections.Immutable";
+ version = "1.5.0";
+ hash = "sha256-BliqYlL9ntbMXo5d7NUrKXwYN+PqdyqDIS5bp4qVr7Q=";
+ })
+ (fetchNuGet {
+ pname = "System.ComponentModel.Annotations";
+ version = "4.5.0";
+ hash = "sha256-15yE2NoT9vmL9oGCaxHClQR1jLW1j1ef5hHMg55xRso=";
+ })
+ (fetchNuGet {
+ pname = "System.Diagnostics.Debug";
+ version = "4.3.0";
+ hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM=";
+ })
+ (fetchNuGet {
+ pname = "System.Drawing.Common";
+ version = "4.5.0";
+ hash = "sha256-DLYGJraIfSj0Zmpi2H5Am2AsZ+kP5UVGdjakqj9Q2E4=";
+ })
+ (fetchNuGet {
+ pname = "System.Dynamic.Runtime";
+ version = "4.3.0";
+ hash = "sha256-k75gjOYimIQtLBD5NDzwwi3ZMUBPRW3jmc3evDMMJbU=";
+ })
+ (fetchNuGet {
+ pname = "System.Globalization";
+ version = "4.3.0";
+ hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI=";
+ })
+ (fetchNuGet {
+ pname = "System.IO";
+ version = "4.3.0";
+ hash = "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY=";
+ })
+ (fetchNuGet {
+ pname = "System.Linq";
+ version = "4.3.0";
+ hash = "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A=";
+ })
+ (fetchNuGet {
+ pname = "System.Linq.Expressions";
+ version = "4.3.0";
+ hash = "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8=";
+ })
+ (fetchNuGet {
+ pname = "System.Memory";
+ version = "4.5.3";
+ hash = "sha256-Cvl7RbRbRu9qKzeRBWjavUkseT2jhZBUWV1SPipUWFk=";
+ })
+ (fetchNuGet {
+ pname = "System.Numerics.Vectors";
+ version = "4.5.0";
+ hash = "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8=";
+ })
+ (fetchNuGet {
+ pname = "System.ObjectModel";
+ version = "4.3.0";
+ hash = "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q=";
+ })
+ (fetchNuGet {
+ pname = "System.Private.Uri";
+ version = "4.3.0";
+ hash = "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM=";
+ })
+ (fetchNuGet {
+ pname = "System.Reactive";
+ version = "5.0.0";
+ hash = "sha256-M5Z8pw8rVb8ilbnTdaOptzk5VFd5DlKa7zzCpuytTtE=";
+ })
+ (fetchNuGet {
+ pname = "System.Reflection";
+ version = "4.3.0";
+ hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY=";
+ })
+ (fetchNuGet {
+ pname = "System.Reflection.Emit";
+ version = "4.3.0";
+ hash = "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU=";
+ })
+ (fetchNuGet {
+ pname = "System.Reflection.Emit";
+ version = "4.7.0";
+ hash = "sha256-Fw/CSRD+wajH1MqfKS3Q/sIrUH7GN4K+F+Dx68UPNIg=";
+ })
+ (fetchNuGet {
+ pname = "System.Reflection.Emit.ILGeneration";
+ version = "4.3.0";
+ hash = "sha256-mKRknEHNls4gkRwrEgi39B+vSaAz/Gt3IALtS98xNnA=";
+ })
+ (fetchNuGet {
+ pname = "System.Reflection.Emit.Lightweight";
+ version = "4.3.0";
+ hash = "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I=";
+ })
+ (fetchNuGet {
+ pname = "System.Reflection.Extensions";
+ version = "4.3.0";
+ hash = "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk=";
+ })
+ (fetchNuGet {
+ pname = "System.Reflection.Metadata";
+ version = "1.6.0";
+ hash = "sha256-JJfgaPav7UfEh4yRAQdGhLZF1brr0tUWPl6qmfNWq/E=";
+ })
+ (fetchNuGet {
+ pname = "System.Reflection.Primitives";
+ version = "4.3.0";
+ hash = "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM=";
+ })
+ (fetchNuGet {
+ pname = "System.Reflection.TypeExtensions";
+ version = "4.3.0";
+ hash = "sha256-4U4/XNQAnddgQIHIJq3P2T80hN0oPdU2uCeghsDTWng=";
+ })
+ (fetchNuGet {
+ pname = "System.Resources.ResourceManager";
+ version = "4.3.0";
+ hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo=";
+ })
+ (fetchNuGet {
+ pname = "System.Runtime";
+ version = "4.1.0";
+ hash = "sha256-FViNGM/4oWtlP6w0JC0vJU+k9efLKZ+yaXrnEeabDQo=";
+ })
+ (fetchNuGet {
+ pname = "System.Runtime";
+ version = "4.3.0";
+ hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg=";
+ })
+ (fetchNuGet {
+ pname = "System.Runtime.CompilerServices.Unsafe";
+ version = "4.5.2";
+ hash = "sha256-8eUXXGWO2LL7uATMZye2iCpQOETn2jCcjUhG6coR5O8=";
+ })
+ (fetchNuGet {
+ pname = "System.Runtime.CompilerServices.Unsafe";
+ version = "4.6.0";
+ hash = "sha256-FTjQeMuvqnKxpoVsVh/OlQ21NMaZiFtOdv7VdZ+Iv3Y=";
+ })
+ (fetchNuGet {
+ pname = "System.Runtime.Extensions";
+ version = "4.3.0";
+ hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o=";
+ })
+ (fetchNuGet {
+ pname = "System.Runtime.Handles";
+ version = "4.3.0";
+ hash = "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms=";
+ })
+ (fetchNuGet {
+ pname = "System.Runtime.InteropServices";
+ version = "4.3.0";
+ hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI=";
+ })
+ (fetchNuGet {
+ pname = "System.Runtime.Serialization.Primitives";
+ version = "4.3.0";
+ hash = "sha256-zu5m1M9usend+i9sbuD6Xbizdo8Z6N5PEF9DAtEVewc=";
+ })
+ (fetchNuGet {
+ pname = "System.Security.AccessControl";
+ version = "5.0.0";
+ hash = "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54=";
+ })
+ (fetchNuGet {
+ pname = "System.Security.Principal.Windows";
+ version = "4.7.0";
+ hash = "sha256-rWBM2U8Kq3rEdaa1MPZSYOOkbtMGgWyB8iPrpIqmpqg=";
+ })
+ (fetchNuGet {
+ pname = "System.Security.Principal.Windows";
+ version = "5.0.0";
+ hash = "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y=";
+ })
+ (fetchNuGet {
+ pname = "System.Text.Encoding";
+ version = "4.3.0";
+ hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg=";
+ })
+ (fetchNuGet {
+ pname = "System.Text.Encoding.CodePages";
+ version = "4.5.1";
+ hash = "sha256-PIhkv59IXjyiuefdhKxS9hQfEwO9YWRuNudpo53HQfw=";
+ })
+ (fetchNuGet {
+ pname = "System.Text.Encodings.Web";
+ version = "8.0.0";
+ hash = "sha256-IUQkQkV9po1LC0QsqrilqwNzPvnc+4eVvq+hCvq8fvE=";
+ })
+ (fetchNuGet {
+ pname = "System.Text.Json";
+ version = "8.0.0";
+ hash = "sha256-XFcCHMW1u2/WujlWNHaIWkbW1wn8W4kI0QdrwPtWmow=";
+ })
+ (fetchNuGet {
+ pname = "System.Threading";
+ version = "4.3.0";
+ hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc=";
+ })
+ (fetchNuGet {
+ pname = "System.Threading.Tasks";
+ version = "4.3.0";
+ hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w=";
+ })
+ (fetchNuGet {
+ pname = "System.Threading.Tasks.Extensions";
+ version = "4.5.3";
+ hash = "sha256-8TglbC6KBHlDeSfgr6d5dGn7wu8td4XERl2JUyo0+Tw=";
+ })
+ (fetchNuGet {
+ pname = "System.ValueTuple";
+ version = "4.5.0";
+ hash = "sha256-niH6l2fU52vAzuBlwdQMw0OEoRS/7E1w5smBFoqSaAI=";
+ })
+ (fetchNuGet {
+ pname = "Tmds.DBus";
+ version = "0.9.0";
+ hash = "sha256-w332WVsJrdAOnlSUtgvatSTtnoC81C3LG6J2ip42fW8=";
+ })
+]
diff --git a/pkgs/by-name/st/stardrop/package.nix b/pkgs/by-name/st/stardrop/package.nix
new file mode 100644
index 00000000000000..16b133a8adcb94
--- /dev/null
+++ b/pkgs/by-name/st/stardrop/package.nix
@@ -0,0 +1,92 @@
+{
+ lib,
+ imagemagick,
+ fetchFromGitHub,
+ buildFHSEnv,
+ appimageTools,
+ buildDotnetModule,
+ dotnetCorePackages,
+ writeShellScript,
+ makeDesktopItem,
+ copyDesktopItems,
+ extraThemes ? [ ],
+}:
+
+let
+ pname = "stardrop";
+ version = "1.2.1";
+
+ src = fetchFromGitHub {
+ owner = "Floogen";
+ repo = "stardrop";
+ rev = "v${version}";
+ hash = "sha256-VN0SrvBT5JUNraeh6YyRhcnoOl+mOB2/zk/rQeJidI8=";
+ };
+
+ unwrapped = buildDotnetModule {
+ inherit pname version src;
+
+ patches = [ ./csproj-build.patch ];
+
+ projectFile = "Stardrop/Stardrop.csproj";
+ executables = [ "Stardrop" ];
+
+ dotnet-sdk = dotnetCorePackages.sdk_7_0;
+ dotnet-runtime = dotnetCorePackages.runtime_7_0;
+ nugetDeps = ./deps.nix;
+
+ nativeBuildInputs = [
+ copyDesktopItems
+ imagemagick
+ ];
+
+ postInstall = builtins.concatStringsSep "\n" (
+ map (theme: "cp ${theme} $out/lib/stardrop/Themes/${builtins.baseNameOf theme}") extraThemes
+ );
+
+ postFixup = ''
+ for size in 16 24 32 48 64 128 256; do
+ mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
+ magick ${./stardrop.ico} -background none -resize "$size"x"$size" -flatten \
+ $out/share/icons/hicolor/"$size"x"$size"/apps/stardrop.png
+ done;
+ '';
+
+ desktopItems = [
+ (makeDesktopItem {
+ name = "stardrop";
+ desktopName = "Stardrop";
+ exec = "stardrop --nxm %u";
+ icon = "stardrop";
+ comment = meta.description;
+ categories = [ "Game" ];
+ startupWMClass = "stardrop";
+ mimeTypes = [ "x-scheme-handler/nxm" ];
+ })
+ ];
+ };
+
+ meta = {
+ description = "Open-source, cross-platform mod manager for the game Stardew Valley";
+ homepage = "https://github.com/Floogen/Stardrop";
+ license = lib.licenses.gpl3Only;
+ maintainers = with lib.maintainers; [ jh-devv ];
+ platforms = lib.platforms.all;
+ };
+
+ fhs = buildFHSEnv (
+ appimageTools.defaultFhsEnvArgs
+ // {
+ inherit pname version meta;
+ runScript = writeShellScript "stardrop-wrapper.sh" ''
+ exec ${unwrapped}/bin/Stardrop "$@"
+ '';
+
+ extraInstallCommands = ''
+ cp -r ${unwrapped}/share $out/share
+ '';
+ }
+ );
+
+in
+fhs
diff --git a/pkgs/by-name/st/stardrop/patches/csproj-for-nix.patch b/pkgs/by-name/st/stardrop/patches/csproj-for-nix.patch
new file mode 100644
index 00000000000000..7f003e11266009
--- /dev/null
+++ b/pkgs/by-name/st/stardrop/patches/csproj-for-nix.patch
@@ -0,0 +1,92 @@
+diff --git a/Stardrop/Stardrop.csproj b/Stardrop/Stardrop.csproj
+index 3eb4c3a..7342618 100644
+--- a/Stardrop/Stardrop.csproj
++++ b/Stardrop/Stardrop.csproj
+@@ -82,87 +82,4 @@
+ MSBuild:Compile
+
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+
diff --git a/pkgs/by-name/st/stardrop/stardrop.ico b/pkgs/by-name/st/stardrop/stardrop.ico
new file mode 100644
index 00000000000000..b4b4c0337c8cc1
Binary files /dev/null and b/pkgs/by-name/st/stardrop/stardrop.ico differ