# 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.