{
description = "tilth — tree-sitter indexed lookups — smart code reading for AI agents";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
outputs =
{ self, nixpkgs }:
let
inherit (nixpkgs) lib;
forAllSystems =
f:
lib.genAttrs [
"aarch64-darwin"
"aarch64-linux"
"x86_64-darwin"
"x86_64-linux"
] (system: f system nixpkgs.legacyPackages.${system});
cargoToml = lib.importTOML ./Cargo.toml;
in
{
packages = forAllSystems (
system: pkgs: {
default = pkgs.rustPlatform.buildRustPackage {
pname = cargoToml.package.name;
inherit (cargoToml.package) version;
src = ./.;
cargoLock.lockFile = ./Cargo.lock;
meta = {
inherit (cargoToml.package) description;
homepage = "https://github.com/jahala/tilth";
license = lib.licenses.mit;
mainProgram = "tilth";
};
};
}
);
apps = forAllSystems (
system: _: {
default = {
type = "app";
program = lib.getExe self.packages.${system}.default;
};
}
);
devShells = forAllSystems (
system: pkgs: {
default = pkgs.mkShell {
inputsFrom = [ self.packages.${system}.default ];
};
}
);
};
}