Skip to content

Comments

nexusmods-app: 0.7.3 -> 0.8.2#388999

Merged
khaneliman merged 3 commits intoNixOS:masterfrom
MattSturgeon:nexus-0.8
Mar 18, 2025
Merged

nexusmods-app: 0.7.3 -> 0.8.2#388999
khaneliman merged 3 commits intoNixOS:masterfrom
MattSturgeon:nexus-0.8

Conversation

@MattSturgeon
Copy link
Contributor

@MattSturgeon MattSturgeon commented Mar 11, 2025

Also:

  • Bumped StrawberryShake (as per upstream's PR),
    allowing us to drop .net 8 runtime and only build with .net 9
  • Re-enabled tests that no longer fail and/or no longer exist
  • Disabled 5 tests that now require network access
  • Double checked the InstallsFilesSimple_UsingRar test still exists
  • Removed the package's passthru tests. See comment below.

At first I thought the newly failing tests should've been covered by RequiresNetworking, however:

The RequiresNetworking trait isn't very descriptive, but we're using this for tests that talk to the Nexus Mods API. A better name for the trait would be "RequiresNexusModsAPIKey".

Notes for end-users

Tip

When upgrading from version 0.7.0 or newer, it should be safe to upgrade without resetting/uninstalling.

Note

All games except Stardew Valley have been moved behind the "Unsupported Games" flag in Settings. If you were modding Cyberpunk, Baldur's Gate 3 or Mount & Blade II:Bannerlord in a previous release, you will need to enable this option to continue managing your mods.

Caution

When upgrading from a version older than 0.7.0, you will need a fresh start.
If you have configuration leftover from an old version, the updated app will crash.

See upstream's guide on how to uninstall the app.

Resetting tips

You can reset all modded games and wipe your nexusmods-app config using:

NexusMods.App uninstall-app
  • This should be done before updating the app.
  • Be careful: There's no way to recover a wiped config!

If you've run the appimage version from upstream, or a pre-0.6 nixpkgs version, you may also need to remove old desktop entries to avoid other issues:

rm ~/.local/share/applications/com.nexusmods.app.desktop

Caution

Known issues are listed on the changelog, but include:

  • The sort order for some columns does not work as expected.
  • The game version is not checked when adding a collection meaning you can install outdated mods without being warned.
  • The table header sorting and collapsible section states are not saved and reset each time the view is loaded.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
  • 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) Updated existing a release notes entry
    • (Package updates) Added a release notes entry if the change is major or breaking
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@github-actions github-actions bot added the 8.has: documentation This PR adds or changes documentation label Mar 11, 2025
@github-actions github-actions bot added 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. labels Mar 11, 2025
@MattSturgeon MattSturgeon added 8.has: package (update) This PR updates a package to a newer version 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. labels Mar 11, 2025
@l0b0
Copy link
Contributor

l0b0 commented Mar 11, 2025

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 388999


x86_64-linux

⏩ 1 package blacklisted:
  • tests.nixos-functions.nixos-test
✅ 3 packages built:
  • nexusmods-app
  • nexusmods-app-unfree
  • nixpkgs-manual

@MattSturgeon

This comment was marked as outdated.

@MattSturgeon
Copy link
Contributor Author

I think I'll remove the passthru tests. Probably as part of this PR.

Due to Nexus-Mods/NexusMods.App#2179, (+ its duplicate), and also Nexus-Mods/NexusMods.App#2840 it is not currently feasible to run any of the app's CLI commands within a sandboxed environment without network access.

I think this has gotten worse in recent versions, Nexus-Mods/NexusMods.App#2840 may be new to v0.8 afaict.

Currently all these tests do is make the ofborg CI fail.

I appreciate the CLI is not the highest priority for a GUI app, and its model of having one main process and the CLI either needing to start that process or attach to it depending on a) what the command needs to do and b) whether a main process is already running is difficult to get right. But hopefully this will improve in future versions.

We can always add these tests back again once it is possible to run the CLI commands without network access.

It may also be possible to download a pinned version of whatever the app is attempting to download, and copy it into the app's cache before running the tests. But this seems unnecessarily complex.

@MattSturgeon MattSturgeon force-pushed the nexus-0.8 branch 5 times, most recently from 183ef2d to a0f0be0 Compare March 12, 2025 12:44
@MattSturgeon MattSturgeon changed the title nexusmods-app: 0.7.3 -> 0.8.0 nexusmods-app: 0.7.3 -> 0.8.2 Mar 17, 2025
@MattSturgeon MattSturgeon marked this pull request as ready for review March 17, 2025 15:22
@MattSturgeon
Copy link
Contributor Author

MattSturgeon commented Mar 17, 2025

0.8.2 is released, so I've un-drafted.

Incidentally, the update script was failing with a non-zero exit code. IDK if that's related to #388989 or just because fetch-deps was a no-op when bumping from 0.8.0 to 0.8.2.

nix-shell maintainers/scripts/update.nix --argstr package nexusmods-app

I didn't look into it in too much detail, the update script was able to bump the version & hash before exiting and I was able to manually build/run fetch-deps.

EDIT: in hindsight I was probably running into #389194.
EDIT2: yes, after rebasing the update script works fine

@MattSturgeon MattSturgeon force-pushed the nexus-0.8 branch 2 times, most recently from de0d613 to 4dfc9b2 Compare March 17, 2025 16:14
These tests currently do not work, due to issues running the app's CLI
in a nix build environment:
- The CLI always starts or connects to an existing main app process
- The main app process requires network access (or cached files)
- The main app process (usually?) requires a display
@MattSturgeon

This comment was marked as outdated.

@MattSturgeon

This comment was marked as resolved.

Bumping StrawberryShake allows us to drop the dependency on .NET 8
runtime.

See upstream PR Nexus-Mods/NexusMods.App#2830
@MattSturgeon
Copy link
Contributor Author

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 388999


x86_64-linux

⏩ 1 package blacklisted:
  • tests.nixos-functions.nixos-test
✅ 3 packages built:
  • nexusmods-app
  • nexusmods-app-unfree
  • nixpkgs-manual

@MattSturgeon MattSturgeon requested a review from khaneliman March 17, 2025 23:32
@khaneliman
Copy link
Contributor

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 388999


x86_64-linux

⏩ 1 package blacklisted:
  • tests.nixos-functions.nixos-test
✅ 3 packages built:
  • nexusmods-app
  • nexusmods-app-unfree
  • nixpkgs-manual

aarch64-linux

⏩ 1 package blacklisted:
  • tests.nixos-functions.nixos-test
✅ 3 packages built:
  • nexusmods-app
  • nexusmods-app-unfree
  • nixpkgs-manual

x86_64-darwin

✅ 1 package built:
  • nixpkgs-manual

aarch64-darwin

✅ 1 package built:
  • nixpkgs-manual

Copy link
Contributor

@khaneliman khaneliman left a comment

Choose a reason for hiding this comment

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

Changes look good and tested functionality.

@khaneliman khaneliman merged commit e4c32ff into NixOS:master Mar 18, 2025
59 checks passed
@MattSturgeon MattSturgeon deleted the nexus-0.8 branch March 18, 2025 15:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

8.has: documentation This PR adds or changes documentation 8.has: package (update) This PR updates a package to a newer version 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. 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.

3 participants