Skip to content

KiddosTech/OhMyDashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ•—
 โ–ˆโ–ˆโ•”โ•โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•”โ•
 โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ–ˆโ–ˆโ–ˆโ–ˆโ•”โ–ˆโ–ˆโ•‘ โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•
 โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘  โ•šโ–ˆโ–ˆโ•”โ•
 โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ•šโ•โ• โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘
  โ•šโ•โ•โ•โ•โ•โ• โ•šโ•โ•  โ•šโ•โ•โ•šโ•โ•     โ•šโ•โ•   โ•šโ•โ•

OhMyDashboard โ€” A blazing-fast, zero-dependency terminal dashboard. Built in pure Go. Runs natively on Windows and Linux.

Go License Platform Zero Deps


โœจ Features

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


๐Ÿš€ Installation

๐ŸชŸ Windows

Option A โ€” Pre-built Binary (Recommended)

  1. Download the latest release ZIP from the Releases page
  2. Extract the ZIP
  3. Double-click install_windows.bat
  4. 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.

Option B โ€” Manual Install

:: 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

Option C โ€” Build from Source

Requires Go 1.21+ and Git

git clone https://github.com/youruser/OhMyDashboard.git
cd OhMyDashboard
go build -o omd.exe .
omd.exe

๐Ÿง Linux

Option A โ€” Pre-built Binary (Recommended)

# Download and extract the release ZIP, then:
chmod +x install.sh
./install.sh
omd

Option B โ€” Manual Install

# 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

omd

Option C โ€” Build from Source

Requires Go 1.21+

git clone https://github.com/youruser/OhMyDashboard.git
cd OhMyDashboard
go build -o omd .
./omd

โŒจ๏ธ Keybinds

Key Action
q or Ctrl+C Quit
โ†‘ / โ†“ Navigate Hacker News list
Enter Open selected article in browser
r Refresh all data (HN, weather, crypto)

๐Ÿ—“๏ธ Custom Events

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.


๐Ÿ—๏ธ Project Structure

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

How Cross-Platform Works

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 Windows

main.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)

External Data Sources

Data Source API Key Required?
Weather wttr.in โŒ
Crypto prices CoinGecko API โŒ
News Hacker News Firebase API โŒ

๐Ÿ”จ Cross-Compile

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 .

๐Ÿ”ง Troubleshooting

Windows: garbled characters or missing box lines?

chcp 65001

Or switch to Windows Terminal which supports UTF-8 natively.

Windows: colors not showing?

reg add HKCU\Console /v VirtualTerminalLevel /t REG_DWORD /d 1 /f

Reopen 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 window

Weather 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

๐Ÿ“Š Linux vs Windows Internals

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()

๐Ÿ“ฆ Dependencies

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.


๐Ÿ“„ License

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.


๐Ÿค Contributing

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

Made with ๐Ÿ’š in Go ย ยทย  Zero dependencies ย ยทย  Linux & Windows

About

A Terminal Dashbord with Hacker-vibes with Golang

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors