iwant is a tool to install applications from provided manifest(.toml) using the supported package managers.
Install from source code:
$ cargo install --path .
Install from AUR:
$ paru -S iwant
- pacman
- paru
- flatpak (name allowed only:
flathub
) - cargo
- cargo-binstall
- npm
Because I'm an Arch Linux user, so the default manager is hard coded with pacman
;) .
The manifest of iwant is a toml file. It has the following structure:
[-]
cargo = "src"
[category0]
itemA = { packages = [], manager = "", desc = "" }
[category1]
# Or only explicitly states the
# *name* (here is "itemB") and
# *desc* (here is "itemB description").
itemB = "itemB description"
# ...more categories
The [-]
section is global options of iwant and it is optional. iwant will use default options when [-]
isn't found.
Key | Possible Values | Default | Description |
---|---|---|---|
cargo | src , bin |
src |
Control the command used by manager cargo |
The item
later would be translated into
name | category | packages | manager | description | |
---|---|---|---|---|---|
Default | -- | -- | item.name |
pacman | "" |
When you don't state the keys explicitly, they would have default values as above.
Some managers have variants:
-
cargo:
Value Description cargo
Executes the command specified by global key cargo
cargo:src
Executes cargo install
cargo:bin
Executes cargo binstall
In addition,
<owner>/<project>
is treated as github url path forcargo
. For example, iwant will translate the following itemiwant = { packages = ["TD-Sky/iwant"], manager = "cargo", desc = "Install applications what I WANT" }
into
cargo install --git 'https://github.com/TD-Sky/iwant'
.The command that installs from git isn't affected by the global key
cargo
.
Please iwant -h
and then read the help.
You can also refer to my manifest.
The MIT License (MIT)