guix-rust-package

Automate Guix Rust package creation from a checked-out Git source.

10|13|Updated Jul 18, 2021
One-click install
npx skills add https://github.com/genenetwork/gn-gemtext-threads --skill guix-rust-package
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: guix-rust-package
Source: https://github.com/genenetwork/gn-gemtext-threads/tree/main/topics/ai/skills/guix-rust-package
Command: npx skills add https://github.com/genenetwork/gn-gemtext-threads --skill guix-rust-package

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Guix Rust packaging workflows are often manual and error-prone when converting a checked-out Rust/Cargo project into a Guix package. This skill provides a guided, end-to-end approach to import crates, resolve dependencies, and generate the rust-package.scm definitions required by Guix packaging workflows.

Core Features & Use Cases

  • Load and validate the guix-packaging skill to lay the groundwork for Rust packaging.
  • Use the cargo-based importer (guix import crate -f Cargo.lock PACKAGE) to resolve dependencies and generate crate sources.
  • Ignore generated artifacts (such as target/, Cargo.lock, and *.rs.bk files) and produce rust-package.scm definitions suitable for Guix.
  • Reference existing helpers in factory/guix-gnu/ rust-crates.scm and rust-apps.scm to align with Guix conventions.
  • Provide a deterministic, end-to-end workflow from git checkout to final package build with validation and reporting.

Quick Start

Run the workflow to import a Rust crate from a checked-out git source into Guix using guix import crate -f Cargo.lock PACKAGE and verify the results with guix gc --references PACKAGE.

Frequently Asked Questions about guix-rust-package

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a Guix package definition from a Rust Cargo project?

To create a Guix package from a Rust project, use a deterministic workflow that runs guix import crate -f Cargo.lock PACKAGE to resolve dependencies and generate the necessary rust-package.scm definitions.

What is the best way to resolve Rust crate dependencies when packaging for Guix?

Resolving Rust crate dependencies for Guix is handled by the cargo-based importer, which uses the Cargo.lock file to accurately map and generate the required crate sources for the package.

Do I need to manually clean build artifacts before importing a Rust crate into Guix?

You do not need to manually clean build artifacts before importing a Rust crate into Guix, as the workflow automatically ignores generated files like target/, Cargo.lock, and *.rs.bk.

How do I validate a generated Guix Rust package after importing it?

To validate a generated Guix Rust package, run guix gc --references PACKAGE to verify the final package build and ensure all resolved dependencies are correctly referenced.

Can I use existing Guix helpers when generating Rust package definitions?

You can reference existing helpers in factory/guix-gnu/ such as rust-crates.scm and rust-apps.scm to align your generated rust-package.scm definitions with standard Guix packaging conventions.