원클릭으로
maintain
Run periodic maintenance on the NixOS config. Checks for stale package overrides, dead code, and TODO/FIXME comments.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Run periodic maintenance on the NixOS config. Checks for stale package overrides, dead code, and TODO/FIXME comments.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Set up a Nix flake project with devShell, package build, and git-hooks. Use when the user wants to create a new Nix project from scratch, add a flake.nix to an existing source repo that does not use Nix, or otherwise set up a Nix development environment.
Add a new language module under modules/home-manager/languages/. Use when the user wants to add support for a new programming language to their home-manager config (editor integration, LSP, formatter, linter, global tooling).
| name | maintain |
| description | Run periodic maintenance on the NixOS config. Checks for stale package overrides, dead code, and TODO/FIXME comments. |
| disable-model-invocation | true |
Run periodic maintenance on this NixOS configuration. Work through each section below, report findings, then ask which items to act on before making changes.
Run nix flake update to update flake.lock, then nix flake check to verify. Commit as Update flake.lock if successful. If the check fails, investigate which input caused the breakage — try updating inputs individually with nix flake lock --update-input <input-name> to isolate the problem.
Run nix flake check 2>&1 and look for deprecation warnings (lines containing warning:, deprecated, is renamed to, evaluation warning, etc.) in the output. For each warning:
Enumerate the overrides currently in overlay/default.nix. For each one, determine its type and check accordingly:
nix eval --raw 'nixpkgs#<attr-path>.version') and to the upstream source (PyPI, GitHub releases). If nixpkgs has caught up, the override can be removed; if upstream is ahead, it can be bumped.nix eval --raw 'nixpkgs#<attr-path>.version'). If so, the custom definition can be removed.Enumerate the packages under packages/servers/home-assistant/ (don't rely on a hardcoded list). For each, find the upstream repo (usually in a src = fetchFromGitHub { ... } block) and check the latest release:
gh release list --repo <owner>/<repo> --limit 1
gh repo view <owner>/<repo> --json isArchived,pushedAt
Compare to the version pinned in the corresponding .nix file. Flag any that are behind, archived, or inactive.
Look for workarounds anywhere in the tree and flag any whose upstream tracking issue may have been resolved. Typical patterns to watch for:
mkForce overrides with a comment referencing a bug (check whether the bug is still open).patches = [ ./foo.patch ]) — check whether the patched-around issue has been fixed upstream.Search for potentially unused overlay entries and modules:
overlay/default.nix, check if it's referenced in any module, host config, or in ~/projects/nixos-config-private/.tools.*.enable, etc.), check if any host or profile actually enables it.grep -rn 'TODO\|FIXME\|HACK\|XXX' --include='*.nix' .
For each match, determine if the upstream issue has been resolved. Provide links to the relevant issues/PRs where possible.
When a version bump is on the table (sections 3 and 4), skim the upstream changelog and commit log between the pinned version and the proposed version. A full audit is impractical — the goal is a quick smell test, not a security review. Flag anything that looks off.
Supply-chain smell signals:
eval/exec-style dynamic execution.Breakage signals:
Apply more scrutiny to less-active, single-maintainer, or otherwise lower-trust repositories. Surface any findings in the report and let the user decide whether to proceed.
Present findings as a structured report with clear categories:
Then ask the user which items to proceed with before making any changes.
<package-path>: <old> -> <new>nix store prefetch-file or nix-prefetch-git for new hashespackage-lock.json and npmDepsHashnix flake check after all changes to validatenixfmt