diff --git a/README.md b/README.md new file mode 100644 index 0000000..d28d3cb --- /dev/null +++ b/README.md @@ -0,0 +1,85 @@ +# 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.