ginst

ginst (short for generic installer) a tool used to install programs according to self written configurations.

The tool takes a .json file and tries to execute the commands given.

Note: It's currently only tested on Linux.

Requirements

Installation

Ez mode

bash cargo install ginst

or if you want to build it yourself:

bash git clone https://github.com/Sebbito/ginst.git cd ginst carbo build -r cp target/release/ginst ~/.local/bin

on the last step you can copy it to any directory that is included in PATH but i suggest you use .local/bin for that.

Usage

ginst --file path/to/programs.json

Use k h l j or

^ <- -> v to move through the menu.

The l or ˃ to go a level down and view the dependencies and h or ˂ to go one level back up.

Further keybinds are:

Configuring

Right now the only way to configure the tool is through the programs.json file (which has to be in the working dir). There you can specify a program with installations per distribution and dependencies.

See the example.json on how ginst expects the .json to look like.

The .json file has the following structure:

json { "programs": [ ... ] }

Where each program has a structure of:

json { "name": "<name>", "installation": { "<dist-name1>,<dist-name2>": [ "<bash-command1>", "<bash-command2>" ] }, "configuration": { "<dist-name1>,<dist-name2>": [ "<bash-command1>", "<bash-command2>" ] }, "dependencies": { "programs": [ ... ] } }

Some things that are worth noting:

Troubleshooting

Q: The program doesn't start with the error:

Could not parse json file. Maybe you forgot a comma somewhere?

A: Well the answer is right there. The json could not be parsed. Make sure that you follow the outlined structure and have no syntax error.

Further Help

To get more information, see the Wiki or see

bash ginst --help