nix-packaging
Monorepo conventions and gotchas for adding packages to TaysiTsuki's Nix overlay.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Monorepo conventions and gotchas for adding packages to TaysiTsuki's Nix overlay.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Extract and compile a writing-style prompt (narrator setup + constraints + exemplars) from sample writings.
润色 LLM 生成的中文。审阅或改进 LLM 输出的中文时用。
Review and refactor frontend code (components + CSS) for layout decay and dead code. Use when reviewing a change, cleaning up CSS, or refactoring components.
Detect and remove AI-writing patterns from prose. Use when the user wants English text to sound human-written.
Back up pictures referenced by URL in SillyTavern / chara_card_v2 character card PNGs. Use when the user has a .png character card and wants to inspect it, list, or download the pictures its first messages link to. Use ONLY for SillyTavern character cards, not arbitrary images.
| name | nix-packaging |
| description | Monorepo conventions and gotchas for adding packages to TaysiTsuki's Nix overlay. |
Use when adding or updating a package in packages/.
packages/<name>/package.nix. packages/default.nix discovers them automatically; do not register them there.packages/tsuki.nix so CI builds/updates it.tsuki.rust for Rust, existing Go builders for Go).= alignment, module-level with, let/in for locals.A generic package:
{
lib, stdenv, fetchFromGitHub,
# other deps
}:
stdenv.mkDerivation rec {
pname = "example";
version = "1.0.0";
src = fetchFromGitHub {
owner = "..."; repo = "..."; tag = "v${version}";
hash = "sha256-...";
};
meta.mainProgram = "example";
}
A Rust package uses tsuki.rust.buildRustPackage and usually needs cargoHash (or cargoLock) plus tsuki.rust.bindgenHook when vendored C libraries are involved.
Its maintenance entry:
{ attr = tsuki "example"; group = gs.rust_1; update = {}; }
git added before Nix sees them. The flake uses git+file://; untracked files are invisible to nix build/nix run.cargoHash placeholder trick. For Rust packages, start from sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= and copy the "got:" hash from the build error.clang + mold in .cargo/config.toml. Strip or override it if linking fails with "cannot find 'ld'".tsuki.rust.bindgenHook. If a vendored C dependency panics on "Unable to find libclang", add it.nix-prefetch-url --unpack returns base32; convert with nix-hash --to-sri --type sha256 ... before pasting into hash.Avoid nix flake show and nixos-rebuild unless explicitly requested.