Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhance Setup Scripts for Development Environments #1

Merged
merged 5 commits into from
Dec 2, 2024

Conversation

shariati
Copy link
Owner

@shariati shariati commented Dec 2, 2024

Enhance Setup Scripts for Development Environments

Overview

This pull request introduces several enhancements and bug fixes to the setup scripts for configuring development environments on macOS. The changes ensure a smoother user experience and improve the flexibility of tool selection during setup.

Key Changes

1. Added start_setup Functionality

  • Implemented a start_setup function in setup-my-mac.sh to dynamically load and execute specific setup scripts based on user selection.

2. Improved Tool Selection Logic

  • Updated the selection process in frontend-setup.sh, backend-setup.sh, custom-setup.sh, and data-analysis-setup.sh to correctly toggle tool selections.
  • Fixed the loop logic to ensure users can toggle selections and proceed to installation only when desired.

3. Removed Unsupported Bash Features

  • Eliminated the use of -n nameref option in utils/helper.sh to ensure compatibility with older Bash versions.

4. Enhanced User Feedback

  • Improved console output for better clarity and user guidance during the setup process.
  • Added error handling to ensure users are informed of any issues during script execution.

5. Code Refactoring

  • Refactored code for better readability and maintainability.
  • Ensured consistent sourcing of helper functions across all setup scripts.

Testing

  • Verified that each setup script correctly displays the tool selection menu and allows users to toggle selections.
  • Confirmed that the installation process proceeds only after user confirmation.
  • Tested compatibility with different versions of Bash to ensure robust execution.

Impact

These changes enhance the usability and reliability of the setup scripts, making it easier for developers to configure their macOS environments with the necessary tools for frontend, backend, and data analysis development.

…u and add frontend setup script

- Introduced a main menu for selecting development environments in setup-my-mac.sh.
- Added utility functions for displaying options, validating input, and handling setup initialization.
- Created frontend-setup.sh to allow users to select and install recommended frontend development tools.
- Implemented a check for Homebrew installation and updates in check-homebrew.sh.
- Added install-tools.sh for batch installation of selected tools with user prompts.
…lection process

- Replaced check-homebrew.sh with a helper script for better modularity.
- Updated setup-my-mac.sh to improve the main menu and remove the fullstack option.
- Added detailed tool selection processes for backend, data analysis, and custom setups in their respective scripts.
- Removed unnecessary functions and consolidated tool installation logic across scripts.
- Enhanced user experience with clearer prompts and tool categories.
- Deleted the obsolete fullstack-setup.sh script.
- Renamed the project title for better representation.
- Added an important disclaimer regarding script usage and responsibilities.
- Enhanced the requirements section to include a basic understanding of shell scripts.
- Expanded the features section to detail modular setup scripts for various development environments.
- Updated installation instructions with a new script name and added execution permissions.
- Provided a comprehensive list of tools installed for frontend, backend, and data analysis.
- Improved the structure section to illustrate the organization of scripts and utilities.
- Added contributing guidelines, license information, acknowledgments, and support details.
…handling and menu options

- Introduced a new function to start specific setups, ensuring scripts exist and are executable before running.
- Updated the main menu to include emoji for better visual distinction of options.
- Removed the obsolete install-tools.sh script to streamline the setup process.
- Changed the file mode of helper.sh to make it executable.
- Improved user feedback during setup execution with success and error messages.
@shariati shariati merged commit 90b23cc into master Dec 2, 2024
@shariati shariati deleted the setup-my-mack-v2 branch December 2, 2024 09:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant