Files
2026-05-30 02:58:59 +02:00

86 lines
2.5 KiB
Markdown

# Topaz
A package manager wrapper, that change the game.
## What is it?
Topaz is a package manager wrapper, that mean Topaz is not package manager
by it self, it uses other package managers to install, remove and check
packages.
So you can think what's the point of using it and it's good question,
Topaz allows you to better manage you packages by adding a **world file**.
**The world file** contains every package that is expicitly installed
on you system, so you can add packages to the list to add or remove them
from list to remove them.
After change to world file you run synchronize command that removes
unwanted packages and install missing ones.
## Usage
To use this PM Wrapper first you need to create a world file.
The world file describe every package that is should be installed
on your mashine.
To create it type
```bash
topaz export
```
This command will check currently installed packages and based on that
will create world file.
> [!NOTE]
> Default path to the world file is:
> `/etc/topaz/world.toml`
After creating the world file you can go add and/or remove packages from it,
then when you want to synchronize you mashine with the world file execute:
```bash
topaz sync
```
or if you want also delete packages instead of only installing/updating existing
```bash
topaz sync -r
```
That command will sync your mashine by installing/updating packages, but
also will delete unneeded packages like packages that you deleted from
`world.toml` or some abandoned packages.
If you want to see the difference between the world file and your mashine
you can use this command
```bash
topaz diff
```
It will print what packages are installed on your system that don't appear
in the world file and ones that are in the world file, but aren't installed
on your mashine.
When you want to only delete unwanted packages from your system you
can use this command
```bash
topaz pure
```
It will only delete unwanted packages without affecting everything else,
additionaly you can add `-a` argument. This is a equivalent to use
`-Rns` instead of `-Rs` in `pacman`.
## Instalation
You can use your favourite AUR Helper to install topaz eg.
```bash
yay -S topaz-pm
paru -S topaz-pm
```
## Support
Currently topaz fully support **Pacman** and **Yay**. **Paru** should work, but I don't
have setup to test it, so someone interested in using paru can test it and give feedback.
## License
This project is licensed under the GNU General Public License v3.0 or later.
See the [LICENSE](./LICENSE) file for details.