Content-Length: 341403 | pFad | http://github.com/NQMVD/boss

BA GitHub - NQMVD/boss: the boss of package management.
Skip to content
/ boss Public

the boss of package management.

License

Notifications You must be signed in to change notification settings

NQMVD/boss

Repository files navigation

boss

The boss of package management.

boss shot
boss shot

Usage

Just give it a package name and it will collect info about it from your available package managers. It will show you an entry for each manager: a state and an optional version. There is three states:

  1. Installed
  2. Not installed, but available
  3. Not available (not found)

Oh and it sorts the results based on the state. And when the new table format is finally implemented it will be as compact and clean as possible.

[!WARNING] boss is still in development and far from being fully featured.

Tip

... but you can already use it anyways! Let me know how you like it.

Showcase

open sesame

helix query

default.tape

helix query --interactive

interactive.tape

shows latest version and installed version

newversion.tape

stays quiet for scripts

quiet.tape

Roadmap

theres also a mind map that's a little more structured

  • check all available package managers for a given package:
    • if it's installed,
    • if not, if it's available to download with a manager.
  • show descriptions for available packages
  • show the latest version of the package
  • show the installed version of the package
  • quiet flag to only return with 0 or 1
  • interative flag to prompt the user
  • continue with a prompt what to do (install, update, etc.)
  • check for similar package names (like pkg-cli, pkg-git, pkg-bin, pkg-2)
  • preferences (sorting of order of managers)
  • outputs:
    • pretty cliclack
    • plain (dont use cliclack for output but plain text or markdown)
    • table (use nu)
  • read files instead of calling commands when possible
  • check mutiple packages
  • config file
  • cache results for a day
  • more checks (validate location, sourced in path, etc.)
  • multithreading or async (main bottleneck right now are the individual managers)
  • taking inspiration from topgrade on how to work with different managers.

Support

General

  • apt
  • snap
  • yay
  • flatpak
  • brew?
  • pacman (if yay is not installed)
  • paru (if yay is not installed)
  • dnf?
  • rpm?
  • zypper?
  • nix?

Language specific

  • cargo
  • go (disabled for now)
  • npm
  • yarn?
  • pip
  • pypi?
  • pipx?
  • gem?

Installation

From source

with cargo (recommended)

cargo install boss-cli

Note

the crate for boss is called boss-cli as there's already a baseball progam called boss...

with cargo via git

cargo install --git https://github.com/NQMVD/boss.git

clone the repo (with gh)

gh repo clone NQMVD/boss
cd boss
cargo install --path .

clone the repo

git clone https://github.com/NQMVD/boss
cd boss
cargo install --path .

Note

binaries will be included at some point...

Update

From source

with cargo

cargo install boss-cli

with cargo-update

cargo install-update boss-cli

update the repo

git pull
cargo install --path .

Details

  • uses rust because of string processing capabilities and safety
  • uses cliclack for the pretty structured output
  • uses strp for parsing the command outputs
  • calls shell commands
  • works on Linux
  • might work on macOS (will test with darling soon)
  • won't work on Windows (also not planned to do so...)








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/NQMVD/boss

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy