Confix is a powerful yet simple CLI tool designed to help you manage package configurations effortlessly. 📦✨
- 🔍 Check if packages are installed
- 📥 Install missing packages
- 📝 Manage configurations with ease
- 🌟 Supports JSON and JSONC (kindoff)
Get your configurations fixed with Confix! 🛠️🔧
Before you begin, ensure you have the following prerequisites installed on your system:
- Arch-based Linux distribution: Confix is specifically designed for Arch-based distributions.
- yay: Confix utilizes
yay
as the package manager for installing and managing packages. - JSON configuration file: You need a valid JSON configuration file located at
~/.config/confix/packages.json
that lists the packages you want Confix to manage.
Confix requires the following dependencies to be installed on your system:
jsoncpp
: A C++ library for handling JSON data.argparse
: A command-line argument parsing library.
You can install these dependencies on Arch-based systems using the following command:
sudo pacman -S --noconfirm jsoncpp argparse
- Clone this project to your local machine:
git clone https://github.com/Srinath10X/Confix.git
- Change directory to the project folder:
cd Confix
- Compile the source and Install confix :
make install
- Ensure your local bin directory is in your PATH (if not already):
export PATH=$PATH:$HOME/.local/bin:$HOME/bin
After installation, you can run Confix from the terminal:
confix
Confix will read the configuration file (~/.config/confix/packages.json
or ~/.config/confix/packages.jsonc
), check for the specified packages, and install any that are missing.
Ensure your configuration file (~/.config/confix/packages.json
or ~/.config/confix/packages.jsoc
) follows this structure:
{
"packages": [
"package1",
"package2",
"package3",
"package4",
"....",
"packageN"
]
}
List all the packages you want Confix to manage under the "packages"
array.
Contributions are welcome! If you have suggestions or improvements, please feel free to open an issue or a pull request.
This project is licensed under the GPL v3 License.