upgrade-pi

Pin pi-coding-agent to a newer upstream release in a NixOS flake overlay.

Updated Jul 4, 2025
One-click install
npx skills add https://github.com/milespossing/nixdots --skill upgrade-pi-milespossing
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: upgrade-pi
Source: https://github.com/milespossing/nixdots/tree/main/.agents/skills/upgrade-pi
Command: npx skills add https://github.com/milespossing/nixdots --skill upgrade-pi-milespossing

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? nixpkgs often lags behind upstream pi-coding-agent releases, leaving your NixOS flake stuck on an older version. This Skill walks through overriding the nixpkgs package with a fresh source and npmDeps hash so you can run the latest upstream release immediately. ## Core Features & Use Cases - Source hash prefetching: Computes the sha256 hash of the upstream GitHub release tarball with nix-prefetch-url and nix hash convert. - Overlay management: Updates or creates overlays/pi-coding-agent.nix overriding version, src, and npmDeps, and wires it into both overlay lists in flake.nix. - Fixed-output hash recovery: Uses the build's "hash mismatch" error to obtain the real npmDeps outputHash, then verifies with nix build and nix eval. - Use Case: When pi-coding-agent 0.79.4 ships upstream but nixos-unstable still has an older version, run this Skill to pin the new release in your flake and confirm the version eval matches. ## Quick Start Upgrade pi to version 0.79.4 in my nixos flake using the upgrade-pi skill.

Frequently Asked Questions about upgrade-pi

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

FAQPage Schema
How do I override a nixpkgs package version in a NixOS flake?▼

Create an overlay that uses overrideAttrs on the nixpkgs package with a new version and src from fetchFromGitHub, then wire the overlay into your flake's overlay lists. Build with nix build to verify the override applies.

How to get the sha256 hash of a GitHub release tarball in Nix?▼

Run nix-prefetch-url --unpack with the tarball URL, then pipe the result through nix hash convert --hash-algo sha256 to get the base64-encoded hash used in fetchFromGitHub.

Why does my Nix build fail with hash mismatch in fixed-output derivation?▼

This happens when the declared outputHash does not match the actual fetched content, which is expected after changing src. Copy the hash shown after "got:" in the error into your outputHash and rebuild.

Why can't Nix see my new overlay file in a flake?▼

Flakes evaluate the git tree, so untracked files are invisible to Nix. Run git add on the new file before building so it becomes part of the flake source.

When should I remove a version override overlay for a nixpkgs package?▼

Remove the overlay once nixos-unstable ships the version you pinned, since the override becomes redundant. Also delete its references in flake.nix to keep the configuration clean.