Status: Stable
Version: v2.1.0
Philosophy: Minimal dependencies, maximum portability
- 🇺🇸 You are reading the English version.
- 🇧🇷 Portuguese version
A modern, elegant and fully Lua-free Conky setup, designed for:
- ⚡ portability (AppImage-ready)
- 🧩 modular scripts
- 🌍 multi-language support
- 🖥️ multi-resolution layouts
Most Conky setups rely on Lua and hardcoded paths.
This project provides:
- A Lua-free architecture
- Fully portable scripts
- Cross-distribution compatibility
- Simple installation and maintenance
- 🌦️ OpenWeatherMap integration (XML API)
- 🌙 Offline moon phase rendering (no external APIs)
- 📊 CPU / RAM / Disk / Network monitoring
- 🧠 Smart localization (EN / PT-BR auto-detected)
- 🖥️ 1080p and 2K layouts
- 🎮 Optional NVIDIA GPU support
- ❌ No Lua scripting required
| EN | PT-BR |
|---|---|
![]() |
![]() |
| EN | PT-BR |
|---|---|
![]() |
![]() |
conky/
├── conkyrc/
│ ├── .conkyrc_1080p
│ └── .conkyrc_2k
├── images/
│ ├── weather icons
│ └── wind icons
├── CHANGELOG.md
├── LICENSE
├── conky-1.22.2.tar.gz
├── fonts/
├── printscreen/
├── init.sh
├── install.sh
├── time.sh
├── GetMoon.sh
├── lune_die.sh
├── moon.pl
├── moon_age.pl
├── moon_texture.jpg
├── conky.sh
├── README.pt-BR.md
└── README.md-
-
Weather data uses OpenWeatherMap XML API.
The first 1,000 API calls per day are FREE
-
git clone https://github.com/wekers/conky.git
cd conky
# Install dependencies automatically
./install.sh
# Configure your API key
nano ~/.config/conky/secrets.conf
# Start Conky
./conky.shOWM_APPID=YOUR_API_KEY
OWM_CITY=Sacramento,USThe key is never hardcoded in .conkyrc.
./conky.sh # start (default)
./conky.sh start
./conky.sh stop
./conky.sh restart- Ubuntu / Debian
- Linux Mint
- Fedora
- Arch Linux
- Slackware
The install.sh script automatically detects your distribution and installs the correct dependencies.
Auto-detection command:
ip route 2>/dev/null | awk '/default/ {print $5; exit}'Edit in .conkyrc:
template0 = 'eth0'Common values:
| Interface | Description |
|---|---|
| eth0 | Legacy ethernet |
| enp0s3 | Modern ethernet |
| wlp2s0 | Wi-Fi |
File:
~/.config/conky/secrets.confExample:
OWM_APPID=YOUR_API_KEY
OWM_CITY=Salvador,BRIf you are in the Northern Hemisphere, edit:
GetMoon.shChange:
HEMISPHERE="s"to:
HEMISPHERE="n"conky.sh
└── init.sh (weather bootstrap)
└── time.sh (core logic)
├── weather parsing
├── localization
├── wind + units
└── moon integration
└── GetMoon.sh
└── perl scripts
| Script | Responsibility |
|---|---|
| conky.sh | lifecycle (start/stop/restart) |
| init.sh | weather initialization |
| time.sh | central processing engine |
| GetMoon.sh | moon rendering |
| *.pl | astronomical calculations |
./conky.sh start
./conky.sh stop
./conky.sh restart- Conky ≥ 1.22
- curl
- lm-sensors
- bc
- imagemagick
- libxml2-utils (xmllint)
- perl + Astro::MoonPhase
- nvidia-smi (GPU stats)
- Download AppImage from https://github.com/brndnmtthws/conky/releases
- curl
- lm-sensors
- bc
- imagemagick
- libxml2-utils (xmllint)
- perl + Astro::MoonPhase
Run once:
./init.sh
Then:
chmod +x conky-*.AppImage
./conky-*.AppImage -c conkyrc/.conkyrc_2k
or
./conky-*.AppImage -c conkyrc/.conkyrc_1080ppip3 install pyyaml Jinja2tar -zxvf conky-1.22.2.tar.gz
cd conky-1.22.2
mkdir build && cd build
cmake \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_DOCS=OFF \
-DBUILD_EXTRAS=ON \
-DBUILD_XDBE=ON \
-DBUILD_CURL=ON \
-DBUILD_WLAN=ON \
-DBUILD_RSS=ON \
-DBUILD_PULSEAUDIO=ON \
-DBUILD_MPD=ON \
-DBUILD_IMLIB2=ON \
-DBUILD_LUA_CAIRO=ON \
-DBUILD_LUA_IMLIB2=ON \
-DBUILD_WAYLAND=ON \
-DBUILD_MOUSE_EVENTS=ON \
-DCMAKE_BUILD_TYPE=Release ..
make
sudo make installThis project works on WSL2 (Windows 10/11), with some limitations.
- Weather
- Moon phases
- System information (partial)
- Full Conky rendering
- No hardware sensors (CPU temperature, etc.)
- No
hddtempsupport - Limited system-level metrics
- WSL is supported for testing and development.
- For full functionality, use native Linux.
Auto-detected via LANG.
| LANG | Output |
|---|---|
| pt_BR | Portuguese |
| others | English |
Applies to:
- Weather labels
- Moon phases
- Wind descriptions
- Check API key
- Check city format:
city,country - Validate XML cache:
cat ~/.cache/weather_current.xml- Ensure scripts are executable:
chmod +x *.sh- NEVER use:
sh script.shUse:
./script.sh- Wrong interface in
template0 - Run detection command (see above)
- Fix hemisphere in
GetMoon.sh
- Install:
sudo apt install libxml2-utils- Install:
sudo cpanm Astro::MoonPhase- Run:
sudo sensors-detect| Version | Status | Description |
|---|---|---|
| v2.1.0 (main) | ✅ Active | Conky 1.22+, Lua-free configuration |
| v1.10 (legacy) | 🧊 Frozen | Conky 1.10, Lua-based Language |
Legacy support is preserved in:
- Branch:
legacy-1.10 - Tag:
v1.10-legacy
This project follows Semantic Versioning and documents all notable changes in CHANGELOG.md.
This project was fully refactored in version 2.0 due to:
- Upstream API changes (NASA / Moon data)
- Conky Lua instability and maintenance cost
- Desire for a portable, AppImage-friendly setup
Version 2.0 removes all Lua language dependencies and relies only on: Bash, Perl (local), and native Conky features.
- ❌ No Lua scripting required
- ✅ Native Conky objects
- ✅ Portable configs
- ✅ Easier maintenance
- ✅ Compatible with Wayland & X11
- ✅ Secure secrets handling
git checkout legacy-1.10MIT — License.
Feel free to:
- clone
- modify
- adapt it to your needs
© WeKeRs




