Skip to content

Commit decb783

Browse files
committed
add: dev environment greetings
1 parent 33df609 commit decb783

File tree

1 file changed

+51
-55
lines changed

1 file changed

+51
-55
lines changed

flake.nix

+51-55
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
2-
description = "Eliza - An extensible AI agent framework";
2+
description = "Eliza - AI Agents for Everyone";
33

44
inputs = {
5-
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
5+
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
66
flake-utils.url = "github:numtide/flake-utils";
77
};
88

@@ -14,67 +14,63 @@
1414
flake-utils.lib.eachDefaultSystem (
1515
system: let
1616
pkgs = nixpkgs.legacyPackages.${system};
17-
in {
18-
packages.default = pkgs.buildNpmPackage {
19-
pname = "eliza";
20-
version = "0.0.1";
21-
22-
src = ./.;
23-
24-
npmDepsHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
25-
26-
nativeBuildInputs = with pkgs; [
27-
nodejs_23
28-
python3
29-
pkg-config
30-
nodePackages.pnpm
31-
];
3217

18+
commonConfig = {
19+
version = "0.1.5-alpha.5";
20+
src = pkgs.fetchFromGitHub {
21+
owner = "ai16z";
22+
repo = "eliza";
23+
rev = "v0.1.5-alpha.5";
24+
hash = "sha256-DjeDUBuflP2wPrBuy0uzu4Jm3IhwBQrYe2KDLaigElM=";
25+
};
3326
buildInputs = with pkgs; [
34-
vips
35-
ffmpeg
27+
nodejs_23
28+
pnpm
3629
];
37-
38-
# Use pnpm instead of npm
39-
npmPackageManager = "pnpm";
40-
41-
# Generate package-lock.json for Nix build
42-
preBuildPhase = ''
43-
export HOME=$(mktemp -d)
44-
pnpm install --frozen-lockfile
45-
'';
46-
47-
buildPhase = ''
48-
pnpm run build
49-
'';
50-
51-
installPhase = ''
52-
mkdir -p $out/bin $out/lib
53-
cp -r packages/core/dist/* $out/lib/
54-
cat > $out/bin/eliza <<EOF
55-
#!/bin/sh
56-
exec ${pkgs.nodejs_23}/bin/node $out/lib/index.js "\$@"
57-
EOF
58-
chmod +x $out/bin/eliza
59-
'';
6030
};
61-
31+
in {
6232
devShell = pkgs.mkShell {
63-
buildInputs = with pkgs; [
64-
nodejs_23
65-
python3
66-
pkg-config
67-
nodePackages.pnpm
68-
vips
69-
ffmpeg
70-
nodePackages.typescript
71-
nodePackages.typescript-language-server
72-
];
73-
33+
buildInputs = commonConfig.buildInputs;
7434
shellHook = ''
75-
export PATH="$PWD/node_modules/.bin:$PATH"
35+
echo "🤖 Welcome to Eliza Development Environment 🚀"
36+
echo ""
37+
echo "Quick Start:"
38+
echo " pnpm i - Install dependencies (run after pulling new changes)"
39+
echo " pnpm build - Build all packages"
40+
echo " pnpm clean - Clean build artifacts (run if you encounter issues)"
41+
echo ""
42+
echo "For more information, visit: https://ai16z.github.io/eliza/"
43+
echo ""
7644
'';
7745
};
46+
47+
packages = {
48+
eliza = pkgs.stdenv.mkDerivation (commonConfig
49+
// {
50+
pname = "eliza";
51+
buildPhase = ''
52+
# Install dependencies and build the project
53+
pnpm i
54+
pnpm build
55+
'';
56+
installPhase = ''
57+
# Copy built files to the output directory
58+
mkdir -p $out/bin
59+
cp -r dist/* $out/bin/
60+
'';
61+
meta = with pkgs.lib; {
62+
description = "Autonomous agents for everyone";
63+
homepage = "https://github.com/ai16z/eliza";
64+
changelog = "https://github.com/ai16z/eliza/blob/v${commonConfig.version}/CHANGELOG.md";
65+
license = licenses.mit;
66+
maintainers = with maintainers; [];
67+
mainProgram = "eliza";
68+
platforms = platforms.all;
69+
};
70+
});
71+
};
72+
73+
defaultPackage = self.packages.${system}.eliza;
7874
}
7975
);
8076
}

0 commit comments

Comments
 (0)