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,31 +146,79 @@ function penpot() {
esac esac
} }
# Developer Environment Function # ldv
function dev() { function ldv() {
echo "Select an environment:" if [[ $1 == "help" ]] || [[ $1 == "-h" ]] || [[ $1 == "--help" ]]; then
echo "1. Web" echo "lazy dev"
echo "2. Elixir" echo "A simple utility for setting up development environments effortlessly."
echo "3. Haskell" echo "Commands:"
# Add more options here... 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"
read -p "Enter the number of your choice: " choice elif [[ $1 == "init" ]] || [[ $1 == "-i" ]] || [[ $1 == "--init" ]]; then
if [[ -e ./flake.nix ]] || [[ -e ./.envrc ]]; then
echo "Existing environment found."
echo "Initialization cancelled."
return
fi
case $choice in echo "Initializing a new environment..."
1) echo "Select an environment:"
(cd ~/Documents/developerEnvs/webDev && nix develop) echo "1. Web"
;; echo "2. Elixir"
2) echo "3. Haskell"
(cd ~/Documents/developerEnvs/elixirDev && nix develop) # Add more options here...
;;
3) read -p "Enter the number of your choice: " choice
(cd ~/Documents/developerEnvs/haskellDev && nix develop)
;; case $choice in
# Add more cases here... 1)
*) wget -q https://raw.githubusercontent.com/itme-brain/lazydev/main/flakes/web/flake.nix
echo "Invalid choice" echo "use flake" >> .envrc && direnv allow
;; ;;
esac 2)
wget -q https://raw.githubusercontent.com/itme-brain/lazydev/main/flakes/elixir/flake.nix
echo "use flake" >> .envrc && direnv allow
;;
3)
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)" eval "$(direnv hook bash)"