From 53b94eaffc1d28ffca6c83acea19fcffbf833ef3 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sun, 24 May 2026 14:06:45 -0500 Subject: [PATCH 1/2] kulala-core: init at 0.6.0 --- pkgs/by-name/ku/kulala-core/package.nix | 123 ++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 pkgs/by-name/ku/kulala-core/package.nix diff --git a/pkgs/by-name/ku/kulala-core/package.nix b/pkgs/by-name/ku/kulala-core/package.nix new file mode 100644 index 000000000000..87c47608983c --- /dev/null +++ b/pkgs/by-name/ku/kulala-core/package.nix @@ -0,0 +1,123 @@ +{ + lib, + stdenv, + bun, + curl, + fetchFromGitHub, + makeWrapper, + writableTmpDirAsHomeHook, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "kulala-core"; + version = "0.6.0"; + + strictDeps = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "mistweaverco"; + repo = "kulala-core"; + tag = "v${finalAttrs.version}"; + hash = "sha256-qEPJFd1/C9F8oyUTx3PMmRS9B8kdjQT9O0bfoalAJ/k="; + }; + + node_modules = stdenv.mkDerivation { + pname = "${finalAttrs.pname}-node_modules"; + inherit (finalAttrs) version src; + + strictDeps = true; + __structuredAttrs = true; + + nativeBuildInputs = [ + bun + writableTmpDirAsHomeHook + ]; + + dontConfigure = true; + + buildPhase = '' + runHook preBuild + + export BUN_INSTALL_CACHE_DIR=$(mktemp -d) + bun install \ + --cpu="*" \ + --frozen-lockfile \ + --ignore-scripts \ + --no-progress \ + --os="*" + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp -R node_modules $out/ + + runHook postInstall + ''; + + dontFixup = true; + + outputHash = "sha256-NjHm6KU6Cd0ZyL1c+bmNbEHb5E83/xjQ5UGRjY1hzgQ="; + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + }; + + nativeBuildInputs = [ + bun + makeWrapper + ]; + + dontConfigure = true; + + buildPhase = '' + runHook preBuild + + cp -R ${finalAttrs.node_modules}/node_modules . + echo '{ "version": "${finalAttrs.version}" }' > packages/core/version.json + bun build src/cli.ts \ + --define __KULALA_EMBED_CURL__=false \ + --target bun \ + --outfile dist/kulala-core.js \ + --cwd packages/core + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + install -Dm644 packages/core/dist/kulala-core.js $out/lib/kulala-core/kulala-core.js + makeWrapper ${lib.getExe bun} $out/bin/kulala-core \ + --add-flags $out/lib/kulala-core/kulala-core.js \ + --set KULALA_CURL_PATH ${lib.getExe curl} + + runHook postInstall + ''; + + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + + kulalaResponse=$( + printf '%s' '{"action":"from_curl","curl":"curl https://example.com"}' | \ + $out/bin/kulala-core + ) + [[ "$kulalaResponse" = *'"ok": true'* ]] + [[ "$kulalaResponse" = *'GET https://example.com'* ]] + + runHook postInstallCheck + ''; + + meta = { + description = "Core parser and runner for kulala.nvim"; + homepage = "https://github.com/mistweaverco/kulala-core"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ khaneliman ]; + mainProgram = "kulala-core"; + platforms = bun.meta.platforms; + }; +}) From 9de5595639e92dd2f40fd90ac0ed9377e52c0e88 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sun, 24 May 2026 14:06:59 -0500 Subject: [PATCH 2/2] vimPlugins.kulala-nvim: 5.3.4 -> 6.1.0 --- pkgs/applications/editors/vim/plugins/generated.nix | 6 +++--- pkgs/applications/editors/vim/plugins/overrides.nix | 6 ++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 5ede7ee51165..d6ecd3703a89 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -8348,12 +8348,12 @@ final: prev: { kulala-nvim = buildVimPlugin { pname = "kulala.nvim"; - version = "5.3.4"; + version = "6.1.0"; src = fetchFromGitHub { owner = "mistweaverco"; repo = "kulala.nvim"; - tag = "v5.3.4"; - hash = "sha256-yA7ooPASC59FuwzB2xZyG6LsXpHHQ+fqtE/4odEjGx4="; + tag = "v6.1.0"; + hash = "sha256-0wr4MdsKnS6qcmmhhRgPlSEhlyY64zQ+fArbjvdusOE="; fetchSubmodules = true; }; meta.homepage = "https://github.com/mistweaverco/kulala.nvim/"; diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index 59b70ef6eff9..741220112cef 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -28,6 +28,7 @@ htop, jq, khard, + kulala-core, languagetool, libgit2, llvmPackages, @@ -1950,16 +1951,17 @@ assertNoAdditions { in { dependencies = [ kulala-http-grammar ]; - buildInputs = [ curl ]; postPatch = '' substituteInPlace lua/kulala/config/defaults.lua \ - --replace-fail 'curl_path = "curl"' 'curl_path = "${lib.getExe curl}"' + --replace-fail 'path = nil' 'path = "${lib.getExe kulala-core}"' ''; nvimSkipModules = [ # Requires some extra work to get CLI working in nixpkgs "cli.kulala_cli" + # Legacy parser module; active parsing is handled by kulala-core + "kulala.parser.treesitter" ]; } );