feat: Add flake and ragenix package generation and dev environment
This commit is contained in:
77
setup-dev.sh
Executable file
77
setup-dev.sh
Executable file
@@ -0,0 +1,77 @@
|
||||
#!/usr/bin/env bash
|
||||
# Quick setup script for USDA Vision development
|
||||
|
||||
set -e
|
||||
|
||||
echo "======================================"
|
||||
echo "USDA Vision - Quick Setup"
|
||||
echo "======================================"
|
||||
echo ""
|
||||
|
||||
# Check if we're in the right directory
|
||||
if [ ! -f "flake.nix" ]; then
|
||||
echo "❌ Error: Must run from usda-vision directory"
|
||||
echo " cd to the directory containing flake.nix"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check for age key
|
||||
if [ ! -f "$HOME/.config/age/keys.txt" ]; then
|
||||
echo "📝 No age key found at ~/.config/age/keys.txt"
|
||||
echo ""
|
||||
read -p "Would you like to generate one? (y/n) " -n 1 -r
|
||||
echo ""
|
||||
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||
mkdir -p "$HOME/.config/age"
|
||||
age-keygen -o "$HOME/.config/age/keys.txt"
|
||||
echo "✅ Age key generated!"
|
||||
echo ""
|
||||
else
|
||||
echo "❌ Cannot proceed without an age key"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Get public key
|
||||
AGE_PUBLIC_KEY=$(grep "public key:" "$HOME/.config/age/keys.txt" | cut -d: -f2 | xargs)
|
||||
|
||||
echo "Your age public key is:"
|
||||
echo " $AGE_PUBLIC_KEY"
|
||||
echo ""
|
||||
|
||||
# Check if key is already in secrets.nix
|
||||
if grep -q "$AGE_PUBLIC_KEY" secrets/secrets.nix 2>/dev/null; then
|
||||
echo "✅ Your key is already in secrets/secrets.nix"
|
||||
else
|
||||
echo "⚠️ Your key is NOT in secrets/secrets.nix"
|
||||
echo ""
|
||||
read -p "Would you like to add it now? (y/n) " -n 1 -r
|
||||
echo ""
|
||||
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||
# Backup original
|
||||
cp secrets/secrets.nix secrets/secrets.nix.backup
|
||||
|
||||
# Add the key
|
||||
sed -i "/publicKeys = \[/a\ \"$AGE_PUBLIC_KEY\"" secrets/secrets.nix
|
||||
|
||||
echo "✅ Key added to secrets/secrets.nix"
|
||||
echo ""
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "======================================"
|
||||
echo "Setup complete! Next steps:"
|
||||
echo "======================================"
|
||||
echo ""
|
||||
echo "1. Enter development environment:"
|
||||
echo " $ nix develop"
|
||||
echo ""
|
||||
echo "2. Create/edit encrypted secrets:"
|
||||
echo " $ ragenix -e secrets/env.age"
|
||||
echo " $ ragenix -e secrets/env.azure.age"
|
||||
echo ""
|
||||
echo "3. Start development:"
|
||||
echo " $ docker-compose up -d"
|
||||
echo ""
|
||||
echo "For more information, see FLAKE_SETUP.md"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user