nicholasdille / packages

Installation script for tools I use regularly
2 stars 2 forks source link
bash docker dockerfile installer json renovate shell yaml

packages

This project is discontinued in favor of homebrew and my own tap.

Installer for tools I use regularly on Linux

Why

I am many tools which are either not included in my favourite Linux distribution or which are not updated fast enough. These tools are also used in my talks and workshops where I need to install them in environments provided to participants.

For a few years, I have maintained a list of commands to download and install these tools. But I ended up with outdated versions and duplicate instructions.

So, I started working on an installer for these tools.

Yes, this project seems to be competing with other tools:

Features

Non-Goals

Prerequisites

Most functionality is available with bash, curl and jq

The subcommands list and search also require column for formatting the output

Several packages require Docker and/or Git to compile the binaries from source

Some packages require some logic to install which is based on envsubst, make, xz, bzip2 and unzip

Usage

Install the package manager:

curl --silent https://pkg.dille.io/pkgctl | bash -s bootstrap

Download or update the package definitions:

pkgctl update

List available packages:

pkgctl list

Search packages:

pkgctl search docker
pkgctl search --tags docker

Install a package:

pkgctl install kind

Install a specific version of a package:

pkgctl install kind@v0.9.0

Install a package that is already installed:

pkgctl install --force kind

Install multiple packages:

pkgctl install kind kubectl

Install multiple packages from a file:

$ cat packages.txt
kind
kubectl
$ pkgctl install --file packages.txt

Completion

pkgctl includes completion:

source scripts/completion.sh