121 lines
3.3 KiB
Nix
121 lines
3.3 KiB
Nix
{inputs, ...}: let
|
|
overlays = [
|
|
# himalaya
|
|
(final: prev: {
|
|
himalaya = inputs.himalaya.packages.${prev.stdenv.hostPlatform.system}.default;
|
|
})
|
|
# ast-grep (test_scan_invalid_rule_id fails on darwin in sandbox)
|
|
(final: prev: {
|
|
ast-grep =
|
|
prev.ast-grep.overrideAttrs (old: {
|
|
doCheck = false;
|
|
});
|
|
})
|
|
# jj-ryu
|
|
(final: prev: let
|
|
naersk-lib = prev.callPackage inputs.naersk {};
|
|
manifest = (prev.lib.importTOML "${inputs.jj-ryu}/Cargo.toml").package;
|
|
in {
|
|
jj-ryu =
|
|
naersk-lib.buildPackage {
|
|
pname = manifest.name;
|
|
version = manifest.version;
|
|
src = inputs.jj-ryu;
|
|
nativeBuildInputs = [prev.pkg-config];
|
|
buildInputs = [prev.openssl];
|
|
OPENSSL_NO_VENDOR = 1;
|
|
doCheck = false;
|
|
};
|
|
})
|
|
|
|
# cog-cli
|
|
(final: prev: let
|
|
version = "0.21.0";
|
|
srcs = {
|
|
x86_64-linux =
|
|
prev.fetchurl {
|
|
url = "https://github.com/trycog/cog-cli/releases/download/v${version}/cog-linux-x86_64.tar.gz";
|
|
hash = "sha256-3+VygNnj9mEaAFDAJp1KvDOyGglec4MRBlejbcbp4rI=";
|
|
};
|
|
aarch64-darwin =
|
|
prev.fetchurl {
|
|
url = "https://github.com/trycog/cog-cli/releases/download/v${version}/cog-darwin-arm64.tar.gz";
|
|
hash = "sha256-kUihpA+kjrDt18t4nkLWW2yRzz76A0CvxE4NNaldLH4=";
|
|
};
|
|
};
|
|
in {
|
|
cog-cli =
|
|
prev.stdenvNoCC.mkDerivation {
|
|
pname = "cog-cli";
|
|
inherit version;
|
|
src =
|
|
srcs.${prev.stdenv.hostPlatform.system}
|
|
or (throw "Unsupported system for cog-cli: ${prev.stdenv.hostPlatform.system}");
|
|
|
|
dontUnpack = true;
|
|
dontConfigure = true;
|
|
dontBuild = true;
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
tar -xzf "$src"
|
|
install -Dm755 cog "$out/bin/cog"
|
|
runHook postInstall
|
|
'';
|
|
|
|
meta = with prev.lib; {
|
|
description = "Memory, code intelligence, and debugging for AI agents";
|
|
homepage = "https://github.com/trycog/cog-cli";
|
|
license = licenses.mit;
|
|
mainProgram = "cog";
|
|
platforms = builtins.attrNames srcs;
|
|
sourceProvenance = [sourceTypes.binaryNativeCode];
|
|
};
|
|
};
|
|
})
|
|
# pi-agent-stuff (mitsuhiko)
|
|
(final: prev: {
|
|
pi-agent-stuff =
|
|
prev.buildNpmPackage {
|
|
pname = "pi-agent-stuff";
|
|
version = "1.5.0";
|
|
src = inputs.pi-agent-stuff;
|
|
npmDepsHash = "sha256-pyXMNdlie8vAkhz2f3GUGT3CCYuwt+xkWnsijBajXIo=";
|
|
dontNpmBuild = true;
|
|
};
|
|
})
|
|
# pi-mcp-adapter
|
|
(final: prev: {
|
|
pi-mcp-adapter =
|
|
prev.buildNpmPackage {
|
|
pname = "pi-mcp-adapter";
|
|
version = "2.2.0";
|
|
src =
|
|
prev.fetchFromGitHub {
|
|
owner = "nicobailon";
|
|
repo = "pi-mcp-adapter";
|
|
rev = "v2.2.0";
|
|
hash = "sha256-E6Kf+OyTN/pF8pKADJO0B1+buAPqNcXnZl9ssZwSP8U=";
|
|
};
|
|
npmDepsHash = "sha256-myJ9h/zC/KDddt8NOVvJjjqbnkdEN4ZR+okCR5nu7hM=";
|
|
dontNpmBuild = true;
|
|
};
|
|
})
|
|
# jj-starship (passes through upstream overlay)
|
|
inputs.jj-starship.overlays.default
|
|
# zjstatus
|
|
(final: prev: {
|
|
zjstatus = inputs.zjstatus.packages.${prev.stdenv.hostPlatform.system}.default;
|
|
})
|
|
];
|
|
in {
|
|
den.default.nixos.nixpkgs.overlays = overlays;
|
|
den.default.darwin.nixpkgs.overlays = overlays;
|
|
|
|
flake.overlays.default = final: prev:
|
|
builtins.foldl' (
|
|
acc: overlay: acc // (overlay final (prev // acc))
|
|
) {}
|
|
overlays;
|
|
}
|