Formalizing dev command -> ldv

This commit is contained in:
Bryan Ramos 2023-06-02 18:09:22 -04:00
parent bf1f841369
commit e9cff7fbae

View file

@ -146,8 +146,26 @@ function penpot() {
esac
}
# Developer Environment Function
function dev() {
# ldv
function ldv() {
if [[ $1 == "help" ]] || [[ $1 == "-h" ]] || [[ $1 == "--help" ]]; then
echo "lazy dev"
echo "A simple utility for setting up development environments effortlessly."
echo "Commands:"
echo " ldv Start a preconfigured nix shell."
echo " init Create a new dev template in the current working directory."
echo " help Show available commands and options."
echo ""
echo "Contributions welcome: https://github.com/itme-brain/lazydev"
elif [[ $1 == "init" ]] || [[ $1 == "-i" ]] || [[ $1 == "--init" ]]; then
if [[ -e ./flake.nix ]] || [[ -e ./.envrc ]]; then
echo "Existing environment found."
echo "Initialization cancelled."
return
fi
echo "Initializing a new environment..."
echo "Select an environment:"
echo "1. Web"
echo "2. Elixir"
@ -158,19 +176,49 @@ function dev() {
case $choice in
1)
(cd ~/Documents/developerEnvs/webDev && nix develop)
wget -q https://raw.githubusercontent.com/itme-brain/lazydev/main/flakes/web/flake.nix
echo "use flake" >> .envrc && direnv allow
;;
2)
(cd ~/Documents/developerEnvs/elixirDev && nix develop)
wget -q https://raw.githubusercontent.com/itme-brain/lazydev/main/flakes/elixir/flake.nix
echo "use flake" >> .envrc && direnv allow
;;
3)
(cd ~/Documents/developerEnvs/haskellDev && nix develop)
wget -q https://raw.githubusercontent.com/itme-brain/lazydev/main/flakes/haskell/flake.nix
echo "use flake" >> .envrc && direnv allow
;;
# Add more cases here...
*)
echo "Invalid choice"
;;
esac
elif [[ -z $1 ]]; then
echo "Select an environment:"
echo "1. Web"
echo "2. Elixir"
echo "3. Haskell"
# Add more options here...
read -p "Enter the number of your choice: " choice
case $choice in
1)
(nix develop ~/Documents/developerEnvs#web)
;;
2)
(nix develop ~/Documents/developerEnvs#elixir)
;;
3)
(nix develop ~/Documents/developerEnvs#haskell)
;;
# Add more cases here...
*)
echo "Invalid choice"
;;
esac
else
echo "Error: Invalid command. Try 'ldv --help'"
fi
}
eval "$(direnv hook bash)"