this post was submitted on 04 Jun 2024
34 points (97.2% liked)

Linux

5506 readers
163 users here now

A community for everything relating to the linux operating system

Also check out [email protected]

Original icon base courtesy of [email protected] and The GIMP

founded 2 years ago
MODERATORS
34
submitted 6 months ago* (last edited 6 months ago) by blek to c/linux
 

https://bshchk.blek.codes/

this is a program that parses a bash file, collects all dependencies and then adds a snippet at the start of the file that would check if they are installed at the earliest point possible, to prevent situations where a program just fails in the middle of execution because some random dependency is not installed

i've originally made this to use it in another project, but might just as well share with y'all

you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 10 points 6 months ago* (last edited 6 months ago) (1 children)

Wanted to perhaps introduce you to using nix along with direnv and flakes to make your dependencies declarative rather than determined by factors beyond your control.

In my bash scripts, I often create a .envrc file that points to my flake and sits alongside the bash file. Then, when I navigate into the directory of the script/project, I can make direnv and nix automatically load all dependencies (which virtually guarantees them eliminating the need to check for them).

[โ€“] blek 3 points 6 months ago

thats not exactly the point of bshchk. the idea is to have it run on any platform, in a single bash script, just as amber does (the another project mentioned earlier)