Skip to content

fix(jupiter): set jovian.steam.desktopSession to gamescope-wayland#1719

Merged
johnae merged 1 commit into
mainfrom
push-owulzlkwxqqr
May 2, 2026
Merged

fix(jupiter): set jovian.steam.desktopSession to gamescope-wayland#1719
johnae merged 1 commit into
mainfrom
push-owulzlkwxqqr

Conversation

@johnae
Copy link
Copy Markdown
Owner

@johnae johnae commented May 2, 2026

Summary

  • world upgrade on jupiter fails to evaluate because jovian.steam.desktopSession is null while autoStart = true. The jovian autostart module interpolates ${cfg.desktopSession} into a systemd ExecStart string, triggering cannot coerce null to a string.
  • Set it to "gamescope-wayland" to keep current behavior (matches the in-tree warning's recommendation).

Test plan

  • nix eval .#nixosConfigurations.jupiter.config.system.build.toplevel.drvPath succeeds locally
  • world upgrade on jupiter once merged

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented May 2, 2026

Claude finished @johnae's task —— View job


PR Review: Fix jovian.steam.desktopSession Configuration

Todo List

  • Read the changed file to understand the fix
  • Analyze the code change in context
  • Review for code quality and best practices
  • Check for potential bugs or issues
  • Consider performance implications
  • Assess security concerns
  • Evaluate test coverage
  • Provide comprehensive review feedback

Review Summary

The fix is correct and necessary. This one-line change properly addresses the null coercion error by explicitly setting jovian.steam.desktopSession to "gamescope-wayland".

Code Quality and Best Practices

Positive aspects:

  • The fix is minimal and targeted, changing only what's necessary
  • The value "gamescope-wayland" aligns with the Jovian NixOS module's recommended default for Steam Deck-like devices
  • The configuration maintains consistency with the existing Jovian Steam setup

Suggestions:

  • Consider documenting why this specific desktop session is chosen (e.g., add a comment explaining it's the recommended default for gaming-focused setups)

Potential Bugs or Issues

No bugs identified. The fix correctly resolves the null interpolation issue that was breaking the systemd service configuration.

The error occurred because:

  1. jovian.steam.autoStart = true enables the auto-start systemd service
  2. The service's ExecStart line interpolates ${cfg.desktopSession}
  3. Without an explicit value, desktopSession defaults to null, causing the "cannot coerce null to a string" error

Performance Considerations

No performance impact. This is a configuration value that determines which desktop session to launch. The choice of gamescope-wayland is appropriate for a gaming-focused system as it provides:

  • Better performance for gaming workloads
  • Wayland compatibility
  • Steam Deck-like experience

Security Concerns

No security issues identified. The configuration change:

  • Uses a standard, well-tested desktop session
  • Doesn't introduce any privilege escalation
  • Maintains the existing security boundaries

Test Coverage

Current testing:

  • ✅ Local evaluation passes: nix eval .#nixosConfigurations.jupiter.config.system.build.toplevel.drvPath
  • ⏳ Actual deployment test pending after merge

Recommendations:

  • The test plan is appropriate for this change
  • Consider adding this configuration requirement to any existing Jovian setup documentation to prevent similar issues in the future

Conclusion

This is a well-targeted, necessary fix that resolves a blocking evaluation error. The chosen value is appropriate for the gaming-focused nature of the Jupiter system configuration. The PR should be merged to unblock world upgrade operations on the jupiter host.

@johnae johnae merged commit 37273ee into main May 2, 2026
2 of 4 checks passed
@johnae johnae deleted the push-owulzlkwxqqr branch May 2, 2026 14:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant