feat: initialization migration to Nuxt + Backend
This commit initializes both the Nuxt frontend and the Rust backend of the new version of phundrak.com
This commit is contained in:
55
.envrc
55
.envrc
@@ -1 +1,54 @@
|
||||
use nix
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if ! has nix_direnv_version || ! nix_direnv_version 3.1.0; then
|
||||
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/3.1.0/direnvrc" "sha256-yMJ2OVMzrFaDPn7q8nCBZFRYpL/f0RcHzhmw/i6btJM="
|
||||
fi
|
||||
|
||||
export DEVENV_IN_DIRENV_SHELL=true
|
||||
|
||||
# Load .env file if present
|
||||
dotenv_if_exists
|
||||
|
||||
watch_file flake.nix
|
||||
watch_file flake.lock
|
||||
watch_file .envrc.local
|
||||
watch_file backend/shell.nix
|
||||
watch_file frontend/shell.nix
|
||||
|
||||
# Check if .envrc.local exists and contains a shell preference
|
||||
if [[ -f .envrc.local ]]; then
|
||||
source .envrc.local
|
||||
fi
|
||||
|
||||
# If no shell is specified, prompt the user interactively
|
||||
if [[ -z "$NIX_SHELL_NAME" ]]; then
|
||||
echo ""
|
||||
echo "🔧 Available development shells:"
|
||||
echo " 1) frontend - Nuxt.js/Vue development environment"
|
||||
echo " 2) backend - Rust backend development environment"
|
||||
echo ""
|
||||
echo "💡 Tip: Create a .envrc.local file with 'export NIX_SHELL_NAME=frontend' to skip this prompt"
|
||||
echo ""
|
||||
|
||||
# Read user input
|
||||
read -p "Select shell (1 or 2): " choice
|
||||
|
||||
case $choice in
|
||||
1|frontend)
|
||||
NIX_SHELL_NAME=frontend
|
||||
;;
|
||||
2|backend)
|
||||
NIX_SHELL_NAME=backend
|
||||
;;
|
||||
*)
|
||||
echo "❌ Invalid choice. Please select 1 or 2."
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "✅ Loading ${NIX_SHELL_NAME} environment..."
|
||||
fi
|
||||
|
||||
if ! use flake ".#${NIX_SHELL_NAME}" --no-pure-eval; then
|
||||
echo "❌ devenv could not be built. The devenv environment was not loaded. Make the necessary changes to flake.nix and hit enter to try again." >&2
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user