Skip to content

Comments

melonloader-installer: init at 4.2.1#384656

Open
WillemToorenburgh wants to merge 5 commits intoNixOS:masterfrom
WillemToorenburgh:add-melonloader-installer
Open

melonloader-installer: init at 4.2.1#384656
WillemToorenburgh wants to merge 5 commits intoNixOS:masterfrom
WillemToorenburgh:add-melonloader-installer

Conversation

@WillemToorenburgh
Copy link

@WillemToorenburgh WillemToorenburgh commented Feb 24, 2025

Update, Jan 30th 2026

I've rebased this onto the latest master commit, bumped the minor version and dependencies, and checked again to make sure everything still works. I've also revised the title and this description to match.


Hello! This is my first working attempt at packaging something for Nix(OS) after a few false starts. MelonLoader.Installer seemed like a good choice to try, as their team had just added Linux support as of version 4.1.0.

MelonLoader.Installer is a small utility that lets users easily install their chosen version of MelonLoader into Unity Engine games installed on the user's machine. It is capable of auto-detecting games, and was able to do so successfully on my NixOS installation.

The package is about as simple as it gets: a Dotnet program built with almost all the defaults from the Wiki. I set selfContainedBuild = true as that is what it seemed like the code wanted. I was able to verify that the program works as expected, successfully installing MelonLoader DLLs into Neon White.

As this is a new package, and I developed it on NixOS 25.11, it should be appropriate for backporting, but I'm not sure how to initiate that process just yet.

Output of nix-instantiate --eval -A lib.trivial.oldestSupportedRelease: 2511

Also to note: this software is compatible with macOS, but I didn't add support for that in this package as I have no way to test it.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@github-actions github-actions bot added the 8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` label Feb 24, 2025
@WillemToorenburgh WillemToorenburgh changed the base branch from nixos-24.11 to release-24.11 February 24, 2025 02:16
@NixOSInfra NixOSInfra added the 12.first-time contribution This PR is the author's first one; please be gentle! label Feb 24, 2025
@WillemToorenburgh WillemToorenburgh force-pushed the add-melonloader-installer branch 2 times, most recently from 85d60c2 to c4fa4a3 Compare February 24, 2025 04:23
@github-actions github-actions bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. labels Feb 24, 2025
@WillemToorenburgh WillemToorenburgh force-pushed the add-melonloader-installer branch from c4fa4a3 to e7b9fda Compare February 24, 2025 22:12
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shoot. I'll see if I can find a reference implementation

@wegank wegank added the 12.approvals: 1 This PR was reviewed and approved by one person. label Mar 5, 2025
@FliegendeWurst FliegendeWurst added the 8.has: package (new) This PR adds a new package label Mar 12, 2025
@WillemToorenburgh WillemToorenburgh force-pushed the add-melonloader-installer branch from 3fccf5b to 1863978 Compare March 13, 2025 01:07
@WillemToorenburgh
Copy link
Author

Realized users will have a hard time running the program if there's no .desktop file, so I made an attempt at creating one. I was able to verify it works on my local system :)

@WillemToorenburgh WillemToorenburgh requested a review from a user March 13, 2025 01:14
@wolfgangwalther
Copy link
Contributor

Seems like this is not a backport, so you will need to target the master branch, not release-24.11. You will need to rebase your PR and change the base branch.

@WillemToorenburgh WillemToorenburgh force-pushed the add-melonloader-installer branch from 1863978 to 3bdd789 Compare March 24, 2025 18:41
@WillemToorenburgh WillemToorenburgh changed the base branch from release-24.11 to master March 24, 2025 18:41
@ofborg ofborg bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label Mar 24, 2025
@WillemToorenburgh
Copy link
Author

Well shoot. Thanks for the guidance, @wolfgangwalther. I've done my best to properly rebase the branch to master

@WillemToorenburgh
Copy link
Author

I'm not sure why ofborg labelled with merge conflict... perhaps it got triggered by the force push and ran before I changed the target branch? 🤔

@wolfgangwalther wolfgangwalther removed the 2.status: merge conflict This PR has merge conflicts with the target branch label Mar 24, 2025
@WillemToorenburgh
Copy link
Author

Thanks for removing the conflict label! I confess I'm not sure what's up with the cherry-pick checker or why it has failed, but I can't imagine it would be indicative of a problem with this new PR... Right?

@wegank wegank added the 2.status: merge conflict This PR has merge conflicts with the target branch label Jun 9, 2025
@nixpkgs-ci nixpkgs-ci bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Sep 21, 2025
@nixpkgs-ci nixpkgs-ci bot removed the 12.approvals: 1 This PR was reviewed and approved by one person. label Nov 6, 2025
@nixpkgs-ci nixpkgs-ci bot removed the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jan 29, 2026
@WillemToorenburgh
Copy link
Author

@nyukuru I honestly forgot about this PR! It stalled out with not getting any eyes from reviewers with commit permission, and I wasn't sure how to get it more attention. It'll need to be rebased and I'll have to make sure everything still works, but honestly, I don't see why it wouldn't still work. Is this something you'd find useful?

@nyukuru
Copy link
Contributor

nyukuru commented Jan 30, 2026

Is this something you'd find useful?

Maybe not directly, but I was looking into packaging melonloader itself now that there seems be support for linux native modding. So in the case that this pr was abandoned I was hoping to offer to take over or otherwise collaborate

@WillemToorenburgh WillemToorenburgh force-pushed the add-melonloader-installer branch from 3bdd789 to dc6697c Compare January 30, 2026 20:17
@WillemToorenburgh WillemToorenburgh changed the title melonloader-installer: init at 4.1.1 melonloader-installer: init at 4.2.1 Jan 30, 2026
@nixpkgs-ci nixpkgs-ci bot added 9.needs: reviewer This PR currently has no reviewers requested and needs attention. and removed 2.status: merge conflict This PR has merge conflicts with the target branch labels Jan 30, 2026
@WillemToorenburgh
Copy link
Author

WillemToorenburgh commented Jan 30, 2026

@nyukuru your poking my ADHD-having butt on the matter is collaboration, as far as I'm concerned! The PR has been rebased and updated to the latest revision of MelonLoader Installer :D

EDIT: could I trouble you to review the PR? The only other approval I got is from someone who has since deleted their account.

nyukuru

This comment was marked as outdated.

@nyukuru
Copy link
Contributor

nyukuru commented Jan 30, 2026

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 384656
Commit: dc6697cf2fb31afb21838f5a25ccd389f657f002


x86_64-linux

✅ 1 package built:
  • melonloader-installer

@nixpkgs-ci nixpkgs-ci bot added 12.approvals: 1 This PR was reviewed and approved by one person. and removed 9.needs: reviewer This PR currently has no reviewers requested and needs attention. labels Jan 31, 2026
Copy link
Contributor

@nyukuru nyukuru left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Before this is merged I think the auto updating should be patched out, it wouldn't be functional anyway

@WillemToorenburgh
Copy link
Author

I'm not against removing the update script, though I'd be interested to know why you're recommending it. Have they fallen out of use/favour?

@nyukuru
Copy link
Contributor

nyukuru commented Feb 1, 2026

Not the nix update script, the auto updating code of the installer itself (https://github.com/LavaGang/MelonLoader.Installer/blob/4.2.1/MelonLoader.Installer/Updater.cs)

@WillemToorenburgh
Copy link
Author

Oh, well spotted! I'm going to try to suss out how that works and how to patch it out. Might stretch goal into a PR for them for a nice solution for turning auto-update off during build time, but first things first.

@WillemToorenburgh
Copy link
Author

Patch has been created! I see one of the CI jobs failed, but the failure is suspicious to say the least. I'm having trouble imagining how it could be related to this latest change, and feel inclined to say it's not me?

@WillemToorenburgh
Copy link
Author

@nyukuru I think the auto updating has been patched out!

Copy link
Contributor

@nyukuru nyukuru left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good!

@WillemToorenburgh
Copy link
Author

Thank you! I'm now wondering what I need to do in order to retry the failed CI jobs. I could make a trivial change and push, but that'd get rid of your approval. Would a committer/maintainer be able to re-run them?

@nixpkgs-ci nixpkgs-ci bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label Feb 8, 2026
@WillemToorenburgh WillemToorenburgh force-pushed the add-melonloader-installer branch from 4838de9 to d02dfd6 Compare February 11, 2026 21:11
@WillemToorenburgh
Copy link
Author

Rebased onto master and resolved maintainers-list.nix conflict

@nixpkgs-ci nixpkgs-ci bot removed the 2.status: merge conflict This PR has merge conflicts with the target branch label Feb 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 12.approvals: 1 This PR was reviewed and approved by one person. 12.first-time contribution This PR is the author's first one; please be gentle!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants