From 9be7c716f8e47b06662b9c1dfe59bc5b70354a19 Mon Sep 17 00:00:00 2001 From: superherointj Date: Fri, 20 Mar 2026 15:19:54 -0300 Subject: [PATCH 1/2] openspec: init at 1.2.0 https://github.com/Fission-AI/OpenSpec/releases/tag/v1.2.0 --- pkgs/by-name/op/openspec/package.nix | 81 ++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 pkgs/by-name/op/openspec/package.nix diff --git a/pkgs/by-name/op/openspec/package.nix b/pkgs/by-name/op/openspec/package.nix new file mode 100644 index 000000000000..d4fed3d13cb9 --- /dev/null +++ b/pkgs/by-name/op/openspec/package.nix @@ -0,0 +1,81 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, + nodejs_20, + pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, + makeWrapper, + installShellFiles, + nix-update-script, +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "openspec"; + version = "1.2.0"; + + src = fetchFromGitHub { + owner = "Fission-AI"; + repo = "OpenSpec"; + tag = "v${finalAttrs.version}"; + hash = "sha256-DIMMOEVQ2FQj48WAF4S1IhxX5ChrFZll51CZ3bZNGHE="; + }; + + pnpmDeps = fetchPnpmDeps { + inherit (finalAttrs) pname version src; + pnpm = pnpm_9; + fetcherVersion = 3; + hash = "sha256-9s2kdvd7svK4hofnD66HkDc86WTQeayfF5y7L2dmjNg="; + }; + + nativeBuildInputs = [ + nodejs_20 + pnpmConfigHook + pnpm_9 + makeWrapper + installShellFiles + ]; + + buildPhase = '' + runHook preBuild + + pnpm run build + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin $out/lib/openspec + + substituteInPlace bin/openspec.js \ + --replace '#!/usr/bin/env node' '#!${nodejs_20}/bin/node' \ + --replace "../dist" "$out/lib/openspec/dist" + install -Dm755 bin/openspec.js $out/bin/openspec + + cp -r dist $out/lib/openspec/ + cp -r schemas $out/lib/openspec/ + cp package.json $out/lib/openspec/ + cp -r node_modules $out/lib/openspec/ + + runHook postInstall + ''; + + postInstall = lib.optionalString (stdenvNoCC.buildPlatform.canExecute stdenvNoCC.hostPlatform) '' + installShellCompletion --cmd openspec \ + --bash <($out/bin/openspec completion generate bash) \ + --fish <($out/bin/openspec completion generate fish) \ + --zsh <($out/bin/openspec completion generate zsh) + ''; + + meta = { + description = "AI-native system for spec-driven development"; + homepage = "https://github.com/Fission-AI/OpenSpec"; + license = lib.licenses.mit; + maintainers = [ ]; + platforms = lib.platforms.all; + mainProgram = "openspec"; + }; +}) From cbc94a732643a7d04e57e020f01df0bea632f01a Mon Sep 17 00:00:00 2001 From: superherointj Date: Fri, 20 Mar 2026 15:20:06 -0300 Subject: [PATCH 2/2] openspec: add superherointj as maintainer --- pkgs/by-name/op/openspec/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/op/openspec/package.nix b/pkgs/by-name/op/openspec/package.nix index d4fed3d13cb9..e72807f2b4c7 100644 --- a/pkgs/by-name/op/openspec/package.nix +++ b/pkgs/by-name/op/openspec/package.nix @@ -74,7 +74,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { description = "AI-native system for spec-driven development"; homepage = "https://github.com/Fission-AI/OpenSpec"; license = lib.licenses.mit; - maintainers = [ ]; + maintainers = with lib.maintainers; [ superherointj ]; platforms = lib.platforms.all; mainProgram = "openspec"; };