Skip to content

feat: add man page support to pixi global#4133

Closed
asmeurer wants to merge 2 commits intoprefix-dev:mainfrom
asmeurer:manpages
Closed

feat: add man page support to pixi global#4133
asmeurer wants to merge 2 commits intoprefix-dev:mainfrom
asmeurer:manpages

Conversation

@asmeurer
Copy link

Add automatic man page symlinking for pixi global commands following the same pattern as completions. Man pages are discovered from package environments and symlinked to ~/.pixi/share/man when commands are exposed, and removed when commands are no longer exposed.

Key features:

  • Only symlinks man pages for commands exposed in ~/.pixi/bin
  • Supports standard man page sections (man1, man3, man5, man8) with priority ordering
  • Automatic cleanup of broken symlinks during sync operations
  • Unix-only implementation with graceful fallback on other platforms
  • Comprehensive test coverage including unit and integration tests

Resolves #4131

🤖 Generated with Claude Code

asmeurer and others added 2 commits July 13, 2025 11:48
Add automatic man page symlinking for pixi global commands following the same pattern as completions. Man pages are discovered from package environments and symlinked to ~/.pixi/share/man when commands are exposed, and removed when commands are no longer exposed.

Key features:
- Only symlinks man pages for commands exposed in ~/.pixi/bin
- Supports standard man page sections (man1, man3, man5, man8) with priority ordering
- Automatic cleanup of broken symlinks during sync operations
- Unix-only implementation with graceful fallback on other platforms
- Comprehensive test coverage including unit and integration tests

Resolves prefix-dev#4131

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Fix CI failures by properly conditionalizing man page sync calls for Unix-only systems. This ensures Windows compilation succeeds while maintaining full functionality on Unix platforms.

Changes:
- Add #[cfg(unix)] guards around sync_man_pages() calls
- Fix integration test fixture name (default_channel_1 -> dummy_channel_1)
- Ensure graceful fallback on non-Unix systems

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@baszalmstra baszalmstra requested a review from Hofer-Julian July 14, 2025 07:14
@baszalmstra baszalmstra added the enhancement New features label Jul 14, 2025
@Hofer-Julian
Copy link
Contributor

@asmeurer thanks for your contribution.

While we don't mind the usage of AI for contributions, please take extra care when reviewing them.
Please also make sure that you try it out locally and ensure that the tests work 🙂

@Hofer-Julian Hofer-Julian marked this pull request as draft July 14, 2025 08:12
@lucascolley lucascolley added the area:global Related to pixi global label Jul 21, 2025
@Hofer-Julian Hofer-Julian removed their request for review September 11, 2025 08:03
@OndrejMarsalek
Copy link

Is there a plan to finish and merge this? It would be a very helpful feature.

@ruben-arts
Copy link
Contributor

@OndrejMarsalek This PR needs some more work and we've not found the time/priorty to work on it. Contributions are welcome. I'll close this PR as stale and the conflict being to big for now.

@ruben-arts ruben-arts closed this Jan 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:global Related to pixi global enhancement New features

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Install man pages with pixi global

6 participants