# 🐧 Snigdha OS ArchISO

License: MIT Stars Issues Build Status

**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. πŸš€ 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. ## 🌟 Key Features ### 🎯 **Reliable LTS Kernel** - Long-Term Support kernel ensures stability and compatibility across a wide range of hardware. Perfect for production environments and critical systems. ### πŸ” **Penetration Testing Ready** - Includes **Blackbox**, a custom framework offering pre-configured tools for penetration testing and security auditing. ### 🌎 **Intelligent Mirror Selection** - Automatically recommends the fastest regional mirrors for downloads during installation and updates, minimizing downtime. ### 🧩 **Modular, Minimal Design** - A lightweight base system that empowers users to create their perfect environment without unnecessary software clutter. ### πŸ’‘ **Customizable Root Filesystem** - Fully modifiable `airootfs` directory allows you to add scripts, configurations, and customizations directly to the live ISO. ### πŸ”’ **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: ``` 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 Follow these steps to build and test your own Snigdha OS ISO image. ### Prerequisites 1. **Arch Linux environment** (or a compatible Arch-based distribution). 2. Install required dependencies: ```bash 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 git clone https://github.com/Snigdha-OS/snigdhaos-archiso.git cd snigdhaos-archiso ``` 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. 3. **Build the ISO**: Execute the build script: ```bash ./scripts/build.sh ``` 4. **Locate the ISO**: The built ISO will be stored in the `out/` directory. πŸŽ‰ 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`. ## πŸ› οΈ Advanced Customization Snigdha OS ArchISO provides deep customization options: ### πŸ”§ **Adding Custom Packages** Add package names to `configs/packages.x86_64` to include them in the ISO. For example: ``` vim htop docker ``` ### βš™οΈ **Enabling/Disabling Services** Add custom systemd service configurations to `configs/services/`. ### πŸ“œ **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. πŸ’»βœ¨