guix-configs-workflow

Diagnose and safely modify Guix Home dotfiles, shepherd services, and niri desktop configurations.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Editing dotfiles in a Guix Home repository does not take effect immediately because deployed files are read-only store symlinks, and naive edits, deletions, or service restarts silently fail or cause irreversible damage. This Skill encodes the verified workflows, invariants, and debugging protocols for working safely inside the Guix-configs repository. ## Core Features & Use Cases - Dotfiles deployment verification: Enforces the three-step change-source, run blue home, verify store hash workflow, including the rule that blue home must run from the repository root and that running shepherd daemons need manual herd restart. - Service and desktop debugging: Covers shepherd service diagnosis (cached PID traps, --replace self-kick loops, multiple home-shepherd instances), gpg-agent/pinentry absolute store path fixes, niri environment variable injection for IME, and Electron Wayland IME version-specific flags. - Safe editing and recovery protocols: Multi-line edit safety via python str.replace, worker delegation with baseline diffs, AGENTS.md regeneration via blue structor, GNU Stow two-tier deployment, and git history restoration of deleted dotfiles. - Use Case: When a user reports that fcitx input stopped working in an Electron app or that gpg asks for passwords in the TTY instead of pinentry-qt, this Skill provides the exact diagnostic commands and the verified fix path. ## Quick Start Diagnose why my gpg passphrase prompt falls back to TTY instead of pinentry-qt and fix the gpg-agent configuration using absolute store paths.

Frequently Asked Questions about guix-configs-workflow

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

FAQPage Schema
Why do my dotfiles changes not take effect after editing the source?▼

Guix Home deploys files as read-only store copies symlinked into your home directory, so editing the source alone changes nothing. You must run blue home from the repository root, then verify with md5sum or readlink that the store hash changed, and restart any running shepherd services.

How do I fix gpg asking for passwords in the TTY instead of pinentry-qt?▼

The gpg-agent daemon cannot resolve $HOME-relative paths in its config, so it falls back to TTY. Deploy gpg-agent.conf via home-files-service-type with computed-substitution-with-inputs using an absolute store path, run blue home, then gpgconf --reload gpg-agent.

Why does my Electron app have no input method on Wayland with fcitx5?▼

If niri environment variables are injected but fcitx5 shows focus:0, the Electron version likely needs explicit flags. Electron below version 41 requires --ozone-platform=wayland plus --enable-features=UseOzonePlatform, applied via a Nix commandLineArgs override or a .desktop file override.

Can the AI run guix system reconfigure or blue rebuild directly?▼

No. blue rebuild, guix system reconfigure, and guix home reconfigure are forbidden for the AI because sudo prompts hang the CLI. The AI may only run blue home for temporary deployment and blue structor for AGENTS.md regeneration; the user runs rebuilds.

How do I restore dotfiles that were deleted from the repository?▼

Find the deletion commit with git log --diff-filter=D, then use git archive on its parent commit to export the files to a temporary directory. Copy them into stow/<pkg>/ or dotfiles/immutable/<app>/, add a .stow-local-ignore for runtime artifacts, and refresh AGENTS.md trees with blue structor.

Why does herd restart not apply my new shepherd service definition?▼

blue home does not restart the running home-shepherd daemon, and multiple shepherd instances can coexist with old configurations. Check pgrep -af shepherd-for-home, kill stale daemons and orphaned service processes, then herd restart the service and verify with herd status.