setup-environment

Scaffold and repair research project environments using pixi, rv, renv, and direnv.

Updated Sep 11, 2026
One-click install
npx skills add https://github.com/cameronbracken/waterology-research --skill setup-environment-cameronbracken
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: setup-environment
Source: https://github.com/cameronbracken/waterology-research/tree/main/skills/setup-environment
Command: npx skills add https://github.com/cameronbracken/waterology-research --skill setup-environment-cameronbracken

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Setting up or fixing a reproducible research environment is error-prone: wrong package managers, broken shebangs after moving machines, mixed R package tools, and missing system dependencies all cause lost debugging time. This Skill guides the creation and repair of project environments for Python, R, and mixed-language research projects. ## Core Features & Use Cases - Tool selection guidance: Chooses pixi for system/compiled dependencies, uv for pure-Python projects, and rv or renv for R packages without mixing them. - Pixi scaffolding: Initializes pixi.toml with channels, platforms, tasks, lockfile commits, and feature environments for conflicting dependency versions. - Pitfall prevention: Documents real failure modes such as deno_task_shell dollar expansion in R one-liners, non-relocatable copied pixi environments, and stale path dependencies requiring pixi reinstall. - Use Case: When moving a mixed Python/R project to a new machine, use this Skill to rebuild the environment from the lockfile with pixi install, sync R packages with rv sync, and verify tests pass from a clean checkout. ## Quick Start Set up a pixi-based environment for my research project with Python 3.12, pytest, and a committed lockfile.

Frequently Asked Questions about setup-environment

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

FAQPage Schema
How do I set up a pixi environment for a research project?▼

Run pixi init, then edit pixi.toml to declare channels, target platforms, dependencies, and one task per verb such as test or render. Add .pixi/ to .gitignore, run pixi install to solve and write pixi.lock, and commit the lockfile.

Should I use pixi or uv for a Python project?▼

Use pixi for anything with system or compiled dependencies like CmdStan, GDAL, gfortran, quarto, or pandoc, and for mixed-language projects. Use uv only for pure Python projects with PyPI-only dependencies.

What is the difference between rv and renv for R packages?▼

rv uses rproject.toml with rv sync and writes rv.lock, and is used in newer projects, while renv appears in older ones. Never mix the two; check .Rprofile to see which is active in a given project.

Why does my copied pixi environment break on a new machine?▼

A copied pixi environment is not relocatable because console-script shebangs keep the old machine's absolute python path and compiled wheels may link missing libraries. Run pixi install from the committed lockfile instead of copying .pixi/.

Why do R one-liners fail inside pixi tasks?▼

Pixi tasks run under deno_task_shell, which expands $var even inside single quotes, breaking R syntax like .Platform$path.sep. Write .Platform[["path.sep"]] instead to avoid dollar signs entirely.

How do I handle conflicting dependency versions in pixi?▼

Isolate tools with conflicting pins, such as different torch versions, in feature environments declared in pixi.toml while keeping the default environment minimal. Run them with pixi run -e <feature> <task>.