📝 docs(more__): details and clearity

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

191
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) ## Table of Contents 📑
- [Developers](#developers)
- [Development Guide](#development-guide)
- [Contributing](#contributing)
- [License](#license)
## 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. ## Features ✨
- A code editor (VSCode, Sublime Text, etc.).
- Familiarity with shell scripting, configuration files, and Arch-based distributions.
- Git for version control.
### 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:
```bash
git clone https://github.com/Snigdha-OS/Snigdha OS-system-config.git ## Technologies Used ⚙️
cd Snigdha OS-system-config
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
``` ```
2. Ensure all dependencies are installed: ### Explanation of Key Folders
- Make sure you have access to Snigdha OS packages and configuration tools.
- You may need to install any required dependencies for testing scripts.
3. Review and modify the configuration files as needed. Make sure you follow the configuration standards and best practices used in the project. - **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.
### Contribution Guidelines
- **Fork the repository** and clone your fork locally.
- Create a new branch for each feature or bug fix: ## 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 ```bash
git checkout -b feature-name git clone https://github.com/Snigdha-OS/snigdhaos-system-config.git
cd snigdhaos-system-config
``` ```
- 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.
### Testing Changes 2. **Create a new branch** for your changes:
```bash
git checkout -b my-feature-branch
```
Whenever you make changes to configuration scripts or system files, its important to test those changes. You can do this by: 3. **Install dependencies** (if applicable):
```bash
sudo pacman -S base-devel
```
1. Applying the configuration changes locally. 4. **Make your changes**:
2. Ensuring the system boots and operates correctly with the new configurations. - Modify configuration files under `configs/`.
3. Running tests or checks based on the components you are modifying. - Add new scripts to `scripts/`.
### Code Style and Naming Conventions 5. **Test your changes**:
- Run any modified scripts to verify functionality:
```bash
bash scripts/install.sh
```
Please follow these guidelines to keep the codebase clean: 6. **Commit and push your changes**:
```bash
git add .
git commit -m "Added new feature or fixed bug"
git push origin my-feature-branch
```
- Use clear and descriptive names for scripts and variables. 7. **Create a pull request** to the main branch.
- 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.
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. 🌈