A micro meta package manager for the masses
|
10 years ago | |
---|---|---|
gimmes | 10 years ago | |
LICENSE | 10 years ago | |
README.md | 10 years ago | |
gimme.sh | 10 years ago |
A micro meta package manager for the masses.
The gimme
command is intended to run micro scripts that get stuff (or get
stuff done). Ideally, it can do anything that can be automated in shell.
Think of it as glue between tiny little tasks that are easy to define.
It deals with the shell scripts so that the engineers don't have to.
curl -fsSL "http://git.kylepdavis.com/kylepdavis/gimme/raw/master/gimme" | bash -
gimme goodies
# if it exists, it will run the "$GIMME_DIR/gimmes/goodies" script
# otherwise, it will run the "$GIMME_DIR/gimmes/_default" script (which by default installs stuff with your package manager)
You can get tab completion in bash by doing something like this (put it in your .profile
to play for keeps):
source "$GIMME_DIR/gimme"
The idea here is that the what you use this for is really up to you.
Here are some ideas for overall uses to get you started:
dotfiles
(that's one way that I'm using it)config
"gimme" script that runs gimme $HOST/install
and you're on your way to being able to run gimme config
)gimme dev
, gimme qa
, gimme test_data
, gimme auth/new_user
, etc.)If that wasn't enough here are some ideas for the "gimmes":
Simple:
has
and gimme_pkg
get inherited from the main gimme
script if you wantgimme that other thing
at the top$GIMME_DIR/gimmes/
directorychmod 755 YOUR_GIMME_SCRIPT
Also, it prevents cycles so one of your "gimmes" could
What you use this for could range from a small set of personal tools that you use to compliment your dotfiles rdotconfiguration management suite to compliment your dotfiles to a getting stuff. You can take that to mean whatever you want. Use my defaults or fork this project and add your own scripts.
Maybe nothing. Lots of things do dependency tracking. I wanted to try this out.
Some suggested using Makefile
files but that felt a little clunky. Plus make
isn't exactly installed everywhere.
Neither is bash
but it was good enough for me.
You could technically use something like chef, puppet, ansible, salt, etc. but those felt way too heavy for my needs.
Just trying to keep it simple and shell scripts are about as simple as it gets.
Here's another project that somewhat agrees: https://github.com/brandonhilkert/fucking_shell_scripts project