📝 docs(more__): details and clearity

This commit is contained in:
Eshan Roy
2024-12-17 12:44:24 +05:30
parent 5e3b9d0234
commit 02e8433d38

201
README.md
View File

@@ -1,91 +1,164 @@
# Snigdha OS System Config ⚙️🚀
# Snigdha OS System Config
Welcome to the **Snigdha OS System Config** repository! 🎉 This is the central hub for all configuration files and system-level setup scripts that power the smooth and customizable experience of **Snigdha OS**—a lightweight Arch-based Linux distribution.
Welcome to the Snigdha OS System Config repository! This repository contains the configuration files and scripts that manage and configure the underlying system settings for Snigdha OS.
## Table of Contents
- [Overview](#overview)
- [Developers](#developers)
- [Development Guide](#development-guide)
- [Contributing](#contributing)
- [License](#license)
## Table of Contents 📑
## Overview
- [Overview](#overview) 🌟
- [Features](#features) ✨
- [Technologies Used](#technologies-used) ⚙️
- [Repository Structure](#repository-structure) 📂
- [Development Guide](#development-guide) 🛠️
- [Contributing](#contributing) 🤝
- [Developers](#developers) 👨‍💻👩‍💻
- [License](#license) 📜
Snigdha OS System Config is part of the Snigdha OS ecosystem, providing essential configuration files, scripts, and system settings that ensure a smooth and optimized user experience on Snigdha OS. This repository is intended for managing the system-level configurations of Snigdha OS and is crucial for both development and deployment processes.
## Developers
Below is the list of developers currently working on the Snigdha OS System Config:
## Overview 🌟
- **Eshan Roy(eshanized)** - Lead Developer, System Architect
The **Snigdha OS System Config** repository contains all the configuration files, scripts, and utilities needed to ensure a seamless user experience on **Snigdha OS**. This includes:
If you would like to contribute or join the team, feel free to reach out!
- Essential system configuration files.
- Bootstrapping scripts for new installs.
- Custom tweaks for the Linux Zen Kernel.
- Automated scripts to configure Snigdha OSs unique features.
## Development Guide
Whether you're a developer or a user looking to understand Snigdha OS's inner workings, this repository is your guide! 🌐
### Prerequisites
Before contributing, make sure you have the following:
- A working environment with Snigdha OS installed.
- A code editor (VSCode, Sublime Text, etc.).
- Familiarity with shell scripting, configuration files, and Arch-based distributions.
- Git for version control.
## Features ✨
### Setting Up the Development Environment
- **Custom Configuration**: Fine-tuned settings for optimal performance and usability. 🛠️
- **Modular Design**: Configuration files are categorized for easy maintenance and customization. 📦
- **Arch Compatibility**: Fully compatible with Arch Linux, ensuring reliability and flexibility. 🔗
- **Zen Kernel Support**: Pre-configured settings to maximize the performance of the Linux Zen Kernel. 🚀
- **Automation**: Scripts for setting up new installations and managing system updates efficiently. ⚡
1. Clone the repository:
## Technologies Used ⚙️
The repository leverages a combination of technologies and tools to manage system configurations:
- **Bash Scripts** 🐚: Used for system automation and configurations.
- **Systemd** 🔧: For managing services and system processes.
- **Git** 🔄: Version control for tracking changes in configuration files.
- **Arch Linux Ecosystem** 🖥️: Core base for configurations tailored to Arch and its derivatives.
- **Linux Zen Kernel** 🧘: Optimized kernel for Snigdha OS.
## Repository Structure 📂
The repository is structured for clarity and modularity:
```
snigdhaos-system-config/
├── configs/ # System configuration files
│ ├── systemd/ # systemd service files
│ ├── bashrc/ # Custom bash configurations
│ ├── vim/ # vim editor configurations
│ └── ...
├── scripts/ # Automation and helper scripts
│ ├── install.sh # Bootstrap script for new installations
│ ├── update.sh # System update script
│ └── cleanup.sh # Cleanup and maintenance script
├── docs/ # Documentation
│ └── usage.md # Detailed usage guide
├── LICENSE # License file
└── README.md # This README file
```
### Explanation of Key Folders
- **configs/**: Houses configuration files for system-level customization.
- **scripts/**: Contains automation scripts to ease system setup and maintenance.
- **docs/**: Includes additional documentation for developers and users.
- **LICENSE**: License information for this project.
## Development Guide 🛠️
Follow these steps to contribute or set up your development environment:
### Prerequisites ⚡
Make sure you have the following installed:
- **Arch Linux** or an Arch-based system. 🖥️
- **Git** for version control. 🔄
- **Bash** for running scripts. 🐚
- Basic knowledge of Linux systems. 📚
### Setting Up the Repository 🚀
1. **Clone the repository**:
```bash
git clone https://github.com/Snigdha-OS/Snigdha OS-system-config.git
cd Snigdha OS-system-config
git clone https://github.com/Snigdha-OS/snigdhaos-system-config.git
cd snigdhaos-system-config
```
2. Ensure all dependencies are installed:
- Make sure you have access to Snigdha OS packages and configuration tools.
- You may need to install any required dependencies for testing scripts.
2. **Create a new branch** for your changes:
```bash
git checkout -b my-feature-branch
```
3. Review and modify the configuration files as needed. Make sure you follow the configuration standards and best practices used in the project.
3. **Install dependencies** (if applicable):
```bash
sudo pacman -S base-devel
```
### Contribution Guidelines
4. **Make your changes**:
- Modify configuration files under `configs/`.
- Add new scripts to `scripts/`.
- **Fork the repository** and clone your fork locally.
- Create a new branch for each feature or bug fix:
```bash
git checkout -b feature-name
```
- Make the necessary changes, test them locally, and commit them with meaningful commit messages.
- Push your changes to your fork and create a pull request to the `main` branch.
5. **Test your changes**:
- Run any modified scripts to verify functionality:
```bash
bash scripts/install.sh
```
### Testing Changes
6. **Commit and push your changes**:
```bash
git add .
git commit -m "Added new feature or fixed bug"
git push origin my-feature-branch
```
Whenever you make changes to configuration scripts or system files, its important to test those changes. You can do this by:
1. Applying the configuration changes locally.
2. Ensuring the system boots and operates correctly with the new configurations.
3. Running tests or checks based on the components you are modifying.
### Code Style and Naming Conventions
Please follow these guidelines to keep the codebase clean:
- Use clear and descriptive names for scripts and variables.
- Ensure comments are clear, especially for complex logic.
- Use consistent formatting and indentation (2 spaces recommended).
## Contributing
We welcome contributions! Whether you're fixing a bug, adding a feature, or improving documentation, please follow these steps to contribute:
1. Fork the repository and clone it locally.
2. Create a branch for your changes.
3. Submit a pull request with a clear description of the changes youve made.
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more information.
7. **Create a pull request** to the main branch.
Thanks for contributing to Snigdha OS System Config!
## Contributing 🤝
We welcome contributions of all kinds! Whether youre fixing a typo, optimizing a script, or adding new features, you can help improve Snigdha OS.
### Steps to Contribute
1. Fork the repository. 🍴
2. Create a branch for your feature or fix. 🔄
3. Commit your changes with a meaningful message. ✍️
4. Push your branch and submit a pull request. 📥
For major changes, please open an issue first to discuss your idea!
## Developers 👨‍💻👩‍💻
Meet the team behind SnigdhaOS System Config:
- **[eshanized](https://github.com/eshanized/)** - Lead Developer, System Architect 🛠️
If youd like to join our team, feel free to reach out! 💌
## License 📜
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
Thanks for checking out SnigdhaOS System Config! 💖 Your contributions and feedback help us improve every day. 🌈