A modern Terminal User Interface for managing Lima VMs, inspired by k9s.
Essentially a TUI created in Go with the tview framework. The idea was to improve the built in limactl list
command with features such as:
- Real-time VM overview
- Intuitive controls for navigation
- VM controls, start/stop/restart
- Connecting to VMs
- Go 1.21+ installed
- Lima installed and working
- Access to
limactl
command
make deps # Install dependencies
make build # Build the binary
make install # Install to /usr/local/bin (optional)
# Run the TUI
./lima-tui
# Or if installed globally
lima-tui
↑
/k
- Move selection up↓
/j
- Move selection down
Enter
/Space
- Toggle VM (start if stopped, stop if running)s
- Start selected VMt
- Stop selected VMr
- Restart selected VMd
- Delete selected VMc
- Connect to VM via SSH
n
- Create new VM (opens external script)R
- Force refresh VM listh
/?
- Toggle help screenq
/Ctrl+C
- Quit
lima-tui/
├── main.go # Application entry point
├── app.go # Core application logic
├── ui.go # User interface components
├── actions.go # VM operations and actions
├── vm.go # VM data structures and utilities
├── theme.go # UI theming and styling
├── go.mod # Go module definition
├── go.sum # Dependency versions (auto-generated)
├── Makefile # Build automation
└── README.md # This file
- Ensure
limactl list
works in your terminal - Check that Lima is properly installed
- Verify VM permissions
- Ensure Go 1.21+ is installed:
go version
- Run
go mod tidy
to fix dependencies - Check network access for Go modules
- Reduce refresh interval in code if needed
- Check system resources with many VMs