Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 86 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# Contributing to Software Manager

We appreciate all contributions, whether they are bug fixes, UI improvements, or new features.

## How to Contribute

### 1. Fork the Repository

- Fork the repository to your own GitHub account by clicking the "Fork" button on the top-right of the project page.

### 2. Clone Your Fork

- Clone your forked repository to your local machine:
```bash
git clone git@github.com:acmpesuecc/Night-Manager.git
cd Night-Manager
```

### 3. Create a Branch for Your Contribution

- Create a new branch for your contribution:
```bash
git checkout -b issue-description
```

### 4. Make Your Changes

- Make your changes to the code.
- Ensure that the code follows the existing code style.
- Address the specific issue you're working on. Here are some current open issues:

#### Current Issues

- **Issue 1**: Ensure terminal widget reflects actual package operations (install/uninstall).
- **Issue 2**: Remove unnecessary or redundant packages from the list.
- **Issue 3**: UI enhancements such as resizing, improving visibility, and responsiveness.
- **Issue 4**: Implement package installation/uninstallation logic using `pacman`.
- **Issue 5**: Add support for the Arch User Repository (AUR).
- **Issue 6**: Add a warning when attempting to download/install from the AUR (must be done after resolving terminal issues).
- **Issue 7**: Add package search functionality using `yay -Ss`.

### 5. Test Your Changes

- Make sure to test the functionality thoroughly:
- Test installing and uninstalling packages.
- Ensure the terminal output works as expected.
- Make sure the UI behaves correctly and is responsive.

### 6. Commit Your Changes

- Commit your changes with a meaningful commit message:
```bash
git add .
git commit -m "Fix issue #X: Description of what you've fixed/added"
```

### 7. Push to Your Fork

- Push your changes to your forked repository:
```bash
git push origin issue-description
```

### 8. Create a Pull Request

- Go to the original repository on GitHub and create a pull request. Please ensure your PR includes a description of what you did and references the issue it solves (if applicable).

### 9. Get Feedback
Wait for a maintainer to review your pull request (PR) and provide feedback.

### 10. Gain Bounty Points :)
If everything is approved, your issue will be closed, and you'll gain bounty points on the leaderboard!

---

## Code of Conduct

We expect contributors to be respectful to others, and help maintain a welcoming environment.

## Reporting Issues

- If you encounter bugs, feel free to open an issue on the GitHub Issues page. Be sure to include a clear description of the problem and steps to reproduce it.

---

Thank you for contributing to Night Manager!
1 change: 1 addition & 0 deletions OneDrive/Desktop/HackNight 6.0/Night-Manager
Submodule Night-Manager added at 1b86bf
71 changes: 71 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Night Manager

A GTK-based Software Manager that provides a graphical interface for managing packages on an Arch-based system. It integrates with `pacman` and will eventually include AUR support to install and remove packages directly from the application, with a built-in terminal for transparency.

## Features

- Browse available packages using `pacman`.
- View detailed information about each package.
- Install and uninstall packages.
- Integrated terminal to show package management logs.
- Future support for AUR with warning prompt.
- Basic search functionality (WIP).

## Getting Started

### Prerequisites

- GTK 3
- VTE Terminal
- Arch Linux or any Arch-based distribution (for testing, feel free to use a vm, or request help on the same)
- `pacman` and optionally `yay` for AUR support

### Installation

1. Clone the repository:
```bash
git clone git@github.com:acmpesuecc/Night-Manager.git
cd Night-Manager
```

2. Install dependencies (for linux):
```bash

sudo pacman -S gtk3 vte3 base-devel
```

3. Compile and run the software:
```bash
gcc -o software-manager software_manager.c $(pkg-config --cflags --libs gtk+-3.0 vte-2.91)
./software-manager
```

### Usage

- Select a package from the list to view its details.
- Use the `Install` button to install the selected package.
- Use the `Uninstall` button to remove an installed package.
- Toggle the built-in terminal to see the `pacman` logs during installation and uninstallation.

### Roadmap

#### Issues
- [ ] **Issue 1**: Terminal output should reflect actual package management operations.
- [ ] **Issue 2**: Remove unneeded or redundant packages from the list.
- [ ] **Issue 3**: UI Enhancements for better user experience.
- [ ] **Issue 4**: Implement actual functionality to install/uninstall packages.
- [ ] **Issue 5**: Include support for installing packages from AUR.
- [ ] **Issue 6**: Show a warning when installing from AUR.
- [ ] **Issue 7**: Add package search functionality (e.g., via `yay -Ss`).

### Contact
6366250274 for any queries or assistance
### Contributing

We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on how to contribute to this project.

---

## License

This project is licensed under the GNU General Public License V3 - see the [LICENSE](LICENSE) file for details.