8000 feat(parsers): add Nix, Guix and Spack parsers (Phase 2.1) by devin-ai-integration[bot] · Pull Request #105 · dominicusin/package-maximizer · GitHub
[go: up one dir, main page]

Skip to content

feat(parsers): add Nix, Guix and Spack parsers (Phase 2.1) - #105

Merged
dominicusin merged 3 commits into
mainfrom
devin/1791932825-nix-guix-spack-parsers
Oct 13, 2026
Merged

dominicusin merged 3 commits into
mainfrom
devin/1791932825-nix-guix-spack-parsers

Conversation

@devin-ai-integration
Copy link
Copy Markdown
Contributor

Summary

Adds the three high-priority managers from PROJECT_PLAN.md §2.1. Registry grows from 22 to 25.

  • NixParser: handles nix-env -q (hello-2.12.1), nix profile list in both the new Name:/Store paths: format and the legacy one-line format, and nix profile list --json (elements as a dict or a list). Name/version are split the way Nix builtins.parseDrvName does it: the version starts at the first - followed by a non-letter, so python3.11-numpy-1.26.4 → (python3.11-numpy, 1.26.4).
  • GuixParser: handles guix package --list-installed / --list-available (tab columns). Rows with a /gnu/store/ path get status installed; all other rows get candidate.
  • SpackParser: handles spack find text output, including the -l hash prefix, -v variants, @= versions, and skips -- / ==> lines and %compiler tokens. Also handles spack find --json, filling depends from dependencies (list or dict form).
  • Registered in _PARSER_SPECS / _PUBLIC_PARSER_NAMES and in PackageManagerType. Updated the CLI --manager help, README and PROJECT_PLAN §2.1.
  • README: removed Conan from the manager list, since the codebase has no Conan parser. That entry was why the README listed 23 managers while the registry had 22.
  • New tests/test_parsers_nix_guix_spack.py, plus a check that PackageManagerType and PARSER_REGISTRY contain the same names.

Note: on Python 3.12, TestPulPSolverAvailable::test_pulp_available_true_when_imported fails on main too. CI installs PuLP 4.0, which removed LpStatus. #103 fixes this.

Checks

  • make test passes (869 passed, 2 skipped, Python 3.10)
  • flake8 critical check passes
  • docs updated if behavior changed (README, PROJECT_PLAN)

Link to Devin session: https://app.devin.ai/sessions/7a195999dfd146d48fbc98f4bab6707a
Open in Devin Desktop: https://app.devin.ai/desktop/session/7a195999dfd146d48fbc98f4bab6707a?variant=devin
Requested by: @dominicusin

Co-Authored-By: dominicusin <dominicusin@yahoo.com>
@devin-ai-integration
Copy link
Copy Markdown
Contributor Author

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

@coderabbitai
coderabbitai Bot commented Oct 13, 2026 •
Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: d2c1784c-4074-48b6-9dd8-3693a80d9923

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@read-the-docs-community
read-the-docs-community Bot commented Oct 13, 2026 •
Copy link
Copy Markdown

Documentation build overview

📚 package-maximizer | 🛠️ Build #35130456 | 📁 Comparing 921a2dc against latest (5c4d3f0)

  🔍 Preview build  

2 files changed
± _modules/package_maximizer/parsers.html
± _modules/package_maximizer/tui/app.html

@dominicusin
dominicusin enabled auto-merge (squash) October 13, 2026 23:25
@dominicusin
dominicusin merged commit 61e642a into main Oct 13, 2026
16 checks passed
@dominicusin
dominicusin deleted the devin/1791932825-nix-guix-spack-parsers branch October 13, 2026 23:28
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

0