build: package the kitchen CLI as a Nix flake
Add a flake-parts flake whose default package Bun-compiles the kitchen CLI into a self-contained native binary, built in the sandbox with dependencies vendored by bun2nix. Bun is pinned via a dedicated nixpkgs-bun input (Bun 1.3.13) that bun2nix follows, so nixpkgs can track unstable without moving the compile toolchain onto a release that emits empty binaries. bun2nix is both a flake input and an npm devDependency, and a postinstall hook keeps the checked-in bun.nix in sync with the lockfile.
This commit is contained in:
78
bun.nix
Normal file
78
bun.nix
Normal file
@@ -0,0 +1,78 @@
|
||||
# Autogenerated by `bun2nix`, editing manually is not recommended
|
||||
#
|
||||
# Set of Bun packages to install
|
||||
#
|
||||
# Consume this with `fetchBunDeps` (recommended)
|
||||
# or `pkgs.callPackage` if you wish to handle
|
||||
# it manually.
|
||||
{
|
||||
copyPathToStore,
|
||||
fetchFromGitHub,
|
||||
fetchgit,
|
||||
fetchurl,
|
||||
...
|
||||
}:
|
||||
{
|
||||
"@biomejs/biome@2.5.3" = fetchurl {
|
||||
url = "https://registry.npmjs.org/@biomejs/biome/-/biome-2.5.3.tgz";
|
||||
hash = "sha512-MrJswFdei9EfDwwUy2tQrPDpK0AO+RmMFvBoaaJ6ayBc3sUbHdCE+XG5N8vp+5So41ZupZJQm0roHFFhMGVD7A==";
|
||||
};
|
||||
"@biomejs/cli-darwin-arm64@2.5.3" = fetchurl {
|
||||
url = "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.5.3.tgz";
|
||||
hash = "sha512-QhYP9muVQ0nUO5zztFuPbEwi4+94sJWVjaZds9aMi1l/KNZBiUjdiSUrGHsTaMGDXrYl+r4AS2sUKfgH3w+V3g==";
|
||||
};
|
||||
"@biomejs/cli-darwin-x64@2.5.3" = fetchurl {
|
||||
url = "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.5.3.tgz";
|
||||
hash = "sha512-NC1Ss13UaW7QZX+y8j44bF7AP0jSJdBl6iRhe0MAkvaSqZy+mWg3GaXsrb+eSoHoGDBtaXWEbMVV0iVN2cZ7cQ==";
|
||||
};
|
||||
"@biomejs/cli-linux-arm64-musl@2.5.3" = fetchurl {
|
||||
url = "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.5.3.tgz";
|
||||
hash = "sha512-fccix0w6xp6csCXgxeC0dU/3ecgRQal0y+cv2SP9ajNlhe7Yrk2Ug7UDe2j9AT9ZDYitkXpvUKgZjjuoYeP4Vg==";
|
||||
};
|
||||
"@biomejs/cli-linux-arm64@2.5.3" = fetchurl {
|
||||
url = "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.5.3.tgz";
|
||||
hash = "sha512-ksx1KWeyYW18ILL04msF/J4ZBtBDN33znYK8Z/aNv/vlBVxL9/g3mGP+omgHJKy4+KWbK87vcmmpmurfNjSgiA==";
|
||||
};
|
||||
"@biomejs/cli-linux-x64-musl@2.5.3" = fetchurl {
|
||||
url = "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.5.3.tgz";
|
||||
hash = "sha512-O/yU9YKRUiHhmcjF2f38PSjseVk3G4VLWYc0G2HWpzdBVREV6G8IGWIVEFf7MFPfWIzNUIvPsEjeAZQIOgnLcQ==";
|
||||
};
|
||||
"@biomejs/cli-linux-x64@2.5.3" = fetchurl {
|
||||
url = "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.5.3.tgz";
|
||||
hash = "sha512-yMkJtilsgvILDcVkh187aVLTb64xYsrxYajx5kym+r1ULkO5HUOfu9AYKLGQbOVLwJtT2utNw7hhFNg+17mUYA==";
|
||||
};
|
||||
"@biomejs/cli-win32-arm64@2.5.3" = fetchurl {
|
||||
url = "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.5.3.tgz";
|
||||
hash = "sha512-cX5z+GYwRcqEok0AH3KSfQGgqYd0Nomfp6Fbe1uiTtELE38hdH2k842wQ9wLNaF/JJ7r4rjJQ4VR+ce+fRmQbw==";
|
||||
};
|
||||
"@biomejs/cli-win32-x64@2.5.3" = fetchurl {
|
||||
url = "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.5.3.tgz";
|
||||
hash = "sha512-ExSaJWi4/u6+GXCszlSKpWSjKNbDseAYqqkCznsCsZ/4uidZ/BEqsCc5/3ctlq6dfIubdIIRSVLC/PG9xPl70Q==";
|
||||
};
|
||||
"@kitchen-md/bin" = copyPathToStore ./packages/bin;
|
||||
"@kitchen-md/core" = copyPathToStore ./packages/core;
|
||||
"@types/node@26.1.1" = fetchurl {
|
||||
url = "https://registry.npmjs.org/@types/node/-/node-26.1.1.tgz";
|
||||
hash = "sha512-nxAkRSVkN1Y0JC1W8ky/fTfkGsMmcrRsbx+3XoZE+rMOX71kLYTV7fLXpqud1GpbpP5TuffXFqfX7fH2GgZREw==";
|
||||
};
|
||||
"bun-types@1.3.14" = fetchurl {
|
||||
url = "https://registry.npmjs.org/bun-types/-/bun-types-1.3.14.tgz";
|
||||
hash = "sha512-4N0ig0fEomHt5R0KCFWjovxow98rIoRwKolrYdCcknNwMekCXRnWEUvgu5soYV8QXtVsrUD8B95MBOZGPvr6KQ==";
|
||||
};
|
||||
"bun2nix@2.1.2" = fetchurl {
|
||||
url = "https://registry.npmjs.org/bun2nix/-/bun2nix-2.1.2.tgz";
|
||||
hash = "sha512-0wx6Ar5ccrz4aSD5prbShwymjDEXFh7Bucxs+YrpAMa67TnVB95Hv8FV3oaQEbtOx6QGgIAyOmap6Y3WCRqetg==";
|
||||
};
|
||||
"mri@1.2.0" = fetchurl {
|
||||
url = "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz";
|
||||
hash = "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==";
|
||||
};
|
||||
"sade@1.8.1" = fetchurl {
|
||||
url = "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz";
|
||||
hash = "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==";
|
||||
};
|
||||
"undici-types@8.3.0" = fetchurl {
|
||||
url = "https://registry.npmjs.org/undici-types/-/undici-types-8.3.0.tgz";
|
||||
hash = "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==";
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user