-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathshell.nix
More file actions
49 lines (43 loc) 路 1.68 KB
/
Copy pathshell.nix
File metadata and controls
49 lines (43 loc) 路 1.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
buildInputs = with pkgs; [
# Rust development tools
bacon # Continuous testing/checking for Rust
sqlx-cli # SQLx command-line interface for database management
# Node.js and frontend tools
nodejs_22 # Node.js 22 LTS
# Database tools (useful with sqlx-cli)
sqlite # SQLite database
sqlite-utils # Enhanced SQLite CLI utilities
# System dependencies and build tools
openssl # OpenSSL library
pkg-config # Required for finding system libraries
protobuf # Protocol Buffers library
gnumake # Make build tool
];
shellHook = ''
echo "馃 NodeGaze development environment loaded!"
echo ""
echo "Available tools:"
echo " - rustc: Rust compiler"
echo " - cargo: Rust package manager"
echo " - bacon: continuous testing and checking for Rust"
echo " - sqlx: database CLI (try 'sqlx --help')"
echo " - node $(node --version): Node.js runtime"
echo " - npm $(npm --version): Node package manager"
echo " - sqlite: SQLite database"
echo " - make: Build automation tool"
echo ""
echo "Getting started:"
echo " 1. Copy .env.example to .env and configure"
echo " 2. Copy frontend/.env.example to frontend/.env.local"
echo " 3. Run 'make dev' to start both backend and frontend"
echo " 4. Or run backend and frontend separately:"
echo " - Backend: cd backend && cargo run"
echo " - Frontend: cd frontend && npm install && npm run dev"
echo ""
# Set helpful environment variables
export RUST_LOG=info
export DATABASE_URL="sqlite:backend/nodegaze.db"
'';
}