Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Hejsil/dipm

An alternative to `curl | sh`
https://github.com/Hejsil/dipm

cli package-manager zig

Last synced: about 2 months ago
JSON representation

An alternative to `curl | sh`

Awesome Lists containing this project

README

        

A package manager for installing linux programs that are self contained.

![readme.gif](./readme.gif)

Packages are defined in [`dipm-pkgs`](https://github.com/Hejsil/dipm-pkgs).

# How to install

```sh
curl -L https://github.com/Hejsil/dipm/releases/latest/download/dipm-x86_64-linux-musl > /tmp/dipm &&
chmod +x /tmp/dipm &&
/tmp/dipm install dipm &&
rm /tmp/dipm
```

# Why?

I love Arch linux. The main reason for this is the Arch User Repositiory (AUR). With the AUR, most
tools a developer could ever want can be installed on the system with relative ease.

But life isn't always kind and sometimes you end up having to use Ubuntu. I'm sure the distro has
many advantages, but the package repositiory is a fraction of the size.

I want to use [zoxide](https://github.com/ajeetdsouza/zoxide),
[eza](https://github.com/eza-community/eza), [fzf](https://github.com/junegunn/fzf) and other modern
tools, but they either don't exist in the package repo or is very out of date.

Most of these tools end up creating distro independent binary releases so anyone can use them. They
then guide their users to download and run install scripts like so:

```sh
curl | sh
```

But imagine a world where we had a package manager for installing these binaries. This is what `dipm`
tries to be.

# Why not X?

There are package managers that work on multiple distros like [homebrew](https://brew.sh/) or
[nix](https://nixos.org/). While these are great, they're quite complicated for what I want.

Also, writing a package manager is fun~ 😉