nix-packaging
Monorepo conventions and gotchas for adding packages to TaysiTsuki's Nix overlay.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Monorepo conventions and gotchas for adding packages to TaysiTsuki's Nix overlay.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional 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.