🚀 feat(_): v2.1

This commit is contained in:
eshanized
2024-12-20 01:45:46 +05:30
parent bfaeecef73
commit bf3f5bf200
2 changed files with 174 additions and 40 deletions

110
README.md
View File

@@ -1,19 +1,97 @@
<h1 align="center" id="title">SNIGDHA OS WELCOME</h1>
# 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/).
<p align="center">
<b>Snigdha OS - Your Gateway to a Minimal and Powerful Linux Experience</b> 🚪💻
</p>

104
push.sh
View File

@@ -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
# 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