72 lines
1.5 KiB
Nix
72 lines
1.5 KiB
Nix
{
|
|
pkgs ? import <nixpkgs> { },
|
|
}:
|
|
|
|
pkgs.mkShell {
|
|
packages =
|
|
[
|
|
# Python with development packages
|
|
(pkgs.python3.withPackages (
|
|
ps:
|
|
builtins.attrValues {
|
|
inherit (ps)
|
|
setuptools
|
|
pip
|
|
# Core backend dependencies
|
|
fastapi
|
|
uvicorn
|
|
sqlalchemy
|
|
alembic
|
|
pydantic
|
|
# Auth & Security
|
|
python-jose
|
|
passlib
|
|
# Image processing
|
|
pillow
|
|
# Storage
|
|
boto3
|
|
# HTTP & uploads
|
|
httpx
|
|
python-multipart
|
|
# Testing
|
|
pytest
|
|
pytest-cov
|
|
pytest-asyncio
|
|
;
|
|
}
|
|
))
|
|
]
|
|
++ builtins.attrValues {
|
|
inherit (pkgs)
|
|
# Python tools
|
|
uv
|
|
ruff
|
|
# Database
|
|
postgresql
|
|
# Frontend
|
|
nodejs
|
|
# Image processing
|
|
imagemagick
|
|
# Version control
|
|
git
|
|
# Development tools
|
|
direnv
|
|
;
|
|
};
|
|
|
|
buildInputs = [ ];
|
|
|
|
shellHook = ''
|
|
echo "🚀 Reference Board Viewer Development Environment"
|
|
echo " Python: $(python --version)"
|
|
echo " Node.js: $(node --version)"
|
|
echo " PostgreSQL: $(psql --version | head -n1)"
|
|
echo ""
|
|
echo "📚 Quick Commands:"
|
|
echo " Backend: cd backend && uvicorn app.main:app --reload"
|
|
echo " Frontend: cd frontend && npm run dev"
|
|
echo " Tests: cd backend && pytest --cov"
|
|
echo ""
|
|
'';
|
|
}
|