โโโโโโโ โโโ โโโโโโโ โโโโโโโ โโโ
โโโโโโโโโโโโ โโโโโโโโ โโโโโโโโโ โโโโ
โโโ โโโโโโโโโโโโโโโโโโโโโโ โโโโโโโ
โโโ โโโโโโโโโโโโโโโโโโโโโโ โโโโโ
โโโโโโโโโโโโ โโโโโโ โโโ โโโ โโโ
โโโโโโโ โโโ โโโโโโ โโโ โโโ
OhMyDashboard โ A blazing-fast, zero-dependency terminal dashboard. Built in pure Go. Runs natively on Windows and Linux.
| Panel | Description |
|---|---|
| ๐ Header | ASCII logo, real-time clock (per second), local IP, online/offline status |
| ๐ก The Intel | Hacker News top 15 stories โ navigable list, press Enter to open in browser |
| ๐ The Timeline | Mini calendar with today highlighted in neon green + custom events |
| โ๏ธ The Hardware | CPU bar + sparkline history, RAM bar, Disk usage, Uptime, Load avg |
| ๐ The Signal | Live weather via wttr.in โ auto-detects your location, no API key needed |
| โฟ The Market | BTC / ETH / SOL live prices from CoinGecko |
| ๐ Ticker Bar | Scrolling crypto ticker at the bottom of the screen |
Color theme: Emerald Green ร Electric Blue
- Download the latest release ZIP from the Releases page
- Extract the ZIP
- Double-click
install_windows.bat - Open a new terminal window and run:
omd
Important
Use Windows Terminal for the best experience.
The classic cmd.exe does not render colors and box-drawing characters correctly.
:: 64-bit Windows (most common)
copy omd_windows_amd64.exe C:\Windows\System32\omd.exe
:: Or install to user folder without needing Administrator
mkdir %USERPROFILE%\AppData\Local\omd
copy omd_windows_amd64.exe %USERPROFILE%\AppData\Local\omd\omd.exe
setx PATH "%PATH%;%USERPROFILE%\AppData\Local\omd"Open a new terminal, then:
omd
git clone https://github.com/youruser/OhMyDashboard.git
cd OhMyDashboard
go build -o omd.exe .
omd.exe# Download and extract the release ZIP, then:
chmod +x install.sh
./install.sh
omd# System-wide (requires sudo)
chmod +x omd_linux
sudo mv omd_linux /usr/local/bin/omd
omd# User-only install (no sudo needed)
chmod +x omd_linux
mkdir -p ~/.local/bin
cp omd_linux ~/.local/bin/omd
# Add to PATH โ paste into ~/.bashrc or ~/.zshrc
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
omdRequires Go 1.21+
git clone https://github.com/youruser/OhMyDashboard.git
cd OhMyDashboard
go build -o omd .
./omd| Key | Action |
|---|---|
q or Ctrl+C |
Quit |
โ / โ |
Navigate Hacker News list |
Enter |
Open selected article in browser |
r |
Refresh all data (HN, weather, crypto) |
Create ~/.omd_events (Linux) or C:\Users\<YourName>\.omd_events (Windows):
# Lines starting with # are comments
06 May ๐ Review project
10 May ๐ Birthday party
15 May ๐ Presentation day
17 Aug ๐ฎ๐ฉ Independence Day
25 Dec ๐ Christmas
Events appear in the The Timeline panel below the calendar.
OhMyDashboard/
โโโ main.go # All UI rendering, data fetching, main loop
โโโ sys.go # SysInfo struct โ platform-agnostic interface
โโโ sys_linux.go # Linux: CPU/RAM/disk via /proc filesystem
โโโ sys_windows.go # Windows: CPU/RAM/disk via kernel32.dll WinAPI
โโโ input_linux.go # Linux: raw keyboard input via stty
โโโ input_windows.go # Windows: raw keyboard via SetConsoleMode()
โโโ go.mod
Go build tags ensure only the correct file is compiled per OS:
//go:build linux โ only compiled on Linux
//go:build windows โ only compiled on Windowsmain.go is 100% platform-agnostic โ it calls collectSysInfo(), openURL(), and rawTerminal() which are each implemented per OS.
main.go โโโบ collectSysInfo() โโโบ sys_linux.go (on Linux)
โโโโบ sys_windows.go (on Windows)
| Data | Source | API Key Required? |
|---|---|---|
| Weather | wttr.in | โ |
| Crypto prices | CoinGecko API | โ |
| News | Hacker News Firebase API | โ |
Build for any target platform from a single machine:
# Linux โ Windows 64-bit
GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o omd.exe .
# Linux โ Windows 32-bit
GOOS=windows GOARCH=386 go build -ldflags="-s -w" -o omd_x86.exe .:: Windows โ Linux
set GOOS=linux
set GOARCH=amd64
go build -ldflags="-s -w" -o omd_linux .Windows: garbled characters or missing box lines?
chcp 65001Or switch to Windows Terminal which supports UTF-8 natively.
Windows: colors not showing?
reg add HKCU\Console /v VirtualTerminalLevel /t REG_DWORD /d 1 /fReopen your terminal after running this. Windows Terminal does not need this fix.
Terminal looks broken after a crash?
# Linux
reset
# Windows โ simply close and reopen the terminal windowWeather or crypto not loading?
Check your internet connection, then press r to manually refresh. The dashboard runs fully offline โ data panels will update automatically once reconnected.
Linux: omd: command not found?
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc| Feature | Linux | Windows |
|---|---|---|
| CPU usage | /proc/stat delta |
GetSystemTimes() |
| RAM usage | /proc/meminfo |
GlobalMemoryStatusEx() |
| Disk usage | df -B1 / |
GetDiskFreeSpaceEx() on C:\ |
| Uptime | /proc/uptime |
GetTickCount64() |
| Load average | /proc/loadavg |
(not available on Windows) |
| Open browser | xdg-open |
cmd /c start |
| Raw terminal | stty raw -echo |
SetConsoleMode() |
Zero. Only the Go standard library is used.
$ cat go.mod
module github.com/youruser/omd
go 1.21
No go get, no vendor/, no internet required to build.
Copyright 2025 OhMyDashboard Contributors
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
ย ย ย ย http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
See the LICENSE file for the full license text.
Contributions, issues, and pull requests are welcome! Some ideas:
- macOS support
- New data panels (RSS feeds, system processes, git status)
- Custom color themes
- Config file support