Skip to content

feat: add man page support to pixi global #4133

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

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 <[email protected]>
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 <[email protected]>
@baszalmstra baszalmstra requested a review from Hofer-Julian July 14, 2025 07:14
@baszalmstra baszalmstra added the enhancement Feature request 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Feature request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Install man pages with pixi global
3 participants