It's a package manager for Linux distributions. Handles the installation and removal of packages with a simple command-line interface or terminal UI. Also includes a JSON file for package information and a script for building packages for different distributions.
This Packages building with github action. You can download it from here
Arch
The initial installation of vcandy can be done by cloning the PKGBUILD and building with makepkg:
pacman -S --needed git
git clone https://github.com/Hakanbaban53/Virtual-CANDY.git
cd Virtual-CANDY/test/scripts
makepkg -si
If you want to do all of this at once, we can chain the commands like so:
pacman -S --needed git && git clone https://github.com/Hakanbaban53/Virtual-CANDY.git && cd cd Virtual-CANDY/test/scripts && makepkg -si
Debian or Ubuntu
To install Candy on Debian or Ubuntu, it is sufficient to first clone this repository and make the build_deb_package.sh script executable and run it. It will automatically create and install the debian package:
apt install git
git clone https://github.com/Hakanbaban53/Virtual-CANDY.git
cd Virtual-CANDY/test/scripts
chmod +x ./build_deb_package.sh
./build_deb_package.sh
If you want to do all of this at once, we can chain the commands like so:
apt install git && git clone https://github.com/Hakanbaban53/Virtual-CANDY.git && cd Virtual-CANDY/test/scripts && chmod +x ./build_deb_package.sh && ./build_deb_package.sh
Fedora
To install Candy on Fedora, it is sufficient to first clone this repository and make the build_rpm_package.sh script executable and run it. It will automatically create and install the rpm package:
dnf install git
git clone https://github.com/Hakanbaban53/Virtual-CANDY.git
cd Virtual-CANDY/test/scripts
chmod +x ./build_rpm_package.sh
./build_rpm_package.sh
If you want to do all of this at once, we can chain the commands like so:
dnf install git && git clone https://github.com/Hakanbaban53/Virtual-CANDY.git && cd Virtual-CANDY/test/scripts && chmod +x ./build_rpm_package.sh && ./build_rpm_package.sh
# Arch
pacman -Rsc vcandy
# Debian or Ubuntu
apt remove vcandy
# Fedora
dnf remove vcany
- Also you can check the TEST.md file for more information.
With Arguments
Argument | Description | CLI | TUI |
---|---|---|---|
-a , --action |
Specifies the action to perform. Choices are 'install' or 'remove' . Default is 'install' . |
β | β |
-j , --json |
Specifies the JSON file to use for package information. Defaults to predefined. | β | β |
-u , --url |
Specifies the URL to use for package information. Overrides the JSON file. Its need the use with -r or --refresh . |
β | β |
-r , --refresh |
Refreshes the JSON data regardless of its file age. Useful to get the latest package information. | β | β |
-v , --verbose |
Enables verbose output for detailed information during execution. Helps with debugging or understanding process details. | β | β |
-d , --dry-run |
Performs a dry run of the command without making any changes. Useful for testing what would be done. | β | β |
-l , --list |
Lists available packages for the specified distribution. Useful for checking what packages are available. | β | β |
--distribution |
Specifies the Linux distribution to use. Defaults to auto-detecting the distribution. | β | β |
--all |
Installs or removes all available packages for the specified distribution. | β | β |
packages |
List of packages to install or remove. | β | β |
-v , --version |
Displays the version of VCANDY. | β | β |
-h , --help |
Displays the help message with a list of available arguments. | β | β |
-
Install specific packages:
vcand -a install package1 package2
-
Remove specific packages:
vcand -a remove package1 package2
-
Refresh JSON data:
vcand -r
-
Enable verbose output:
vcand -v -a install package1
-
Perform a dry run:
vcand -d -a install package1
-
List available packages:
vcand -l --distribution ubuntu
-
Install or remove all available packages:
vcand --all -a install
-
Specify distribution:
vcand --distribution ubuntu -a install package1
And one more thing. Arguments are case-sensitive. You need to give the package names as specified below:
With Terminal UI
If you install the in your pc you can use in the terminal vcandy or you can use "python app.py". Terminal UI start with default. Basic terminal UI for installer.
Use Left/Right arrow key select "yes" or "no". Press "Enter" key for confirm..
Use Up/Down arrow key move each other packager. Use "Tab" key Select/Unselect packages. Press Enter key the confirm packages.
Use "Ctrl + H" key for help.
- If you want to make own package
json
file for your purposes, you can check the PACKAGES.md file for more information.
If you encounter any issues or have suggestions for improvements, please feel free to open an issue on our GitHub Issues page. We welcome contributions and feedback from the community to make VCANDY better.
- Search Existing Issues: Before opening a new issue, please check if the issue has already been reported.
- Create a New Issue: If your issue is not listed, create a new issue and provide detailed information.
- Title: A clear and descriptive title.
- Description: A detailed description of the issue, including steps to reproduce, expected behavior, and actual behavior.
- Screenshots: If applicable, include screenshots to help illustrate the issue.
- Environment: Specify the environment in which the issue occurs (e.g., Distribution, VCANDY version).
We also welcome feature requests! If you have an idea for a new feature or an improvement, please open an issue and label it as a feature request. Provide as much detail as possible to help us understand your suggestion.
Thank you for helping us improve VCANDY!
π
βββ π README.md
βββ π LICENSE
βββ πΏ assets
β βββ π» preview images
βββ πΏ docs
β βββ π PACKAGES.md
β βββ π TEST.md
βββ πΏ packages
β βββ π packages.json
βββ πΏ src
β βββ βοΈ app.py
β βββ πΏ TUI
β β βββ πΏ core
β β β βββ πΏ components
β β β β βββ π __app_selector__.py
β β β β βββ π __footer__.py
β β β β βββ π __header__.py
β β β β βββ π __modal_win__.py
β β β β βββ π __print_apps__.py
β β β β βββ π __selections__.py
β β β βββ πΏ static
β β β β βββ π __color_init__.py
β β β β βββ π __data__.py
β β β βββ πΏ utils
β β β βββ π __check_connection__.py
β β β βββ π __clean_line__.py
β β β βββ π __clear_midde_section__.py
β β β βββ π __errors_.py
β β β βββ π __helper_keys__.py
β β β βββ π __input__.py
β β β βββ π __resize_handler__.py
β β βββ π __terminal_UI__.py
β βββ πΏ core
β β βββ π __check_repository_connection__.py
β β βββ π __command_handler__.py
β β βββ π __constants__.py
β β βββ π __get_os_package_manager__.py
β β βββ π __get_packages_data__.py
β β βββ π __linux_system__.py
β β βββ π __logging_manager__.py
β β βββ πΏ package_handlers
β β β βββ π __aur__.py
β β β βββ π __flatpak__.py
β β β βββ π __local__.py
β β β βββ π __normal__.py
β β β βββ π __special__.py
β β βββ π __pack_type_handler__.py
β βββ πΏ utils
β βββ πΏ cli
β βββ π __arguments__.py
βββ πΏ test
βββ πΏ scripts
β βββ π build_deb_package.sh
β βββ π build_rpm_package.sh
β βββ π PKGBUILD
βββ π test_app.py