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 职业分类
Detect and rewrite "rhetoric idling" (修辞空转) in LLM-generated prose--sentences that read like good writing but are semantically empty or wrong. Use when reviewing LLM-generated prose.
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.
Exract and compile write style from writings.
| 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.