ginx is a lightweight CLI tool designed to monitor changes in remote Git repositories and execute custom commands when updates occur. It is ideal for automating tasks, deploying applications, or triggering workflows whenever the target repository is updated.
- Monitor Remote Repositories: Watch specific branches for updates.
- Custom Commands: Execute any command when changes are detected.
- Configurable Intervals: Set the polling frequency for repository checks.
- Flexible Logging: Adjust log levels for better visibility or minimal noise.
- Version Display: Check the current version of the tool.
- Git Repo Work Directory Sandboxing: It is possible to open your IDE as the ginx command and just work there until you close it. Each time you run this command, it will instantiate another working directory.
To install ginx
, follow the instructions for your operating system.
Ensure that you have the required dependencies installed.
-
Install binary
ginx runs on most major platforms. If your platform isn't listed below, please [open an issue][issues].
Please note that binaries are available on the release pages, you can extract the archives for your platform and manually install it.
Linux / WSL
You can use the following package manager:
Distribution Repository Instructions Any [Linuxbrew] brew install didactiklabs/ginx/ginx
Arch Linux [AUR] yay -S ginx-bin
macOS
You can use the following package manager:
Distribution Repository Instructions Any [Linuxbrew] brew install didactiklabs/ginx/ginx
See Documentations.
Run a colmena local update to rebuild your NixOS immediately:
ginx --source https://github.com/didactiklabs/nixbook -b main --now -- colmena apply-local --sudo
Watch and trigger update on changes:
ginx --source https://github.com/didactiklabs/nixOs-server -b main -n 60 -- colmena apply-local --sudo
Open your IDE in a sandbox of your repository:
ginx --source https://github.com/didactiklabs/ginx -b main --now -- vim .
ginx
is open-source and available under the LICENCE.
For more detailed usage, you can always use ginx --help
.