yogi
is a command line tool to easily manage different configuration environments. Want to only load your vim bindings for ruby if you're working on a ruby project, but your C bindings when you're working in C? Maybe you have different configurations for bash. You can change those too. This is what yogi
is for. No more need to create separate users for different environments.
There are binaries here. Simply extract the zip and put the binary in /usr/local/bin
:
unzip yogi-release-0.1.0.zip
sudo mv ./yogi-release-0.1.0/yogi /usr/local/bin
rm -rf yogi.tar.gz yogi-release-0.1.0
By default, a configuration will be created if one doesn't exist on first use. This configuration is called "default".
You can add things to the currently selected config with yogi add [file] [file] [file]...
. Likewise, remove with yogi remove[file] [file] [file]...
. yogi a
and yogi r
do the same.
List the configs with yogi show
and show the contents of a specific config with yogi show [config_name]
.
Create new configs with yogi new [name]
and switch to them with yogi switch [name]
. Make sure that you save any changes you've made to the current config before you switch, or they'll be lost.
Yogi comes with some rudimentary version control. Whenever you add, remove, or change files in the configuration, commits are made. You can see these with yogi h[ist]
, and you can revert the changes with yogi revert [commit_hash]
.
Simply run crystal spec
from the repository's top level directory. There's already some test data in the repository that the tests are configured to use.
If you're looking at this on Github, this is a mirror. The primary repository for this is on Gitlab. That's where you should contribute.
- Fork it ( https://gitlab.com/nickdonnelly/yogi/forks/new )
- Create your feature branch (git checkout -b my-new-feature)
- Write tests
- Commit your changes
- Push to the branch
- Create a new pull request
Why is it called yogi?
No reason.
- [nickdonnelly] Nick Donnelly - creator, maintainer, nick@donnelly.cc