Skip to content

Conversation

@jchv
Copy link
Contributor

@jchv jchv commented Apr 29, 2024

Description of changes

https://github.com/RetBox/86BoxManagerX

86BoxManagerX is a cross-platform fork of 86BoxManager, a configuration manager for 86Box. 86BoxManagerX makes it easy to manage multiple different machine configurations using 86Box.

In order to integrate it well into Nixpkgs, the following patches were made:

  • The configuration file is loaded from $XDG_CONFIG_HOME rather than the directory of the assembly, which would point into the read-only Nix store. This is adapted from a pending pull request.
  • The directory of 86Box is hardcoded into the Nix store.
  • The UI elements and respective logic for changing the path to the 86Box executable are removed.

The justification for this is a result of the way 86BoxManagerX works: at first startup, it creates the configuration files after detecting the path to 86Box, and encodes the path to 86Box into the configuration file. After this, it does not try to find the 86Box executable again, even if it stops existing. It would be nice if the configuration could override the hardcoded path, but that'd be a much more involved patch, whereas this one is almost entirely just removing things, which should be easy to deal with. Adding upstream support for the hardcoded path might make this easier in the future.

P.S.: The reason the version string differs from the tag in having an additional hyphen is because buildDotnetModule disallows the string 1.7.6.0e.

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/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 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.

@ofborg ofborg bot added 8.has: package (new) This PR adds a new package 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package 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. labels Apr 29, 2024
@jchv jchv force-pushed the init/86box-manager-x branch 3 times, most recently from 51e7863 to dfa57fd Compare November 1, 2024 15:47
@jchv
Copy link
Contributor Author

jchv commented Nov 1, 2024

Changelog from 4aae8545d2aa651461708e2e702ac5a9831e43f0 to faab013b3ec3e4de810995a82066afbbab91a2f6:

  • Changed pname to be lowercase, in accordance with the nixpkgs guidelines.
  • Applied suggestion to remove with lib usage.
  • Applied suggestion to use substituteAll instead of substitute for path patch.

Changelog from faab013b3ec3e4de810995a82066afbbab91a2f6 to 51e7863ebab0893253559e55f49235cd1300565f:

  • Formatted deps.nix, now that this is enforced by CI.

Changelog from 51e7863ebab0893253559e55f49235cd1300565f to dfa57fdde5deb1bc59a350d0cb3a2eda75af2179:

  • Reverted suggestion to use substituteAll. Upon further inspection, substituteAll silently ignores any variables that don't start with lowercase letters. I could change the patch, but it doesn't seem worth it. I'll change the patch if anyone thinks it would be worth it, but if so please leave a suggestion for what the variable should be called.

@jchv jchv force-pushed the init/86box-manager-x branch from dfa57fd to 2b0bb70 Compare November 2, 2024 18:00
Comment on lines +76 to +77
dotnet-sdk = dotnetCorePackages.sdk_6_0;
dotnet-runtime = dotnetCorePackages.runtime_6_0;
Copy link
Member

Choose a reason for hiding this comment

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

.NET 6 will be removed #326335

@jchv jchv marked this pull request as draft December 6, 2024 18:20
@nixpkgs-ci nixpkgs-ci bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jun 25, 2025
@jchv
Copy link
Contributor Author

jchv commented Aug 26, 2025

Welp, I should not have neglected this PR so much. Sorry.

86Box 5.0 comes with a builtin VM manager, and while I'm not sure that makes 86BoxManagerX fully obsolete by any means, it does somewhat obviate the need for this, and therefore I would prefer to not add the maintenance burden of adding another external manager to Nixpkgs. If anyone still wants to pick this up, please feel free to take over where I left off.

@jchv jchv closed this Aug 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package 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. 11.by: package-maintainer This PR was created by a maintainer of all the package it changes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants