diff --git a/README.md b/README.md index 4f15472..65ab3f2 100644 --- a/README.md +++ b/README.md @@ -65,32 +65,34 @@ In this way, you can use the syntax of the tool you are most familiar with to ma ### Supported Tools ``` -| Tool | Install | Uninstall | Upgrade | Search | Info | Update Index | Upgrade All | List Installed | -| -------- | --------------------------- | --------------------------- | ------------------------------- | -------------------------- | ------------------------------ | ------------------------ | ------------------------ | --------------------------------- | -| upt | upt install $pkg | upt remove/uninstall $pkg | upt upgrade $pkg | upt search $pkg | upt info/show $pkg | upt update | upt upgrade | upt list | -| apk | apk add $pkg | apk del $pkg | apk upgrade $pkg | apk search $pkg | apk info $pkg | apk update | apk upgrade | apk list -I/--installed | -| apt | apt install $pkg | apt remove $pkg | apt install --only-upgrade $pkg | apt search $pkg | apt show $pkg | apt update | apt upgrade | apt list -i/--installed | -| brew | brew install $pkg | brew uninstall $pkg | brew upgrade $pkg | brew search $pkg | brew info $pkg | brew update | brew upgrade | brew list | -| cards | cards install $pkg | cards remove $pkg | cards install -u/--upgrade $pkg | cards search $pkg | cards info $pkg | cards sync | cards upgrade | cards list | -| choco | choco install $pkg | choco uninstall $pkg | choco upgrade $pkg | choco search $pkg | choco info $pkg | choco upgrade all --noop | choco upgrade all | choco list -l/--local-only | -| dnf | dnf install $pkg | dnf remove $pkg | dnf upgrade $pkg | dnf search $pkg | dnf info $pkg | dnf check-update | dnf update | dnf list --installed | -| emerge | emerge $pkg | emerge --deselect $pkg | emerge --update $pkg | emerge --search $pkg | emerge --info $pkg | emerge --sync | emerge -vuDN @world | qlist -lv | -| eopkg | eopkg install $pkg | eopkg remove $pkg | eopkg upgrade $pkg | eopkg search $pkg | eopkg info $pkg | eopkg update-repo | eopkg upgrade | eopkg list-installed | -| flatpak | flatpak install $pkg | flatpak uninstall $pkg | flatpak update $pkg | flatpak search $pkg | flatpak info $pkg | - | flatpak update | flatpak list | -| guix | guix install $pkg | guix remove $pkg | guix upgrade $pkg | guix search $pkg | guix show $pkg | guix refresh | guix upgrade | guix package -I/--list-installed | -| nix-env | nix-env -i/--install $pkg | nix-env -e/--uninstall $pkg | nix-env -u/--upgrade $pkg | nix-env -qaP $pkg | nix-env -qa --description $pkg | nix-channel --update | nix-env -u/--upgrade | nix-env -q/--query --installed | -| opkg | opkg install $pkg | opkg remove $pkg | opkg upgrade $pkg | opkg find $pkg | opkg info $pkg | opkg update | opkg upgrade | opkg list --installed | -| pacman | pacman -S $pkg | pacman -Rs $pkg | pacman -S $pkg | pacman -Ss $pkg | pacman -Si $pkg | pacman -Syy | pacman -Syu | pacman -Qe | -| pkg | pkg install $pkg | pkg remove $pkg | pkg install $pkg | pkg search $pkg | pkg info $pkg | pkg update | pkg upgrade | pkg info -a/--all | -| pkg(2) | pkg install $pkg | pkg uninstall $pkg | pkg install $pkg | pkg search $pkg | pkg show $pkg | pkg update | pkg upgrade | pkg list-installed | -| scoop | scoop install $pkg | scoop uninstall $pkg | scoop update $pkg | scoop search $pkg | scoop info $pkg | scoop update | scoop update * | scoop list | -| slackpkg | slackpkg install | slackpkg remove | slackpkg upgrade | slackpkg search | slackpkg info | slackpkg update | slackpkg upgrade-all | ls -1 /var/log/packages | -| snap | snap install --classic $pkg | snap remove $pkg | snap refresh $pkg | snap find $pkg | snap info $pkg | - | snap refresh | snap list | -| urpm | urpmi $pkg | urpme $pkg | urpmi $pkg | urpmq -y/--fuzzy $pkg | urpmq -i $pkg | urpmi.update -a | urpmi --auto-update | rpm -q/--query --all | -| winget | winget install $pkg | winget uninstall $pkg | winget upgrade $pkg | winget search $pkg | winget show $pkg | - | winget upgrade --all | winget list | -| xbps | xbps-install $pkg | xbps-remove $pkg | xbps-install -u/--update $pkg | xbps-query -Rs $pkg | xbps-query -RS $pkg | xbps-install -S/--sync | xbps-install -u/--update | qxbps-query -l/--list-pkgs | -| yum | yum install $pkg | yum remove $pkg | yum upgrade $pkg | yum search $pkg | yum info $pkg | yum check-update | yum update | yum list --installed | -| zypper | zypper install $pkg | zypper remove $pkg | zypper update $pkg | zypper search $pkg | zypper info $pkg | zypper refresh | zypper update | zypper search -i/--installed-only | +| Tool | Install | Uninstall | Upgrade | Search | Info | Update Index | Upgrade All | List Installed | +| ----------- | --------------------------- | --------------------------- | ------------------------------- | -------------------------- | ------------------------------ | ------------------------ | ------------------------ | --------------------------------- | +| upt | upt install $pkg | upt remove/uninstall $pkg | upt upgrade $pkg | upt search $pkg | upt info/show $pkg | upt update | upt upgrade | upt list | +| apk | apk add $pkg | apk del $pkg | apk upgrade $pkg | apk search $pkg | apk info $pkg | apk update | apk upgrade | apk list -I/--installed | +| apt | apt install $pkg | apt remove $pkg | apt install --only-upgrade $pkg | apt search $pkg | apt show $pkg | apt update | apt upgrade | apt list -i/--installed | +| brew | brew install $pkg | brew uninstall $pkg | brew upgrade $pkg | brew search $pkg | brew info $pkg | brew update | brew upgrade | brew list | +| cards | cards install $pkg | cards remove $pkg | cards install -u/--upgrade $pkg | cards search $pkg | cards info $pkg | cards sync | cards upgrade | cards list | +| choco | choco install $pkg | choco uninstall $pkg | choco upgrade $pkg | choco search $pkg | choco info $pkg | choco upgrade all --noop | choco upgrade all | choco list -l/--local-only | +| dnf | dnf install $pkg | dnf remove $pkg | dnf upgrade $pkg | dnf search $pkg | dnf info $pkg | dnf check-update | dnf update | dnf list --installed | +| emerge | emerge $pkg | emerge --deselect $pkg | emerge --update $pkg | emerge --search $pkg | emerge --info $pkg | emerge --sync | emerge -vuDN @world | qlist -lv | +| eopkg | eopkg install $pkg | eopkg remove $pkg | eopkg upgrade $pkg | eopkg search $pkg | eopkg info $pkg | eopkg update-repo | eopkg upgrade | eopkg list-installed | +| flatpak | flatpak install $pkg | flatpak uninstall $pkg | flatpak update $pkg | flatpak search $pkg | flatpak info $pkg | - | flatpak update | flatpak list | +| guix | guix install $pkg | guix remove $pkg | guix upgrade $pkg | guix search $pkg | guix show $pkg | guix refresh | guix upgrade | guix package -I/--list-installed | +| nix-env | nix-env -i/--install $pkg | nix-env -e/--uninstall $pkg | nix-env -u/--upgrade $pkg | nix-env -qaP $pkg | nix-env -qa --description $pkg | nix-channel --update | nix-env -u/--upgrade | nix-env -q/--query --installed | +| opkg | opkg install $pkg | opkg remove $pkg | opkg upgrade $pkg | opkg find $pkg | opkg info $pkg | opkg update | opkg upgrade | opkg list --installed | +| pacman | pacman -S $pkg | pacman -Rs $pkg | pacman -S $pkg | pacman -Ss $pkg | pacman -Si $pkg | pacman -Syy | pacman -Syu | pacman -Qe | +| pkg | pkg install $pkg | pkg remove $pkg | pkg install $pkg | pkg search $pkg | pkg info $pkg | pkg update | pkg upgrade | pkg info -a/--all | +| pkg(termux) | pkg install $pkg | pkg uninstall $pkg | pkg install $pkg | pkg search $pkg | pkg show $pkg | pkg update | pkg upgrade | pkg list-installed | +| pkgman | pkgman install $pkgman | pkgman uninstall $pkgman | pkgman update $pkgman | pkgman search $pkgman | - | pkgman refresh | pkgman update | pkgman search -i -a | +| pacman | pacman -S $pkg | pacman -Rs $pkg | pacman -S $pkg | pacman -Ss $pkg | pacman -Si $pkg | pacman -Syy | pacman -Syu | pacman -Qe | +| scoop | scoop install $pkg | scoop uninstall $pkg | scoop update $pkg | scoop search $pkg | scoop info $pkg | scoop update | scoop update * | scoop list | +| slackpkg | slackpkg install | slackpkg remove | slackpkg upgrade | slackpkg search | slackpkg info | slackpkg update | slackpkg upgrade-all | ls -1 /var/log/packages | +| snap | snap install --classic $pkg | snap remove $pkg | snap refresh $pkg | snap find $pkg | snap info $pkg | - | snap refresh | snap list | +| urpm | urpmi $pkg | urpme $pkg | urpmi $pkg | urpmq -y/--fuzzy $pkg | urpmq -i $pkg | urpmi.update -a | urpmi --auto-update | rpm -q/--query --all | +| winget | winget install $pkg | winget uninstall $pkg | winget upgrade $pkg | winget search $pkg | winget show $pkg | - | winget upgrade --all | winget list | +| xbps | xbps-install $pkg | xbps-remove $pkg | xbps-install -u/--update $pkg | xbps-query -Rs $pkg | xbps-query -RS $pkg | xbps-install -S/--sync | xbps-install -u/--update | qxbps-query -l/--list-pkgs | +| yum | yum install $pkg | yum remove $pkg | yum upgrade $pkg | yum search $pkg | yum info $pkg | yum check-update | yum update | yum list --installed | +| zypper | zypper install $pkg | zypper remove $pkg | zypper update $pkg | zypper search $pkg | zypper info $pkg | zypper refresh | zypper update | zypper search -i/--installed-only | ``` ### OSs @@ -137,6 +139,8 @@ In this way, you can use the syntax of the tool you are most familiar with to ma +------------------------------------------------------+----------------------+ | android | pkg(termux) | +------------------------------------------------------+----------------------+ +| haiku | pkgman | ++------------------------------------------------------+----------------------+ | * | apt, dnf, pacman | +------------------------------------------------------+----------------------+ ``` diff --git a/src/utils.rs b/src/utils.rs index 3a5d8af..c2aaf9c 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -50,7 +50,17 @@ pub fn detect_os() -> Option { Some("android".to_string()) } -#[cfg(not(any(target_os = "windows", target_os = "macos", target_os = "android")))] +#[cfg(target_os = "haiku")] +pub fn detect_os() -> Option { + Some("haiku".to_string()) +} + +#[cfg(not(any( + target_os = "windows", + target_os = "macos", + target_os = "android", + target_os = "haiku" +)))] pub fn detect_os() -> Option { let release = std::fs::read_to_string("/etc/os-release").ok()?; let id = release.lines().find(|l| l.starts_with("ID="))?; diff --git a/src/vendor.rs b/src/vendor.rs index d701afb..b0f37c4 100644 --- a/src/vendor.rs +++ b/src/vendor.rs @@ -69,7 +69,9 @@ os_tools!( "freebsd" => "pkg"; "ghostbsd" => "pkg"; // pkg(termux) - "andorid" => "pkg(termux)" + "andorid" => "pkg(termux)"; + // pkgman + "haiku" => "pkgman"; ); vendors![ @@ -265,6 +267,18 @@ vendors![ upgrade_all: "pkg upgrade", list_installed: "pkg list-installed", }, + { + name: "pkgman", + confirm: "-y", + install: "pkgman install $", + remove: "pkgman uninstall $", + upgrade: "pkgman update $", + search: "pkgman search $", + info: "", + update_index: "pkgman refresh", + upgrade_all: "pkgman update", + list_installed: "pkgman search -i/--installed-only -a/--all", + }, { name: "scoop", confirm: "",