2024-08-20 19:02:31 +03:30
### 📦 **Parch-Profiler**
2024-08-20 15:29:29 +00:00
2024-08-20 19:02:31 +03:30
Parch-Profiler is a powerful Python-based utility designed specifically for Parch Linux. It simplifies the management of system packages and configurations by allowing you to generate, validate, and install packages—including AUR and Flatpak—using a structured TOML configuration file.
2024-08-20 15:29:29 +00:00
2024-08-20 19:02:31 +03:30
---
2024-08-20 15:29:29 +00:00
2024-08-20 19:02:31 +03:30
## 🚀 **Features**
2024-08-20 15:29:29 +00:00
2024-08-20 19:02:31 +03:30
- **Package Installation:**
- Install packages using Pacman, AUR (via `paru` ), and Flatpak from a single TOML file.
2024-08-20 15:29:29 +00:00
2024-08-20 19:02:31 +03:30
- **Configuration Management:**
- Clone configuration files, such as Neovim setups, directly from Git repositories.
2024-08-20 15:29:29 +00:00
2024-08-20 19:02:31 +03:30
- **Systemd Service Management:**
- Enable and start systemd services as specified in the TOML configuration.
2024-08-20 15:29:29 +00:00
2024-08-20 19:02:31 +03:30
- **TOML Validation:**
- Validate your TOML files to ensure they are correctly formatted.
- **Package List Generation:**
- Automatically generate TOML files listing all installed Pacman, AUR, and Flatpak packages.
- **File-based TOML Generation:**
- Convert simple text files listing packages into structured TOML files.
---
## 📄 **Usage**
### **1. Loading a TOML Configuration**
To install packages, clone configurations, and enable services:
```bash
2024-08-24 19:34:06 +03:30
parch-profiler apply --config config.toml
2024-08-20 19:02:31 +03:30
```
### **2. Validating a TOML Configuration**
Check if your TOML file is correctly formatted:
```bash
2024-08-24 19:34:06 +03:30
parch-profiler check config.toml
2024-08-20 15:29:29 +00:00
```
2024-08-20 19:02:31 +03:30
### **3. Generating a System Package List**
Generate a TOML file listing all installed Pacman, AUR, and Flatpak packages:
```bash
2024-08-24 19:34:06 +03:30
parch-profiler gen
2024-08-20 19:02:31 +03:30
```
2024-08-20 15:29:29 +00:00
2024-08-20 19:02:31 +03:30
## 🧰 **Sample `proto.toml` File**
Here’ s a sample `proto.toml` file that you can use as a starting point for your configurations:
```toml
# Pacman packages to be installed
2024-08-24 19:34:06 +03:30
[packages.pacman]
2024-08-20 19:02:31 +03:30
packages = [
"base-devel",
"neovim",
"git"
]
# AUR packages to be installed
2024-08-24 19:34:06 +03:30
[packages.paru]
packages = [
2024-08-20 19:02:31 +03:30
"google-chrome",
"paru-bin"
]
# Flatpak packages to be installed
2024-08-24 19:34:06 +03:30
[packages.flatpak]
packages = [
2024-08-20 19:02:31 +03:30
"com.spotify.Client",
"org.videolan.VLC"
]
# Systemd services to enable and start
[systemd]
systemd_services = [
"docker.service",
"nginx.service"
]
```
2024-08-20 15:29:29 +00:00
2024-08-20 19:02:31 +03:30
---
2024-08-20 15:29:29 +00:00
2024-08-20 19:02:31 +03:30
## 🛠️ **Installation**
2024-08-20 15:29:29 +00:00
2024-08-20 19:02:31 +03:30
To use Parch-Profiler on Parch Linux, clone the repository and ensure you have Python installed on your system:
2024-08-20 15:29:29 +00:00
2024-08-20 19:02:31 +03:30
```bash
2024-08-24 19:34:06 +03:30
git clone https://github.com/MirS0bhan/parch-profiler.git
python parch-profiler --help
```
OR
```bash
sudo pacman -S parch-profiler
parch-profiler --help
2024-08-20 19:02:31 +03:30
```
2024-08-20 15:29:29 +00:00
2024-08-20 19:02:31 +03:30
---
2024-08-20 15:29:29 +00:00
2024-08-20 19:02:31 +03:30
## ✨ **Contributing**
2024-08-20 15:29:29 +00:00
2024-08-20 19:02:31 +03:30
We welcome contributions! Please feel free to submit a Merge Request or open an Issue on GitLab.
2024-08-20 15:29:29 +00:00
2024-08-20 19:02:31 +03:30
---
2024-08-20 15:29:29 +00:00
2024-08-20 19:02:31 +03:30
## 📜 **License**
2024-08-20 15:29:29 +00:00
2024-08-20 19:02:31 +03:30
This project is licensed under the GPL-3 License - see the [LICENSE ](./LICENSE ) file for details.
2024-08-20 15:29:29 +00:00
2024-08-20 19:02:31 +03:30
---
2024-08-20 15:29:29 +00:00
2024-08-20 19:02:31 +03:30
## 🛠️ **Requirements**
2024-08-20 15:29:29 +00:00
2024-08-24 19:34:06 +03:30
- **Python ^3.8**
2024-08-20 19:02:31 +03:30
- **Parch Linux**
- **Pacman, paru, flatpak**
2024-08-20 15:29:29 +00:00
2024-08-20 19:02:31 +03:30
---
2024-08-20 15:29:29 +00:00
2024-08-20 19:02:31 +03:30
## 📧 **Support**
2024-08-20 15:29:29 +00:00
2024-08-20 19:02:31 +03:30
For any issues or feature requests, please reach out through the GitLab repository.
2024-08-20 15:29:29 +00:00