diff --git a/README.md b/README.md index f3333a2..8d432e4 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,97 @@ -

SNIGDHA OS WELCOME

+# Snigdha OS Welcome ->You must follow the commit types with commitizen. +The **Snigdha OS Welcome** application is your first step into the world of **Snigdha OS**. It provides a smooth onboarding experience, introducing users to key features and settings while guiding them through the initial setup of their new **Snigdha OS** installation. -## Commit types +## Features 🌟 -| Commit Type | Title | Description | Emoji | -| ----------- | ------------------------ | ----------------------------------------------------------------------------------------------------------- |:------:| -| `feat` | Features | A new feature | ✨ | -| `fix` | Bug Fixes | A bug Fix | πŸ› | -| `docs` | Documentation | Documentation only changes | πŸ“š | -| `style` | Styles | Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) | πŸ’Ž | -| `refactor` | Code Refactoring | A code change that neither fixes a bug nor adds a feature | πŸ“¦ | -| `perf` | Performance Improvements | A code change that improves performance | πŸš€ | -| `test` | Tests | Adding missing tests or correcting existing tests | 🚨 | -| `build` | Builds | Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) | πŸ›  | -| `ci` | Continuous Integrations | Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) | βš™οΈ | -| `chore` | Chores | Other changes that don't modify src or test files | ♻️ | -| `revert` | Reverts | Reverts a previous commit | πŸ—‘ | +- **Interactive Onboarding**: A guided walkthrough that introduces Snigdha OS features and customization options. πŸšΆβ€β™‚οΈ +- **Quick Setup**: Configure essential system settings for a smooth start. βš™οΈ +- **Snigdha OS Customization**: Easily apply customizations, themes, and configurations. 🎨 +- **Useful Links**: Direct access to documentation, community channels, and resources. πŸ“š +- **System Information**: Displays system info and hardware details for user reference. πŸ–₯️ + +## Installation πŸ› οΈ + +To install **Snigdha OS Welcome**, follow these steps: + +1. Clone the repository: + ```bash + git clone https://github.com/Snigdha-OS/snigdhaos-welcome.git + ``` + +2. Navigate to the directory: + ```bash + cd snigdhaos-welcome + ``` + +3. Install the required dependencies: + ```bash + pip install -r requirements.txt + ``` + + This will install all the necessary Python packages. + +## Usage πŸš€ + +Once installed, you can launch **Snigdha OS Welcome** by running: + +```bash +python3 snigdhaos_welcome.py +``` + +The welcome window will guide you through essential steps, such as: + +- Choosing your preferred desktop settings πŸ–₯️ +- Enabling additional features πŸ”§ +- Accessing documentation and community support πŸ“‘ + +## Customization πŸŽ›οΈ + +You can easily configure **Snigdha OS Welcome** by editing the configuration files located in: + +```bash +~/.config/snigdhaos-welcome/ +``` + +## Developers πŸ‘¨β€πŸ’» + +- **d3v1l0n**: Primary developer and maintainer of Snigdha OS Welcome. +- **Snigdha OS Team**: Contributions to development, design, and testing. + +## Contributing 🀝 + +We welcome contributions to improve **Snigdha OS Welcome**. To contribute: + +1. Fork the repository. +2. Create a feature branch: + ```bash + git checkout -b feature/your-feature + ``` +3. Commit your changes: + ```bash + git commit -m "Add your feature description" + ``` +4. Push your branch: + ```bash + git push origin feature/your-feature + ``` +5. Create a Pull Request. + +## License πŸ“œ + +This project is licensed under the [MIT License](LICENSE). + +## Credits πŸŽ‰ + +- **Snigdha OS Team** for their dedication to creating a superior Linux experience. 🌍 +- Powered by **[TONMOY INFRASTRUCTURE](https://www.tonmoy.com)**. πŸ—οΈ + +## Feedback and Support πŸ“¬ + +If you encounter issues or have suggestions for improvement, please open an [issue](https://github.com/Snigdha-OS/snigdhaos-welcome/issues) or contact us through our [community channels](https://forum.snigdhaos.org/). + + + +

+ Snigdha OS - Your Gateway to a Minimal and Powerful Linux Experience πŸšͺπŸ’» +

\ No newline at end of file diff --git a/push.sh b/push.sh index 60508a5..2208e80 100755 --- a/push.sh +++ b/push.sh @@ -1,32 +1,88 @@ #!/bin/bash -# Author : Eshan Roy -# URI : https://eshanized.github.io +# Author : ESHAN ROY +# Author URI : https://eshanized.github.io -# NOTE: If you are on Snigdha OS, -# you can install commitizen-go with `sudo pacman -S commitizen-go` -# or `s commitizen-go`. Else you need to install `yay` or `yay-bin` -# to install commitizen. I have written this script only for *Arch Linux. +# NOTE : Run at your own risk! -# Function to check if Commitizen is installed -check_commitizen() { - if ! pacman -Qq commitizen-go &> /dev/null; then - echo "Commitizen is not installed. Please install it using 'yay -S commitizen-go'." >&2 - exit 1 +# Define the conventional commit types with new emojis +TYPES=("πŸš€ feat" "πŸ› fix" "πŸ“ docs" "✨ style" "πŸ›  refactor" "⚑️ perf" "πŸ”¬ test" "πŸ”§ build" "πŸ€– ci" "🧹 chore" "βͺ revert") + +# Function to display an error and exit +error_exit() { + echo -e "\033[1;31m[ERROR]\033[0m $1" + exit 1 +} + +# Ensure the script is run in a Git repository +git rev-parse --is-inside-work-tree > /dev/null 2>&1 || error_exit "This is not a Git repository." + +# Prompt the user to select a commit type +echo "Select a commit type:" +select type in "${TYPES[@]}"; do + if [[ -n "$type" ]]; then + break + else + echo "Invalid selection. Please try again." fi -} +done -# Function to stage, commit, and push changes -push_to_github() { - git add . - git cz - git push origin master -} +# Extract the commit type and emoji from the selection +type_emoji=${type} +type=${type_emoji#* } +emoji=${type_emoji% *} -# Main Function -main() { - check_commitizen - push_to_github -} +# Prompt the user to enter a scope (optional) +read -p "Enter a scope (optional): " scope +scope_part="" +if [ -n "$scope" ]; then + scope_part="($scope)" +fi -main \ No newline at end of file +# Prompt the user to enter a short description +read -p "Enter a short description: " desc +if [ -z "$desc" ]; then + error_exit "A short description is required!" +fi + +# Prompt the user to enter a longer description (optional) +read -p "Enter a longer description (optional): " long_desc + +# Create the commit message +commit_msg="$emoji $type$scope_part: $desc" + +# If a longer description was provided, add it to the commit message +if [ -n "$long_desc" ]; then + commit_msg+=" + +$long_desc" +fi + +# Print the commit message to the console +echo -e "\nCommit message:" +echo -e "\033[1;36m$commit_msg\033[0m" + +# Confirm before committing +read -p "Do you want to proceed with this commit? (y/n): " confirm +if [[ "$confirm" != "y" && "$confirm" != "Y" ]]; then + echo "Commit aborted." + exit 0 +fi + +# Stage all changes +git add . + +# Commit the changes with the conventional commit message +if git commit -m "$commit_msg"; then + echo -e "\033[1;32mCommit successful!\033[0m" +else + error_exit "Commit failed." +fi + +# Push the changes to the remote repository +branch=$(git rev-parse --abbrev-ref HEAD) +if git push origin "$branch"; then + echo -e "\033[1;32mChanges pushed to remote branch '$branch'.\033[0m" +else + error_exit "Push failed. Please check your connection or branch permissions." +fi \ No newline at end of file