add to catalog

This commit is contained in:
setop 2024-01-06 20:30:39 +01:00
parent b55ac9a2ba
commit cd72e16fef
3 changed files with 31 additions and 9 deletions

View File

@ -54,7 +54,7 @@ Inspired by envinstall (private), [webinstall](gh:webinstall/webi-installers), [
* default status of an entry in the catalog is "ok" which means the process has been tested under linux-amd64
* entry name in the catalog is the name of the exe ; a prefered name can be added as a property
* packages are downloaded in `.cache/cliget`
* packages are downloaded in `~/.cache/cliget`
* tools in unpacked in `~/.local/programs` then symlinked in `~/.local/bin` which must be in PATH
* semver = semantic versioning : tools are versionned as `major[.minor[.patch[-prerelease[+build]]]]` so versions can be compared
* installed version is obtained by ruinning `<cli> --version`
@ -97,7 +97,7 @@ asdf is a wonderful tool when it comes to do software development in various pro
But this power comes with some constraints : a plugin has to be developed in order to integrate a new tool to asdf ; And versions of every tool that will be used for a project has to be declared in a config file.
CliGet does not handle multi-versions, tools are deployed for your whole profile.
CliGet does not handle multi-versions and tools are deployed for your whole profile.
In short, if you want to manage development environment, use asfd. If you want to install small tools, use CliGet. They do not conflict, they are complement each other.
@ -105,24 +105,24 @@ In short, if you want to manage development environment, use asfd. If you want t
Package managers handle dependencies and install software system wide, for all users. Not all softwares are packaged for all OS distributions because this is hard work for maintainers. So you end up with some softwares not available or not up to date.
CliGet only install standalone programs, in the user profile (`.local/bin`). It does its best to find the last version and the best way to install the software. The is no need to package for CliGet.
CliGet only install standalone programs, in the user profile (`.local/bin`). It does its best to find the last version and the best way to install the software. There is no need to package for CliGet.
#### I already use Flatpack, AppImage, Snap to install tools in my profile, why would I need CliGet ?
These are package managers for the user profile. They come with heavy runtime. And, as classic package manager, not all tools are packaged nor up to date as it requires work from maintainers.
CliGet does not sandbox, nor manage dependencies but does not any special packaging.
CliGet does not sandbox, nor manage dependencies but does not require any special packaging.
#### I don't want to install python on my machine
CliGet is written in Python but packaged as a standalone program with no dependencies except `libc` and `zlib`.
CliGet is written in Python but packaged as a standalone program with no dependencies except `libc` and `zlib`, thanks to [PyInstaller](https://pyinstaller.org).
#### I don't trust you. What prevent you from dumping me a malware instead of a genuine software ?
* source code is available and very straightforward. you can audit the code, build from source or even write your own version
* the tool, will by default, prompt you with clear information of what will be done before install
* the tool will, by default, prompt you with clear information of what will be done before install
* catalog is only one file, readable, with clear information on where the software is coming from and how it will be installed
* also keep in mind you also have to trust the to be installed software dev team. We are different teams.
* also keep in mind you also have to trust the software dev team. We are different teams.
#### I want this for macos or mswindows
@ -130,7 +130,7 @@ Currently only Linux is supported. It should work on all Unix like OS. For other
# references
* adfs
* [adfs](https://asdf-vm.com/)
* webinstall
* [has](https://github.com/kdabir/has), check versions of commands
* [nvchecker](https://github.com/kdabir/has), for checking if a new version of some software has been released.

View File

@ -115,6 +115,11 @@ ffmpeg:
desc: A complete, cross-platform solution to record, convert and stream audio and video
releases: http://ffmpeg.org/releases/
fgron:
desc: fast version of gron (use simdjson pull parser)
also provide a fast jq for simple expression
github: adamritter/fastgron
fio:
desc: io benchmark
@ -180,6 +185,17 @@ hx:
fullname: helix
desc: text editor, inspired by vim
jaq:
desc: A jq clone focussed on correctness, speed, and simplicity
tag: rust
github: 01mf02/jaq
jj:
desc: A Git-compatible DVCS that is both simple and powerful
github: martinvonz/jj
tag: rust
jless:
desc: a command-line JSON viewer designed for reading, exploring, and searching through JSON data
github: PaulJuliusMartinez/jless
@ -236,6 +252,12 @@ mc:
desc: minio client
versions: # see https://github.com/penpyt/asdf-mc/raw/master/bin/list-all
minify:
desc: minifiers for web formats
website: https://go.tacodewolff.nl/minify
github: tdewolff/minify
tag: Go
minijail:
desc: sandboxing and containment tool used in ChromeOS and Android
website: https://google.github.io/minijail/

View File

@ -3,7 +3,7 @@ docopt
semver
fuzzywuzzy
#thefuzz
#python-Levenshtein
python-Levenshtein
requests
#tabulate
#termtables