Files
2026-04-07 10:26:04 -04:00

102 lines
3.0 KiB
Nix

{
description = "logos-dev-boost — AI-assisted development accelerator for the Logos modular application platform";
inputs = {
logos-nix.url = "github:logos-co/logos-nix";
nixpkgs.follows = "logos-nix/nixpkgs";
};
outputs = { self, nixpkgs, logos-nix }:
let
supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
in
{
packages = forAllSystems (system:
let
pkgs = nixpkgs.legacyPackages.${system};
nodejs = pkgs.nodejs_20;
in
{
default = pkgs.buildNpmPackage {
pname = "logos-dev-boost";
version = "0.1.0";
src = ./.;
npmDepsHash = "sha256-gYlu6L6CgYAa8c6xsCExogTcrn2bZVd7IropWQe+I8g=";
nativeBuildInputs = [ nodejs pkgs.makeWrapper ];
buildPhase = ''
runHook preBuild
npx tsc
runHook postBuild
'';
dontNpmPack = true;
installPhase = ''
runHook preInstall
mkdir -p $out/lib/logos-dev-boost
cp -r dist docs guidelines skills templates node_modules package.json $out/lib/logos-dev-boost/
mkdir -p $out/bin
makeWrapper ${nodejs}/bin/node $out/bin/logos-dev-boost \
--add-flags "$out/lib/logos-dev-boost/dist/installer/cli.js"
makeWrapper ${nodejs}/bin/node $out/bin/logos-dev-boost-mcp \
--add-flags "$out/lib/logos-dev-boost/dist/mcp-server/index.js"
runHook postInstall
'';
meta = with pkgs.lib; {
description = "AI-assisted development accelerator for the Logos modular application platform";
license = licenses.mit;
mainProgram = "logos-dev-boost";
};
};
docs = pkgs.runCommand "logos-dev-boost-docs" {} ''
mkdir -p $out
cp -r ${./docs} $out/docs
cp -r ${./guidelines} $out/guidelines
cp -r ${./skills} $out/skills
cp -r ${./templates} $out/templates
'';
}
);
apps = forAllSystems (system: {
default = {
type = "app";
program = "${self.packages.${system}.default}/bin/logos-dev-boost";
};
# Alias for `nix run .#app` (same as default)
app = {
type = "app";
program = "${self.packages.${system}.default}/bin/logos-dev-boost";
};
mcp-server = {
type = "app";
program = "${self.packages.${system}.default}/bin/logos-dev-boost-mcp";
};
});
devShells = forAllSystems (system:
let
pkgs = nixpkgs.legacyPackages.${system};
in
{
default = pkgs.mkShell {
buildInputs = [
pkgs.nodejs_20
pkgs.nodePackages.typescript
];
};
}
);
};
}