guix-system-debugging

Diagnose shepherd deadlocks and substitute proxy hangs during Guix system reconfigures.

2|Updated Jan 2, 2026
One-click install
npx skills add https://github.com/ShineBreaker/Guix-configs --skill guix-system-debugging-shinebreaker
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: guix-system-debugging
Source: https://github.com/ShineBreaker/Guix-configs/tree/main/dotfiles/mutable/agents/hermes/.local/share/hermes/skills/guix-configs/guix-system-debugging
Command: npx skills add https://github.com/ShineBreaker/Guix-configs --skill guix-system-debugging-shinebreaker

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? When blue rebuild or guix system reconfigure hangs after a channel update, it is hard to tell whether the cause is a shepherd control-fiber deadlock or a substitute proxy blackhole. This Skill provides a proven diagnostic playbook that distinguishes the two failure modes and gives copy-paste forensic commands plus recovery steps. ## Core Features & Use Cases - Deadlock vs. proxy discrimination: Identify shepherd 1.0.9 control-fiber deadlocks triggered by guix-daemon service restarts, and rule out mihomo proxy blackholes on substitute URLs using --no-substitutes tests and /proc/<pid>/environ inspection. - Forensic command set: Ready-to-run commands for process trees, proxy connection states (ss -tnp), herd responsiveness timing, and syslog evidence extraction. - Guix Home PATH drift repair: Locate surviving /gnu/store/*-profile directories and fix git: command not found after guix home reconfigures. - Use Case: After blue update bumps the guix package, your first rebuild freezes and every herd command hangs. Follow the playbook to confirm the shepherd deadlock via syslog, reboot to reset shepherd, then rebuild successfully. ## Quick Start Ask the agent to diagnose why my blue rebuild is hanging and whether it is a shepherd deadlock or a substitute proxy problem.

Frequently Asked Questions about guix-system-debugging

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

FAQPage Schema
Why does guix system reconfigure hang after a channel update?▼

When a channel bump changes the guix package, the first rebuild triggers upgrade-shepherd-services to restart guix-daemon, which deadlocks the shepherd 1.0.9 control fiber. Recovery requires interrupting, rebooting to reset shepherd, then rebuilding again.

How do I tell a shepherd deadlock from a substitute proxy problem?▼

Run guix with --no-substitutes; if it still hangs and syslog shows no new daemon restart, substitutes are excluded. Check syslog for 'Running value of service guix-daemon changed' and time herd status root—over 5 seconds indicates deadlock.

Why does curl succeed but guix substitute still hang behind a proxy?▼

The shell has no proxy variables while guix-daemon does, so a direct curl test cannot disprove the proxy path. Inspect the daemon's actual environment with cat /proc/<daemon-pid>/environ to see its http-proxy setting.

How do I fix git command not found inside a Guix Home container?▼

The ~/.guix-home/profile symlink points to a new store hash after reconfigure while PATH still references the old one. Locate the surviving profile with ls /gnu/store/*-profile/bin/git and export its bin directory into PATH.

Does blue home trigger the shepherd deadlock?▼

No. blue home never touches the system shepherd, so it is unaffected by the guix-daemon restart deadlock and can serve as a control comparison when diagnosing blue rebuild hangs.