Skip to content

Commit

Permalink
Some big changes [Docs πŸ“š] enhancement (#6)
Browse files Browse the repository at this point in the history
Co-authored-by: Smriti Bhandari <[email protected]>
Co-authored-by: aayush <[email protected]>
  • Loading branch information
3 people authored Dec 15, 2024
1 parent 16a4c71 commit 7b9f96f
Show file tree
Hide file tree
Showing 8 changed files with 234 additions and 145 deletions.
2 changes: 1 addition & 1 deletion docs/acknowledgment/contributors.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<img src="https://cdn-icons-png.flaticon.com/128/4587/4587595.png" width="40" />

We thank everyone who has contributed to making **Carch** better. Your feedback and contributions are invaluable!
**We thank everyone who has contributed to making `Carch` better. Your feedback and contributions are invaluable!**

[![Contributors](https://contrib.rocks/image?repo=harilvfs/carch)](https://github.com/harilvfs/carch/graphs/contributors)

Expand Down
16 changes: 14 additions & 2 deletions docs/acknowledgment/inspiration.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,20 @@
<img src="https://cdn-icons-png.flaticon.com/128/7119/7119415.png" width="50" />

<br>

# Inspiration

- **[ChrisTitusTech `linutil`](https://github.com/ChrisTitusTech)**
- **[ML4W `Dotfiles Script`](https://github.com/mylinuxforwork)**
- **[ChrisTitusTech `linutil`](https://github.com/ChrisTitusTech/linutil/)**
- **[ML4W `Dotfiles Script`](https://github.com/mylinuxforwork/dotfiles)**

*I have a good habit of exploring new things and trying out different ideas, whether it’s scripting or Linux-related tasks. Often, I find myself diving into scripting projects or experimenting with tools, even if it starts with just sitting around and tinkering.*

One of my inspirations has been watching Chris Titus Tech's [live streams](https://www.youtube.com/@TitusTechTalk) and [videos](https://www.youtube.com/@ChrisTitusTech). Chris has been working on an amazing project called [`linutil`](https://github.com/ChrisTitusTech/linutil/). It gave me the idea to start building my own project, but in my own unique way. Initially, my project was quite basicβ€”just a script with a `whiptail`-based TUI. It felt somewhat boring and clunky at the time.

Later, I discovered another inspiring creator, ML4W (My Linux For Work), whose [Hyprland scripts and configurations](https://github.com/mylinuxforwork/dotfiles) are quite popular. After exploring their repository, I noticed he used tools like `gum` and `figlet` in their scripts. I was amazed to see how these tools added flair to bash scripting.

Inspired by this, I returned to my own scripting work and implemented `gum` and `figlet` for enhanced ASCII text and user interactivity. It wasn’t an instant successβ€”the development process took time and effortβ€”but day by day, my script became more polished. Now, I’m quite proud of what I’ve built, and I truly enjoy using these tools in my work.

**I want to thank both [Chris Titus Tech](https://github.com/ChrisTitusTech) and [ML4W](https://github.com/mylinuxforwork/) for being such incredible sources of ideas and inspiration. While I put in the work, their creativity and contributions to the Linux community have played a big role in shaping my own journey. 😊**


31 changes: 16 additions & 15 deletions docs/getting-started/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,40 +2,41 @@

## What is Carch?

**Carch** is a simple yet powerful Bash script designed to simplify the process of setting up an Arch Linux system. With an intuitive menu interface powered by `gum`, Carch makes configuring your system as easy and efficient as possible, saving you valuable time.
**Carch** is a simple `Bash script` designed to simplify the process of setting up an `Arch` Linux system. With an intuitive menu interface powered by `gum`, Carch makes configuring your system as easy and efficient as possible, saving you valuable time.

### Features
## Features
- **Essential Package Installation**
Install a variety of daily-use applications, such as file managers, browsers, text editors, and more.
*Install a variety of daily-use applications, such as file managers, browsers, text editors, and more.*

- **Development Environment Setup**
Easily install popular development tools like VS Code, Cursor, Vim, and Neovim, all configured for immediate use.
*Easily install popular development tools like VS Code, Cursor, Vim, and Neovim, all configured for immediate use.*

- **Preconfigured Configurations**
Apply pre-setup configurations for key tools and applications, including:
- Terminals like Kitty and Alacritty.
- Neovim with custom themes and plugins.
*Apply pre-setup configurations for key tools and applications, including:*

- *Terminals like Kitty and Alacritty.*
- *Neovim with custom themes and plugins.*


All configurations are crafted and tested to provide a seamless experienceβ€”just select and run, and your setup is ready to go!
**All configurations are crafted and tested to provide a seamless experienceβ€”just select and run, and your setup is ready to go!**

- **Window Manager Installation**
Install and configure popular window managers like DWM, Hyprland, i3, and Sway, with more to come in future updates.
*Install and configure popular window managers like DWM, Hyprland, i3, and Sway, with more to come in future updates.*

## Why Choose Carch?
- **Time-Saving**
Carch’s preconfigured setups let you configure your system quickly and efficiently, without the hassle of manual installation and setup.
*Carch’s preconfigured setups let you configure your system quickly and efficiently, without the hassle of manual installation and setup.*

- **Stable and Reliable**
Updates are only pushed after rigorous testing to ensure stability and a bug-free experience.
*Updates are only pushed after rigorous testing to ensure stability and a bug-free experience.*

## GTK and CLI Support
- **GTK Version**
A GTK-based version of Carch is available (currently in development) for a more user-friendly, graphical experience.
*A GTK-based version of Carch is available `(currently in development)` for a more user-friendly, graphical experience.*

- **Carch CLI**
A command-line interface is also included for handling various instructions and tasks.
*A command-line interface is also included for handling various instructions and tasks.*

With Carch, you can effortlessly handle all basic tasks and system setups. Feedback is always welcome, and we look forward to hearing from you!
**With Carch, you can effortlessly handle all basic tasks and system setups. Feedback is always welcome, and we look forward to hearing from you!**

Thank you for choosing Carch. 😊

118 changes: 91 additions & 27 deletions docs/github/contributing.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,105 @@
# Contributing to **Carch** 🀝
# Contributing to **Carch**

*Contributions are welcome! If you want to help improve **Carch**, please fork the repository and submit a pull request.*
<img src="https://cdn-icons-png.flaticon.com/128/993/993686.png" width="50" />

We’re excited that you’re interested in contributing to **Carch**! Contributions of all kinds are welcome, whether you’re fixing bugs, adding new features, or improving documentation. Follow this guide to get started.

## Steps to Contribute

1. 🍴 **Fork the repository**
- Click the "Fork" button at the top right corner of the repository page to create your own copy of the project.
### 1. 🍽️ Fork the Repository
- Go to the **Carch** GitHub page.
- Click the **Fork** button in the top-right corner to create your own copy of the repository.

### 2. 🌿 Clone the Forked Repository
- Use the following command to clone the repository to your local system:

```bash
git clone https://github.com/your-username/carch.git
```

- Replace `your-username` with your GitHub username.

:::tip :bulb: TIP
**You can also use GUI tools like `GitHub Desktop` or even the GitHub web interface to fork and clone repositories. These tools provide an easy-to-use visual interface for managing your contributions.**
:::

### 3. 🌱 Set the Original Repository as Upstream
- Add the original **Carch** repository as an upstream remote to keep your fork up to date:

```bash
cd carch
```

```bash
git remote add upstream https://github.com/original-author/carch.git
```

2. 🌿 **Create a new feature branch**
- Use a descriptive name for your branch that reflects the changes you are making.
- For example: `feature/add-new-script`, `bugfix/fix-installation-issue`.
### 4. πŸ‡ Create a New Feature Branch
- Before making changes, create a new branch with a descriptive name:

```bash
git checkout -b your-feature-branch-name
```
3. ✏️ **Make your changes**
- Implement your changes, ensuring that they align with the project's coding standards.
git checkout -b feature/your-branch-name
```

- Examples of branch names:
- `feature/add-new-script`
- `bugfix/fix-installation-issue`

### 5. πŸ”§ Make Your Changes
- Implement the necessary changes to the code or documentation.
- Ensure that your changes are clear, tested, and follow the project’s coding standards.

### 6. πŸ“ Stage and Commit Your Changes
- Add the modified files to the staging area:

4. πŸ’¬ **Commit your changes**
- Write a clear and descriptive commit message that explains what your changes do.
```bash
git commit -m "Add new feature: [brief description]"
````
5. πŸš€ **Push to the branch**
- Push your changes to your forked repository.
<pre><code>git push origin your-feature-branch-name</code></pre>
git add .
```

6. πŸ“₯ **Submit a pull request**
- Navigate to the original repository and click on "New Pull Request."
- Select your feature branch and provide a description of your changes.
- Commit your changes with a clear message:

```bash
git commit -m "Add: [brief description of your changes]"
```

### 7. πŸš€ Push the Changes to Your Fork
- Push your branch to your forked repository:

```bash
git push origin feature/your-branch-name
```

### 8. πŸ“₯ Submit a Pull Request (PR)
- Go to the original **Carch** repository on GitHub.
- Click on **New Pull Request**.
- Select your branch from the dropdown and describe your changes in detail.
- Submit the PR for review!

## Guidelines

- Ensure that your code follows the existing style and conventions of the project.
- Test your changes locally to ensure everything works as expected.
- If your changes introduce new features, consider updating the documentation as well.
### Code Quality
- Follow the existing coding style of the project.
- Write clear, concise, and well-documented code.

### Testing
- Test your changes locally to ensure they work as expected.
- If your changes introduce new features, add necessary tests where applicable.

### Documentation
- If your changes involve new functionality, update the relevant documentation.
- Ensure the README or Wiki reflects your updates.

### Syncing Your Fork
- Keep your fork updated to avoid conflicts:

```bash
git fetch upstream
```
```bash
git merge upstream/main
```
- Replace `main` with the default branch of the repository if it’s different.

Thank you for contributing to **Carch**! Your effort helps make this project better for everyone. <img src="https://cdn-icons-png.flaticon.com/128/2279/2279398.png" width="50" />


Thank You !!
88 changes: 45 additions & 43 deletions docs/github/roadmap.md
Original file line number Diff line number Diff line change
@@ -1,92 +1,94 @@
# Carch Project Roadmap πŸš€
# Carch Project Roadmap

**Current Phase: Advancing Script Development**
The project is now progressing through its development phase, focusing on creating scripts to simplify the Arch Linux setup process. πŸ› οΈ
**Current Phase** *[ Advancing Script Development ]* <img src="https://cdn-icons-png.flaticon.com/128/4315/4315445.png" width="20" />

---
*The project is now progressing through its development phase, focusing on creating scripts to simplify the Arch Linux setup process.* πŸ› οΈ

## Upcoming Features and Improvements ✨

1. **Expand Functionality for Different Distributions 🌐**
- **Expand Functionality for Different Distributions 🌐**
- Add full support for popular distributions:
- **Arch** (including Manjaro) πŸ–₯️
- **Debian** 🐧
- **Fedora** πŸ•
- **openSUSE** 🐒
- **Void** 🌌
- **Arch** (including Manjaro) πŸ–₯️ <img src="https://img.icons8.com/?size=48&id=uIXgLv5iSlLJ&format=png" width="20" />
- **Debian** <img src="https://img.icons8.com/?size=48&id=17838&format=png" width="20" />
- **Fedora** <img src="https://img.icons8.com/?size=48&id=ZbBhBW0N2q3D&format=png" width="20" />
- **openSUSE** <img src="https://cdn0.iconfinder.com/data/icons/flat-round-system/512/opensuse-512.png" width="20" />
- **Void** <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/0/02/Void_Linux_logo.svg/256px-Void_Linux_logo.svg.png" width="20" />
- Develop distribution-specific setup scripts.

2. **Enhance Script Stability πŸ”§**
- **Enhance Script Stability πŸ”§**
- Refactor existing scripts for improved stability.
- Implement error handling and logging for better debugging.

3. **Improve TUI (Text-based User Interface) 🎨**
- **Improve TUI (Text-based User Interface) 🎨**
- Enhance user experience with better navigation and visuals.
- Add more themes and customization options.
- Integrate user feedback for continuous improvement.
- Explore GTK integration for a graphical interface.

4. **Implement Additional Programming Languages πŸ’»**
- **Implement Additional Programming Languages** <img src="https://img.icons8.com/?size=64&id=t7vIvDXazOGO&format=png" width="20" />
- Add Rust implementations for performance-critical components.
- Explore opportunities for parallel development in Rust.

5. **Add Window Manager (WM) Setup Scripts πŸͺŸ**
- **Add Window Manager (WM) Setup Scripts πŸͺŸ**
- Create and improve installation/setup scripts for more window managers (e.g., i3, Sway).
- Include configuration options tailored for each WM.

6. **Core System Setup Scripts βš™οΈ**
- **Core System Setup Scripts βš™οΈ**
- Develop beginner-friendly scripts for core system setup (e.g., package management, user configuration).
- Include guides and documentation to assist new users.

7. **Enhance TUI with Rust πŸ¦€**
- **Enhance TUI with Rust πŸ¦€**
- Transition the TUI implementation to Rust for improved performance and maintainability.
- Leverage Rust's features to create a more responsive interface.

---

## Carch Project Checklist βœ…
## Carch Project Checklist
<img src="https://cdn-icons-png.flaticon.com/128/8090/8090840.png" width="30" />

- **Expand support for popular distributions:**
- [x] Arch (including Manjaro) πŸ–₯️
- [ ] Debian 🐧
- [ ] Fedora πŸ•
- [ ] openSUSE 🐒
- [ ] Void 🌌

- Arch <img src="https://img.icons8.com/?size=48&id=uIXgLv5iSlLJ&format=png" width="20" /> <img src="https://cdn-icons-png.flaticon.com/128/190/190411.png" width="20" />
- Debian <img src="https://cdn-icons-png.flaticon.com/128/190/190406.png" width="20" />
- Fedora <img src="https://cdn-icons-png.flaticon.com/128/190/190406.png" width="20" />
- openSUSE <img src="https://cdn-icons-png.flaticon.com/128/190/190406.png" width="20" />
- Void <img src="https://cdn-icons-png.flaticon.com/128/190/190406.png" width="20" />

- **Refactor scripts for stability:**
- [x] Implement error handling
- [ ] Add logging capabilities

- Implement error handling <img src="https://cdn-icons-png.flaticon.com/128/190/190411.png" width="20" />
- Add logging capabilities <img src="https://cdn-icons-png.flaticon.com/128/190/190406.png" width="20" />

- **Improve TUI:**
- [x] Enhance navigation
- [x] Add themes/customizations
- [x] GUI/GTK
- [ ] Gather user feedback

- Enhance Navigation <img src="https://cdn-icons-png.flaticon.com/128/190/190411.png" width="20" />
- Add themes/customizations <img src="https://cdn-icons-png.flaticon.com/128/190/190411.png" width="20" />
- GUI/GTK <img src="https://cdn-icons-png.flaticon.com/128/190/190411.png" width="20" />
- Gather user feedback <img src="https://cdn-icons-png.flaticon.com/128/190/190406.png" width="20" />


- **Implement additional programming languages:**
- [ ] Develop Rust components
- [ ] Assess areas for parallel development

- Develop Rust components <img src="https://cdn-icons-png.flaticon.com/128/190/190406.png" width="20" />
- Assess areas for parallel development <img src="https://cdn-icons-png.flaticon.com/128/190/190406.png" width="20" />

- **Add WM setup scripts:**
- [x] i3 setup script
- [x] Sway setup script
- [x] Other window manager scripts

- i3 setup script <img src="https://cdn-icons-png.flaticon.com/128/190/190411.png" width="20" />
- Sway setup script <img src="https://cdn-icons-png.flaticon.com/128/190/190411.png" width="20" />
- Other window manager scripts <img src="https://cdn-icons-png.flaticon.com/128/190/190411.png" width="20" />

- **Create core system setup scripts:**
- [ ] User configuration
- [x] Package management
- [x] Documentation for beginners

- User configuration <img src="https://cdn-icons-png.flaticon.com/128/190/190406.png" width="20" />
- Package management <img src="https://cdn-icons-png.flaticon.com/128/190/190411.png" width="20" />
- Documentation for beginners <img src="https://cdn-icons-png.flaticon.com/128/190/190411.png" width="20" />

- **Transition TUI to Rust:**
- [ ] Research best practices for TUI development in Rust
- [ ] Implement and test new TUI

---
- Research best practices for TUI development in Rust <img src="https://cdn-icons-png.flaticon.com/128/190/190406.png" width="20" />
- Implement and test new TUI <img src="https://cdn-icons-png.flaticon.com/128/190/190406.png" width="20" />

## Timeline (Tentative) πŸ“…

- **Q 2024**: Develop additional WM setup scripts and core system setup scripts. βœ”
- **Q 2024**: Develop additional WM setup scripts and core system setup scripts. <img src="https://cdn-icons-png.flaticon.com/128/190/190411.png" width="20" />
- **Q 2025**: Refactor existing scripts for stability and begin expanding distribution support.
- **Q Mid 2025**: Rust Implementation

2 changes: 1 addition & 1 deletion docs/installation/aur.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ paru -S carch-git

```

```sh [<i class="devicon-archlinuc-plain"></i> yay]
```sh [<i class="devicon-archlinux-plain"></i> yay]
yay -S carch
#or
yay -S carch-git
Expand Down
Loading

0 comments on commit 7b9f96f

Please sign in to comment.