Files
Hyprland-Config/scripts/new-project-menu.sh

163 lines
4.0 KiB
Bash
Executable File

#!/bin/bash
choice=$(printf " Laravel Projekt\n󰌝 Simple Web Projekt\n Node.js Projekt\n󰡄 Vue Projekt\n⚛ React Projekt\n🐍 Python Projekt\n🦀 Rust Projekt\n🚀 Tauri Projekt\n󱆃 Bash Projekt" | wofi --dmenu --prompt "Neues Projekt")
case "$choice" in
" Laravel Projekt")
kitty -e bash -lc '
cd "$HOME/Nextcloud/Development/Projekte" || exit
read -rp "Projektname: " NAME
[ -z "$NAME" ] && exit
composer create-project laravel/laravel "$NAME"
code "$HOME/Nextcloud/Development/Projekte/$NAME"
'
;;
"󰌝 Simple Web Projekt")
kitty -e bash -lc '
cd "$HOME/Nextcloud/Development/Projekte" || exit
read -rp "Projektname: " NAME
[ -z "$NAME" ] && exit
mkdir -p "$NAME"
cd "$NAME" || exit
touch index.html style.css script.js
printf "<!DOCTYPE html>\n<html lang=\"de\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>%s</title>\n<link rel=\"stylesheet\" href=\"style.css\">\n</head>\n<body>\n<h1>Hello World</h1>\n<script src=\"script.js\"></script>\n</body>\n</html>\n" "$NAME" > index.html
code "$HOME/Nextcloud/Development/Projekte/$NAME"
'
;;
" Node.js Projekt")
kitty -e bash -lc '
cd "$HOME/Nextcloud/Development/Projekte" || exit
read -rp "Projektname: " NAME
[ -z "$NAME" ] && exit
mkdir -p "$NAME"
cd "$NAME" || exit
npm init -y
touch index.js
code "$HOME/Nextcloud/Development/Projekte/$NAME"
'
;;
"󰡄 Vue Projekt")
kitty -e bash -lc '
cd "$HOME/Nextcloud/Development/Projekte" || exit
read -rp "Projektname: " NAME
[ -z "$NAME" ] && exit
npm create vue@latest "$NAME"
code "$HOME/Nextcloud/Development/Projekte/$NAME"
'
;;
"⚛ React Projekt")
kitty -e bash -lc '
cd "$HOME/Nextcloud/Development/Projekte" || exit
read -rp "Projektname: " NAME
[ -z "$NAME" ] && exit
npm create vite@latest "$NAME" -- --template react
code "$HOME/Nextcloud/Development/Projekte/$NAME"
'
;;
"🐍 Python Projekt")
kitty -e bash -lc '
cd "$HOME/Nextcloud/Development/Projekte" || exit
read -rp "Projektname: " NAME
[ -z "$NAME" ] && exit
mkdir -p "$NAME"
cd "$NAME" || exit
python -m venv .venv
touch main.py requirements.txt
code "$HOME/Nextcloud/Development/Projekte/$NAME"
'
;;
"🦀 Rust Projekt")
kitty -e bash -lc '
cd "$HOME/Nextcloud/Development/Projekte" || exit
read -rp "Projektname: " NAME
[ -z "$NAME" ] && exit
cargo new "$NAME"
cd "$NAME" || exit
cat <<EOF > README.md
# $NAME
Rust Projekt
## Start
\`\`\`bash
cargo run
\`\`\`
## Build
\`\`\`bash
cargo build
\`\`\`
EOF
code "$HOME/Nextcloud/Development/Projekte/$NAME"
'
;;
"🚀 Tauri Projekt")
kitty -e bash -lc '
cd "$HOME/Nextcloud/Development/Projekte" || exit
read -rp "Projektname: " NAME
[ -z "$NAME" ] && exit
npm create tauri-app@latest "$NAME"
cd "$NAME" || exit
cat <<EOF > README.md
# $NAME
Tauri Projekt
## Dev Start
\`\`\`bash
npm install
npm run tauri dev
\`\`\`
## Build
\`\`\`bash
npm run tauri build
\`\`\`
EOF
code "$HOME/Nextcloud/Development/Projekte/$NAME"
'
;;
"󱆃 Bash Projekt")
kitty -e bash -lc '
cd "$HOME/Nextcloud/Development/Projekte" || exit
read -rp "Projektname: " NAME
[ -z "$NAME" ] && exit
mkdir -p "$NAME"/{scripts,lib}
cd "$NAME" || exit
cat <<EOF > main.sh
#!/usr/bin/env bash
set -e
echo "Hello from $NAME"
EOF
chmod +x main.sh
cat <<EOF > README.md
# $NAME
Bash Script Projekt
## Start
\`\`\`bash
./main.sh
\`\`\`
EOF
code "$HOME/Nextcloud/Development/Projekte/$NAME"
'
;;
esac