Homebruh

A GNU/Linux and MacOS package manager.

Installation

bash $ git clone git@github.com:Wafelack/homebruh.git $ cd homebruh/ $ cargo build --release

Roadmap

Usage

Creating a package

  1. The manifest

A package manifest describes the package, it has to be named bruh.toml.

It should contain the following keys:

Optional keys:

  1. The package directory

The files key directory recreates the filesystem ; e.g. if I have a usr/bin/bar in my files directory, when installed, there will be a bar file in /usr/bin.

  1. Building the package

To build the package, run bruh build in the package directory, this will produce a $NAME-$VERSION.bpkg file, this is the built package.

Installing a local package

To install a local package, you will run bruh install -i $PACKAGE_FILE with, of course, your package filename instead of $PACKAGE_FILE.

:warning: It may need to be run as super user if the packages creates/removes files at write protected locations.

Uninstalling a local package

To uninstall a local package, you will run bruh uninstall -i $PACKAGE_FILE.

:warning: It may need to be run as super user if the packages removes files at write protected locations.

Synchronizing the packages database

To synchronize the database (and have your package list up to date), run sudo bruh sync.

Installing a remote package

To install a remote package, you will run bruh install $package_name.

:warning: It may need to be run as super user if the packages creates/removes files at write protected locations.

Uninstalling a remote package

To uninstall a remote package, you will run bruh uninstall $package_name.

:warning: It may need to be run as super user if the packages removes files at write protected locations.

Publishing a package