Install applications#
inc can install individual command-line applications with the native package
manager for your operating system. Application names, executable checks, and
package mappings live in inc/apps.toml, so the same command works across
supported computers.
Discover applications#
Run inc apps to see the detected platform, available applications, package
names, and whether each command is installed:
$ inc apps
Platform: arch
Applications:
gh missing github-cli GitHub CLI
git installed git Git version control
curl installed curl Command-line data transfer tool
ripgrep installed ripgrep Fast recursive text search
fzf installed fzf Command-line fuzzy finder
just installed just Command runner for project recipes
shellcheck missing shellcheck Shell script analyzer
node installed nodejs Node.js JavaScript runtime
Profiles:
core gh, git, curl, ripgrep, fzf
dev gh, git, curl, ripgrep, fzf, just, shellcheck, node
Check everything or only selected applications without changing the computer:
inc apps status
inc apps status gh shellcheck
Install an application#
Preview the native command first:
$ inc apps install gh --dry-run
gh: sudo pacman -S --needed --noconfirm github-cli
Then install it. inc asks for confirmation, invokes the native package
manager, and verifies the resulting executable with --version:
inc apps install gh
Pass --yes or -y to skip the inc confirmation prompt:
inc apps install gh --yes
After installing GitHub CLI, inc prints the authentication step:
gh auth login
Use the familiar inc run flow#
Catalog applications also appear alongside scripts in inc ls and the
inc run completion list. This keeps the original short workflow:
inc run gh --dry-run
inc run gh
inc run gh --yes
If a shell script and catalog application have the same name, the existing shell script takes precedence.
Install a profile#
Profiles install a useful group of applications. Already-installed commands are skipped automatically, and duplicate entries are removed:
inc apps install --profile core
inc apps install --profile dev --yes
The included profiles are:
Profile |
Applications |
|---|---|
|
|
|
core apps plus |
Shell completion#
Install completion once, then restart the shell:
inc --install-completion
Application and profile names can then be completed with Tab:
inc run g<Tab>
inc apps install g<Tab>
inc apps status sh<Tab>
inc apps install --profile d<Tab>
Supported package managers#
Platform family |
Package manager |
|---|---|
Arch and Manjaro |
|
Debian and Ubuntu |
|
Fedora, RHEL, and CentOS |
|
openSUSE |
|
macOS |
Homebrew |
Windows |
WinGet |
Run inc doctor to check catalog loading, platform detection, the native
package manager, the global inc command, and GitHub authentication when gh
is present.
Add an application#
Add a section to inc/apps.toml. The command is the executable used for
status and post-install verification; platform fields are native package names:
[apps.example]
description = "Example command-line application"
command = "example"
arch = "example"
debian = "example"
fedora = "example"
opensuse = "example"
macos = "example"
windows = "Publisher.Example"
post_install = ["example", "configure"]
Platform fields may be omitted when an application is not supported there.
Add the application name to a list under [profiles] if it belongs in a
profile. Catalog validation rejects profiles that refer to unknown apps.
Test a development checkout globally#
Install this checkout in editable mode so changes are immediately visible from other directories and terminal tabs:
just tool-install
just tool-check
Remove it later with just tool-uninstall.