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.