Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kevspau/jitter
give the finger to git clone
https://github.com/kevspau/jitter
binary-manager github github-api nim package-management package-manager packages
Last synced: about 2 months ago
JSON representation
give the finger to git clone
- Host: GitHub
- URL: https://github.com/kevspau/jitter
- Owner: kevspau
- License: mit
- Created: 2022-07-16T04:19:53.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-01-21T00:02:58.000Z (over 1 year ago)
- Last Synced: 2024-04-10T01:41:40.984Z (2 months ago)
- Topics: binary-manager, github, github-api, nim, package-management, package-manager, packages
- Language: Nim
- Homepage:
- Size: 130 KB
- Stars: 92
- Watchers: 2
- Forks: 2
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- cli-apps - Jitter - A repository-oriented binary manager for Linux, Jitter searches through online repository (currently only on GitHub) for releases with .tar.gz, .tgz, .zip or .AppImage assets. (<a name="transfer"></a>Data transfer)
- awesome-cli-apps - Jitter - A repository-oriented binary manager for Linux, Jitter searches through online repository (currently only on GitHub) for releases with .tar.gz, .tgz, .zip or .AppImage assets. (<a name="transfer"></a>Data transfer)
README
# Jitter
**NOTICE: Jitter was made for experimental purposes, and for personal use. I have no need to update it in its current state as the current bugs are not very intrusive. I will still look at pull requests and I may update this occasionally, but I will be focusing on other projects.**
A repository-oriented binary manager for Linux
## How it works
Jitter searches through GitHub(and hopefully soon more sources) for releases with `.tar.gz`, `.tgz`, `.zip` or `.AppImage` assets. Unlike Homebrew or similar package managers, Jitter does not require a brewfile or nixfile in order to recognize the project.## Installing
Before installing, make sure you have glibc installed on your distro.Using the `install.sh` script (recommended):
```
wget -qO- https://github.com/sharpcdf/jitter/raw/main/install.sh | bash
```
To pass flags such as `--force` or `--uninstall` use:
```
wget -qO- https://github.com/sharpcdf/jitter/raw/main/install.sh | bash -s -- --flag
```
Through Nimble:
```
nimble install https://github.com/sharpcdf/jitter
```
Manually (versions above 0.3.0):
Download the latest release and run
```
./jtr setup
```
## Uninstalling
Through the install.sh script:
```
wget -qO- https://github.com/sharpcdf/jitter/raw/main/install.sh | bash -s -- --uninstall
```
## Notes
- Right now, Jitter only supports GitHub as a download source.
- You may encounter bugs as this project is still in development, please create an issue if you encounter anything wrong with jitter :)
- On Ubuntu or other distros, you may need to run `sudo apt install glibc-source` or similiar in order to use jitter.
- Because Jitter has no way of knowing what executable is meant to be run by the end user, it uses a loose method of finding the executables, and therefore there may be irrelavant executables added to the bin.
- Jitter requires git to be installed when using the -g flag
## Building
Clone the repository and run `nimble build` to create a release version, or `nim debug` to debug the code after making changes.
(You need to have Nim and Nimble installed).
```
git clone https://github.com/sharpcdf/jitter
cd jitter
nimble build
```## Usage
```
❯ jtr -h
A repository-oriented binary manager for LinuxUsage:
[options] COMMANDCommands:
install Installs the given repository, if avaliable. [gh:][user/]repo[@tag]
update Updates the specified package, Jitter itself, or all packages if specified. [user/repo[@tag]][all][this|jitter|jtr]
remove Removes the specified package from your system. user/repo[@tag]
search Searches for repositories that match the given term, returning them if found. [user/]repo
list Lists all executables downloaded.
catalog Lists all installed packages.
setup Creates needed directories if they do not existOptions:
-h, --help
-v, --version
--no-make If makefiles are found in the downloaded package, Jitter ignores them. By default, Jitter runs all found makefiles.
--exactmatch When searching for a repository, only repositories with the query AS THEIR NAME will be shown. Jitter shows any repository returned by the query.
-g Clones the repo, and looks for makefiles or supported file types to build, then adds built executables to the bin
```### Example Usage
1. `jtr install gh:VSCodium/vscodium` - installs repository VSCodium/vscodium from github.
2. `jtr install vscodium` - searches for all repositories that have the name `vscodium`, and then installs the chosen one
3. `jtr search vscodium` - searches and lists all repositories that have `vscodium` in their name.
4. `jtr search VSCodium/vscodium` - searches and lists all release tags of repository `VSCodium/vscodium`
5. `jtr list` - lists all executables in jitter's bin.
6. `jtr catalog` - lists all downloaded repositories
7. `jtr remove VSCodium/vscodium` - removes VSCodium/vscodium from your system
8. `jtr install VSCodium/[email protected]` - installs VSCodium/vscodium release with the tag `1.69.0`
9. `jtr update VSCodium/vscodium` - updates vscodium to the latest version
10. ~~`jtr update (this|jitter|jtr)` - updates jitter to the latest release~~ broken in the code revamp, being worked on
11. `jtr update all` - updates all installed packagesNote: repositories are case insensitive, and all AppImage file names are converted to the name of the repository. `jtr install VSCodium/vscodium` is equivalent to `jtr install vscodium/vscodium`.