- Notifications
You must be signed in to change notification settings - Fork8
Hermes software environment manager
License
andrewchambers/hermes
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Hermes is a software environment manager used for installing and uninstallingcollections of software. Hermes may be considered similar to a package manager, but certainlyworks quite differently from traditional tools in this space.
Hermes helps with tasks similar to other tools likehomebrewor perhapsdocker, but in a totally different way. For those who knowNix andGuix, things will be familiar, butthere are also somekey differences.
When using Hermes yourentire software stack is defined and saved in a set ofpackage definitions along side the rest of your source code. This means Hermesgives you strict reproducible control over your entire software stack. Witha single command you can reliably (and quickly) rebuild a development environment,deployment, docker image or vm imageentirely from source.
With Hermes you can also share, review, clone, fork, patch and pin your whole software stackthe same way you do with your existing source code.
Hermes also provides some nifty features:
- A decentralized packaging model.
- Easy installation of software over URLS.
- Easy transfer of software environments between computers.
- Avoidance of version conflicts with already installed software.
- Installing software from source code.
- Strong support for software auditability.
- Transparent build caching.
- Remote package builds.
- Remote deployments.
- Atomic upgrades and rollback.
- and more...
- See my annoucementblog post.
- See thequickstart guide.
- Browse some package definitionshere.
No.
Hermes can be used to manage the system level dependencies during softwaredevelopment while still using these tools normally. For example you could installa specific C compiler and libcurl with hermes, but just invoke npm as normal for yourjavascript project.
During deployment of your software you can invoke these tools from withinpackage definitions to build your software in a well defined sandbox.These packages can then be deployed to remote machines using 'hermes cp'.
Maybe.
Hermes packages are totally separate from your system packages. When you entera hermes environment, your PATH and other environment variables are set to pathswithin the hermes package store.
Hermes does not care what other package managers you use, and does not installpackages in the traditional/bin path so will not conflict with them.
- Give hermes and hpkgs a star on github.
- Donate tothe project to keep it sustainable and show interest.
About
Hermes software environment manager
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Contributors3
Uh oh!
There was an error while loading.Please reload this page.