#configuration-management #tool #latest-version #kaleido

app sys-kaleido

sys-kaleido provides one-stop management for some new opensource system tools, such as ls, rm, cp .etc

3 releases

0.1.2 Mar 8, 2024
0.1.1 Mar 4, 2024
0.1.0 Mar 2, 2024

#154 in Command-line interface

Download history 388/week @ 2024-03-01 167/week @ 2024-03-08 7/week @ 2024-03-15 2/week @ 2024-03-29 84/week @ 2024-04-05

106 downloads per month

MIT license

97KB
2.5K SLoC

sys-kaleido

sys-kaleido provides one-stop management for some new opensource system tools, such as dust, lsd .etc. These tools have better output and/or speed.

sys-kaleido supports Linux, Windows and MacOS, and most of these systems tools have consistent experience across OS.

[NOTICE] sys-kaleido DOSE NOT scan any installed package, so be careful to use, especially for custom packages.

Configuration

sys-kaleido uses the file kaleido.toml as all packages configuration, and it will check the file every week to make sure it's update to date. Users may also use command sys-kaleido config update to update the file manualy.

Uses could add their own packages/bindles, but it's not recommended to edit kaleido.toml directly. Uses could create a file custom.toml in folder ~/.sys-kaleido/, and put all packages you like in that file. when merging kaleido.toml and custom.toml, packages/bindles in kaleido.toml have higher priority.

package

a package is a system tool, for example dust is a package, in kaleido.toml it looks like this:

[[packages]]
name = "dust"
url = "https://github.com/bootandy/dust"
version = "1.0.0"
replace = "du"
language = "rust"
bin_name = "dust"
[packages.github]
org = "bootandy"
repo = "dust"

bindle

a bindle is a collection of packages, and users could manage all packages in a bindle easier.

in configuration file:

[[bindles]]
name = "core"
[[bindles.packages]]
name = "dust"
alias = "du"
[[bindles.packages]]
name = "rmz"
alias = "rm"
[[bindles.packages]]
name = "cpz"
alias = "cp"

to install all packages in bindle core

$ sys-kaleido bindle install core

to uninstall all packages in bindle core

$ sys-kaleido bindle uninstall core

Install

Automated

  • Linux/macOS (bash/zsh)

    for linux, 'gnu' is the default abi in target triple, if you are not sure what to use, use the default.

    $ curl -sSL https://raw.githubusercontent.com/jinyuli/sys-kaleido/master/install.sh | bash
    

    the script accepts one argument --abi.

    to enable sys-kaleido command in current shell

    $ source "$HOME/.sys-kaleido/env"
    
  • Windows (pwsh)

    $ iwr https://raw.githubusercontent.com/jinyuli/sys-kaleido/master/install.ps1 -useb | iex
    

    the script accepts two parameters -abi(by default it's 'msvc') and -arch(by default it's 'x86_64')

Manual

  • Linux/MacOS

    • Create a directory for sys-kaleido (recommended: ~/.sys-kaleido), download executable file from releases, and copy it to the bin subdirectory of the sys-kaleido directory (i.e. ~/.sys-kaleido/bin), rename it to sys-kaleido.
    • Update system PATH to include sys-kaleido path.
  • Windows

    • Create a directory for sys-kaleido (recommended: ~/.sys-kaleido), download executable file from releases, and copy it to the bin subdirectory of the sys-kaleido directory (i.e. ~/.sys-kaleido/bin), rename it to sys-kaleido.exe.
    • Update system PATH to include sys-kaleido.exe path.

Features

  • search all released versions.
  • list all packages.
  • install packages.
  • uninstall installed packages.
  • update installed packages.
  • config update sys-kaleido configuration, it mainly contains all supported system tools.
  • upgrade sys-kaleido to latest version.
  • version show sys-kaleido current version.

Usage

update sys-kaleido to latest version:

$ sys-kaleido update

list all packages:

$ sys-kaleido list

search a package:

$ sys-kaleido search du

install a package:

$ sys-kaleido install dust

list bindles:

$ sys-kaleido bindle list

list all packages in a bindle:

$ sys-kaleido bindle list core

install all package in a bindle:

$ sys-kaleido bindle install core

Acknowledgement

supported tools:

Dependencies

~26–45MB
~763K SLoC