feat: scaffold Nix flake with dotnet-sdk_9, typst, and nodejs #10
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue-1-flake-scaffold"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #1
What
flake.nixwithdevShells.default(dotnetCorePackages.sdk_9_0, typst, nodejs) andpackages.default(buildDotnetModule targeting net9.0)plugin/jellyfin-lessons.csprojfor the build harnessdeps.json(empty nuget deps).gitignore(.NET and Nix build artifacts)Acceptance
nix develop→ dotnet 9.0.313, typst 0.14.2, node v24.14.1 all workingnix build→ producesresult/symlink with plugin DLLReviewed — structure and approach are solid. A few things to fix:
✅ Good
forAllSystems— clean.gitignorecovers build artifacts, IDE files, Nix results❌ Fix required
deps.jsonis empty[]—buildDotnetModuleneeds actual NuGet dependency hashes. Runnix buildonce with a fake deps.json to generate the real lock, then copy it from the build log. The empty array will cause a hash mismatch on build.csproj doesn't reference Jellyfin packages — The plugin project needs
PackageReferenceentries forJellyfin.ControllerandJellyfin.Model(both withExcludeAssets="runtime"). Without these, the plugin has no base classes to inherit from. Add:Version should match what's installed via
services.jellyfin.packageon n97.csproj file name should match plugin naming convention — Other Jellyfin plugins use
Jellyfin.Plugin.Name.csproj. Rename toJellyfin.Plugin.Lessons.csprojand update the flake'sprojectFilereference.Fix these three and re-push. The next issue (#2) depends on this being right.
All three review fixes applied:
deps.json populated — Generated via
dotnet restore+nuget-to-jsonwith all 30 NuGet dependency hashes (Jellyfin.Controller, Jellyfin.Model, and all transitive deps).Jellyfin NuGet packages added — Added
Jellyfin.Controller10.10.* andJellyfin.Model10.10.* withExcludeAssets=runtime.csproj renamed —
plugin/jellyfin-lessons.csproj→plugin/Jellyfin.Plugin.Lessons.csproj,flake.nixprojectFile updated to match.