diff --git a/README.md b/README.md index 024ae82..74cab29 100644 --- a/README.md +++ b/README.md @@ -1,79 +1,163 @@ +# 🐧 Snigdha OS ArchISO -# Snigdha OS Default ISO +**Snigdha OS ArchISO** is the official ArchISO configuration for building Snigdha OS, a highly customizable Linux distribution based on Arch Linux and featuring the **LTS Kernel** for unmatched stability. πŸš€ -
- Snigdha OS Logo -
+Designed to cater to both everyday users and penetration testers, Snigdha OS provides a seamless, minimal, and efficient Linux experience powered by robust tools and thoughtful configurations. -Welcome to the official repository for the **Snigdha OS Default ISO**! This repository hosts the configurations and scripts used to build the default ISO image of Snigdha OS, a lightweight and highly customizable Linux distribution built on Arch Linux with the Linux Zen Kernel. +## 🌟 Key Features -## About Snigdha OS +### 🎯 **Reliable LTS Kernel** +- Long-Term Support kernel ensures stability and compatibility across a wide range of hardware. Perfect for production environments and critical systems. -Snigdha OS emphasizes: -- **Minimalism**: A lightweight design tailored for performance. -- **Customizability**: A highly flexible environment that adapts to user preferences. -- **User-centric design**: An intuitive experience for both general users and professionals. +### πŸ” **Penetration Testing Ready** +- Includes **Blackbox**, a custom framework offering pre-configured tools for penetration testing and security auditing. -The default ISO provides a robust starting point for exploring the Snigdha OS ecosystem. +### 🌎 **Intelligent Mirror Selection** +- Automatically recommends the fastest regional mirrors for downloads during installation and updates, minimizing downtime. -## Features +### 🧩 **Modular, Minimal Design** +- A lightweight base system that empowers users to create their perfect environment without unnecessary software clutter. -- **Zen Kernel**: Optimized for low-latency performance. -- **Arch-based Minimalism**: Retains the power of Arch Linux while reducing bloat. -- **Pre-configured Environment**: Comes with essential tools to get started. -- **Custom Scripts**: Automates setup and configuration for ease of use. +### πŸ’‘ **Customizable Root Filesystem** +- Fully modifiable `airootfs` directory allows you to add scripts, configurations, and customizations directly to the live ISO. -## Repository Structure +### πŸ”’ **Focus on Security** +- Pre-configured security best practices, ensuring a safe and secure environment out of the box. + +## πŸ“‚ Repository Structure + +Here’s a detailed breakdown of the repository layout: -```plaintext -β”œβ”€β”€ configs/ # Configuration files for ISO creation -β”œβ”€β”€ scripts/ # Custom scripts used in the build process -β”œβ”€β”€ assets/ # Logos and branding materials -β”œβ”€β”€ docs/ # Documentation for contributors and users -└── README.md # This file ``` +snigdhaos-archiso/ +β”œβ”€β”€ configs/ +β”‚ β”œβ”€β”€ airootfs/ # Custom root filesystem +β”‚ β”‚ β”œβ”€β”€ etc/ # System configurations (e.g., fstab, hostname) +β”‚ β”‚ β”œβ”€β”€ usr/ # Custom binaries, scripts, and utilities +β”‚ β”‚ └── home/ # Default user home directory settings +β”‚ β”œβ”€β”€ packages.x86_64 # List of packages included in the ISO +β”‚ β”œβ”€β”€ services/ # Custom systemd service configurations +β”‚ └── hooks/ # Custom hooks for build process enhancements +β”œβ”€β”€ scripts/ +β”‚ β”œβ”€β”€ build.sh # Main script to build the ISO +β”‚ β”œβ”€β”€ cleanup.sh # Script to clean the build environment +β”‚ β”œβ”€β”€ post-build.sh # Optional post-build automation script +β”œβ”€β”€ out/ # Directory for the generated ISO file +β”œβ”€β”€ LICENSE # License for the repository +└── README.md # Documentation and instructions +``` -## Getting Started +## πŸš€ Getting Started -### Prerequisites -To build the ISO, ensure you have the following installed: -- `archiso`: Arch Linux's official tool for creating ISOs. -- Basic Linux command-line knowledge. +Follow these steps to build and test your own Snigdha OS ISO image. -### Building the ISO -1. Clone the repository: +### Prerequisites + +1. **Arch Linux environment** (or a compatible Arch-based distribution). +2. Install required dependencies: ```bash - git clone https://github.com/Snigdha-OS/snigdhaos-default-iso.git - cd snigdhaos-default-iso - ``` -2. Run the build script: + sudo pacman -S archiso git + ``` +3. Ensure sufficient resources for the build: + - **20 GB free disk space** + - **2 GB RAM** + +### Steps to Build the ISO + +1. **Clone the Repository**: ```bash - ./scripts/build.sh - ``` -3. Your ISO will be available in the `output/` directory. + git clone https://github.com/Snigdha-OS/snigdhaos-archiso.git + cd snigdhaos-archiso + ``` -### Installation -Once you have the ISO: -- Boot into the live environment. -- Follow the [installation guide](https://snigdha-os.github.io/docs/installation). +2. **Customize the ISO** (optional): + - Modify `configs/airootfs/` for custom scripts, configurations, or default settings. + - Update `configs/packages.x86_64` to include or exclude specific packages. -## Contributing +3. **Build the ISO**: + Execute the build script: + ```bash + ./scripts/build.sh + ``` -We welcome contributions from the community! To contribute: -1. Fork this repository. -2. Create a branch for your feature or bugfix. -3. Submit a pull request with detailed information about your changes. +4. **Locate the ISO**: + The built ISO will be stored in the `out/` directory. πŸŽ‰ -For more details, refer to the [CONTRIBUTING.md](docs/CONTRIBUTING.md) file. +5. **Test the ISO**: + - Use virtualization tools like VirtualBox, QEMU, or VMware to test the ISO. + - Alternatively, create a bootable USB using tools like `dd` or `Rufus`. -## License +## πŸ› οΈ Advanced Customization -This project is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for details. +Snigdha OS ArchISO provides deep customization options: -## Stay Connected +### πŸ”§ **Adding Custom Packages** +Add package names to `configs/packages.x86_64` to include them in the ISO. For example: +``` +vim +htop +docker +``` -- 🌐 Website: [snigdha-os.github.io](https://snigdha-os.github.io) -- 🐦 Twitter: [@SnigdhaOS](https://twitter.com/SnigdhaOS) -- πŸ’¬ Discord: [Snigdha OS Community](https://discord.gg/snigdhaos) +### βš™οΈ **Enabling/Disabling Services** +Add custom systemd service configurations to `configs/services/`. -πŸš€ **Snigdha OS** - Redefining lightweight Linux distributions! +### πŸ“œ **Adding Startup Scripts** +Place executable scripts in `configs/airootfs/usr/bin/` to include them in the live environment. + +### πŸ“ **Predefined User Settings** +Customize the default user environment by modifying files under `configs/airootfs/home/`. + +## πŸ§ͺ Testing the ISO + +### Using VirtualBox +1. Open VirtualBox and create a new virtual machine. +2. Select the ISO file as the boot medium. +3. Start the VM and test the live environment or installer. + +### Using QEMU +Run the ISO in QEMU for quick testing: +```bash +qemu-system-x86_64 -cdrom out/snigdhaos.iso -boot d -m 2048 +``` + +## 🀝 Contributing + +Contributions are always welcome! Whether you find a bug, have an idea for improvement, or want to add new features, feel free to contribute. + +### Steps to Contribute + +1. **Fork the Repository**: 🍴 +2. **Create a Branch**: + ```bash + git checkout -b feature-name + ``` + +3. **Make Changes**: Modify files, fix bugs, or add features. +4. **Test Your Changes**: Build and test the ISO locally to ensure stability. +5. **Submit a Pull Request**: 🎯 + +Check the [CONTRIBUTING.md](CONTRIBUTING.md) file for more details. + +## 🌟 Credits + +### πŸ‘¨β€πŸ’» Core Team + +- **Eshan Roy | eshanized** - Lead Developer and Maintainer +- **RiO | d3v1l0n** - Contributor , Developer and Maintainer + +**Snigdha OS ArchISO** is developed and maintained by **[TONMOY INFRASTRUCTURE](https://tonmoyinfrastructure.github.io/)**. + +## πŸ“œ License + +This project is licensed under the [MIT License](LICENSE). + +## πŸ’¬ Support + +Have questions or need support? + +- **Report Issues**: [Open an issue](https://github.com/Snigdha-OS/snigdhaos-archiso/issues) for bugs or feature requests. +- **Join the Community**: Share your experiences and ideas with other users and contributors. +- **Spread the Word**: Star the repository ⭐ and share it with the Linux community! + +Let’s build a stable, efficient, and powerful Linux experience together. πŸ’»βœ¨ \ No newline at end of file