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

  • demesisx
    link
    fedilink
    English
    arrow-up
    11
    arrow-down
    1
    ·
    edit-2
    7 months ago

    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).

    • alice@programming.devOP
      link
      fedilink
      arrow-up
      3
      ·
      7 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)