← ClaudeAtlas

writer-functionlisted

Nix writer functions (writeShellApplication, writeText, etc.) for generating scripts, text files, and data. Use when creating derivations that produce scripts or configuration files.
ncaq/konoka · ★ 3 · Data & Documents · score 72
Install: claude install-skill ncaq/konoka
# Nixのwriter系関数 ファイルやスクリプトを生成するderivationを作るための関数群です。 ## 無印と`Bin`サフィックスの違い 多くのwriter関数には無印版と`Bin`サフィックス版があります。 ### 無印(`writeShellScript`等) `$out`がファイルそのもの。 `${myScript}`でバイナリパスを直接参照できる。 ### `Bin`(`writeShellScriptBin`等): `$out/bin/<name>`にファイルを出力し`meta.mainProgram`を設定する。 `lib.getExe myPkg`や`${myPkg}/bin/<name>`でパスを得る。 `lib.getExe`の使用を推奨します。 ファイルそのものではないので、 `environment.systemPackages`や`runtimeInputs`に入れて`$PATH`に載せられます。 `writeShellApplication`は名前に`Bin`が付いていませんが`$out/bin/<name>`に出力するため`Bin`系と同じ構造です。 ## trivial-builders (`pkgs.*`) [nixpkgs/pkgs/build-support/trivial-builders/default.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/trivial-builders/default.nix) に定義されています。 ### テキスト系 - `writeTextFile`: 全テキスト系writerの基盤関数 - `writeText name text`: テキストファイルを生成 - `writeTextDir path text`: ディレクトリ構造付きでテキストファイルを生成 ### 汎用スクリプト系 - `writeScript name text` / `writeScriptBin name text`: 実行可能スクリプト、シバンは手動で記述する ### シェルスクリプト系 - `writeShellScript name text` / `writeShellScriptBin name text`: シバン自動付与、構文チェックあり - `writeShellApplication`: シェルスクリプト用の最高機能writer ### その他 - `writeCBin pname code`: Cソースをコンパイルしてバイナリを生成 - `concatTextFile`: 複数ファイルを連結 - `concatText name files`: `concatTextFile`のラッパー - `concatScript name files`: 実行可能な連結ファイルを生成 - `writeClosure paths`: ランタイム依存クロージャのパス一覧を書き出す - `writeDirectReferencesToFile path`: 直接参照のパス一覧を書き出す - `writeStringReferencesToFile string`: 文字列コンテキストの依存パスを書き出す ## writers (`pkgs.writers.*`) [nixpkgs/pkgs/build-support/writers/scripts