- Notifications
You must be signed in to change notification settings - Fork0
Colorful TUI frontend to run Vagrant commands
License
braheezy/violet
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
GiveVagrant a splash of color 🎨
Violet is a colorful TUI frontend to manage Vagrant virtual machines. Quickly view the state of all VMs and issue commands against them!
Violet is delivered as a single binary for various platforms. See theReleases page for the latest builds.
Violet does absolutely nothing without Vagrant installed. See theVagrant docs to install it for your platform.
Vagrant itself does absolutely nothing unless you have a Hypervisor installed and configured. Here's a few popular ones:
For best results, it helps to have existing Vagrant VMs.
Open a terminal and run the program:
violet
See the following table for how to interact with Violet:
Action | Key | Description |
---|---|---|
Switch Environment Tab | Tab/Shift+Tab | Cycle through found Vagrant environments |
Select Command | Left/Right | Cycle through the supported Vagrant commands |
Run command | Enter | Run the highlighted command on the selected entity |
Toggle Environments/VM control | Space bar | Operate on the environment as a whole or individual machines |
Note that Violet does not aim to support all Vagrant commands and will provide a poor interface for troubleshooting issues with Vagrant, VMs, hypervisors, etc.
TheMakefile
contains the most common developer actions to perform. Seemake help
for everything, or build and run for your machine:
make run
Using theVagrantfile
, a Libvirt VM can be created and inside that, scripts fromtest/
can create quick dummy Vagrant projects. This can be a safe sandbox environment to experiment with builds ofviolet
.
# Bring VM up and SSH invagrant up&& vagrant ssh# Get into the working directorycd /vagrant# Setup test environmentsbash test/multi_env.sh# Make edits, then runmake run
Test Script | Purpose |
---|---|
single_env.sh | Create one env with one machine |
multi_env.sh | Create one env with multiple machines |
many_env.sh | Create multiple envs, each with one machine |
- bubbletea - Main TUI framework
- lipgloss - Styling and colors
- bubbletint - Pre-made lipgloss colors
- bubblezone - Rich mouse tracking
Please do! Issues and PRs are very welcome.
My interest in TUI applications was growing and I wanted to build something complicated and useful (more than agame).
About
Colorful TUI frontend to run Vagrant commands