diff options
| author | 魏曹先生 <1992414357@qq.com> | 2025-12-10 13:02:08 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2025-12-10 13:02:08 +0800 |
| commit | 04010f6cffa34253d1883229c9f0d831b16e3367 (patch) | |
| tree | 591ff3306a1ee12e78ba2e4973a71f89b58be6a3 /setup/linux | |
| parent | c740e28bd851221f32dc3f48cd94ee78352bba93 (diff) | |
| parent | 15b508b7931aacd0c07ad6f52d4cefa6eef69fa1 (diff) | |
Merge remote-tracking branch 'origin/main'
Diffstat (limited to 'setup/linux')
| -rw-r--r-- | setup/linux/inst.sh | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/setup/linux/inst.sh b/setup/linux/inst.sh new file mode 100644 index 0000000..bbebeb8 --- /dev/null +++ b/setup/linux/inst.sh @@ -0,0 +1,88 @@ +# Check if required tools are installed +echo "Checking for required tools..." +if ! command -v cargo &> /dev/null; then + echo "Error: cargo is not installed. Please install Rust and Cargo first." + exit 1 +fi +if ! command -v git &> /dev/null; then + echo "Error: git is not installed. Please install git first." + exit 1 +fi + +# Set installation directory to current directory +echo "Installation directory set to current directory: $(pwd)" +install_dir="$(pwd)" + +# Clone or update repos +echo "Cloning or updating repositories..." +mkdir -p "$install_dir" +cd "$install_dir" + +# Function to clone or pull repository +clone_or_pull() { + local repo_url="$1" + local repo_name=$(basename "$repo_url") + + if [ -d "$repo_name" ]; then + echo "Repository $repo_name already exists, pulling latest changes..." + cd "$repo_name" + git pull origin main + cd .. + else + echo "Cloning $repo_name..." + git clone "$repo_url" + fi +} + +# Clone or update repositories +clone_or_pull https://github.com/JustEnoughVCS/CommandLine +clone_or_pull https://github.com/JustEnoughVCS/VersionControl + +# Setup VersionControl repo +echo "Setting up VersionControl..." +cd VersionControl +chmod +x setup.sh +./setup.sh + +# Build CLI +echo "Building CLI..." +cd ../CommandLine +cargo build --release +cargo export + +# Configure shell to include CLI in PATH +echo "Now adding JustEnoughVCS CLI to your environment. Please select your target shell:" +echo "1) ~/.zshrc (Zsh)" +echo "2) ~/.bashrc (Bash)" +echo "3) ~/.config/fish/config.fish (Fish)" +echo "4) Skip shell configuration" +echo -n "Enter your choice (1-4): " +read choice + +case $choice in + 1) + config_file="$HOME/.zshrc" + ;; + 2) + config_file="$HOME/.bashrc" + ;; + 3) + config_file="$HOME/.config/fish/config.fish" + ;; + 4) + echo "Skipping shell configuration." + echo "Installation completed! You can manually add the CLI to your PATH later." + exit 0 + ;; + *) + echo "Invalid choice. Skipping shell configuration." + exit 0 + ;; +esac + +cli_path="$(pwd)/export/jv_cli.sh" +echo "# JustEnoughVCS CLI" >> "$config_file" +echo "source \"$cli_path\"" >> "$config_file" +echo "CLI has been added to $config_file" +echo "Please restart your shell or run: source $config_file" +echo "Installation completed successfully!" |
