A beautiful terminal-based world clock application built with Go and Bubble Tea. Display multiple timezone clocks in a responsive grid layout with a modern TUI interface.
- 🌍 Display multiple timezones simultaneously
- 🎨 Beautiful TUI with Lipgloss styling
- 📱 Responsive grid layout that adapts to terminal size
- ⚙️ Easy configuration via text file
- 🚀 Fast and lightweight
- ⌨️ Simple keyboard controls
brew install Solomon/tap/worldclocksyay -S worldclocks-bin
# or
paru -S worldclocks-binDownload the .deb package from the releases page and install:
sudo dpkg -i worldclocks_*_linux_amd64.debDownload the .rpm package from the releases page and install:
sudo rpm -i worldclocks_*_linux_amd64.rpmDownload the .apk package from the releases page and install:
sudo apk add --allow-untrusted worldclocks_*_linux_amd64.apkDownload the appropriate binary for your platform from the releases page, extract it, and move to your PATH:
# Example for Linux
tar -xzf worldclocks_*_linux_amd64.tar.gz
sudo mv worldclocks /usr/local/bin/Requires Go 1.23 or later:
git clone https://github.com/Solomon/worldclocks.git
cd worldclocks
# Build as your user (Go must be in PATH)
make build
# Install as root (only copies the binary)
sudo make installOr using Go directly:
go install github.com/Solomon/worldclocks@latestNote: When building from source with Make, you must run make build and sudo make install as separate commands. This is because sudo doesn't have access to your user's Go installation.
Simply run:
worldclocks- c - Open configuration file in your editor
- q or Ctrl+C - Quit
On first run, a configuration file is created at ~/.config/worldclocks.
The config file format is CSV with three columns:
# timezone,country_code,include(Yes/No)
America/New_York,US,Yes
Europe/London,GB,Yes
Asia/Tokyo,JP,Yes
Asia/Dubai,AE,No
- timezone: IANA timezone name (e.g.,
America/New_York) - country_code: Two-letter country code for display
- include: Set to
Yesto display,Noto hide
Press c while running the app to open the config file in your default editor (set via $EDITOR environment variable, defaults to nano).
After saving changes, restart the app to see updates.
make build # Build for current platform
make build-all # Build for all platforms
make install # Install to /usr/local/binmake test # Run tests# Test release locally
make release-test
# Create actual release (requires git tag)
git tag v1.0.0
git push origin v1.0.0
# GitHub Actions will automatically build and publish- Built with Bubble Tea for the TUI framework
- Styled with Lipgloss for beautiful terminal UI
- Uses Go's
timepackage for timezone handling - Embedded default configuration for easy first-run experience
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see LICENSE file for details