A modular, feature-rich collection of 20 Conky scripts across 10 categories, designed to create a cohesive and interactive desktop experience. Run everything together or each component independently.
- All components are fully modular
- Designed for low clutter, high signal
- Easily customizable and extendable
- Conky scripts built on Linux Mint 22.3/Cinnamon Edition
| Category | Scripts |
|---|---|
| Analog Clock | Analog Clock |
| Clock | Animated Clock, Now Playing (Song Info) |
| Weather | Current Conditions, Forecast, Full Panel |
| Calendar | Horizontal Calendar (Lua), Horizontal Calendar (Bash), khal calendar, allcombined Lua Calendar, Side Panel calendar |
| System | Single-line System Monitor |
| Network | vnStat Bandwidth Monitor |
| Arc | Enhanced Arc (weather + moon phase) |
| Google Calendar | Month-view (gcalcli + Lua) |
| RSS | Click-enabled Feed Viewer |
| Stocks | Current stock prices |
| Terminator | Day/night terminator map |
The Earth Viewer component is adapted from the Aurora set.
Install conky and dependencies:
sudo apt install conky-all tmux curl xdotool vnstat jq python3-ephem playerctl librsvg2-bin luarocks gcalcli khal git fonts-ibm-plexInstall Alien:
cd ~/.conky
git clone https://github.com/rew62/alien.git
cd alienRun the setup script:
./configure-alien.sh or ./configure-alien2.sh (includes automated font install)This will:
-
Create or update
.envwith:OWM_API_KEY— OpenWeatherMap API keyFINNHUB_API_KEY— FinnHub API key (stocks widget)CITY_ID— OWM city IDLAT/LON— Latitude and longitudeUNITS—metric(Celsius) orimperial(Fahrenheit)LANG— Language code (e.g.en,fr,de)ICON_SOURCE—cdnorlocalweather iconsCACHE_TTL— Weather cache lifetime in seconds (default: 300)INTERFACE_NAME— Network interface (auto-detected)CRONPATH— Cron user (defaults to current user)
-
Patch
calendar/sys-small.rcwith the active network interface -
Patch
vnstat/vnstat.luawith the active network interface -
Update
earth/crontabwith the correct home path (if present) -
Run a font availability check or for ./configure-alien2.sh, installs the fonts in the fonts directory automatically.
See .env-example for the format reference.
-
Clickable articles using
xdotool -
Toggle feeds via the double-arrow control
-
Fully customizable via:
RSS/feeds.conf
- Seconds are visualized within the minute divider
-
Uses National Weather Service (NWS) data for forecast and openweathermap.org (OWM) API for current conditions.
- Note - OWM requires an API key. You can obtain one free at https://openweathermap.org/
-
Separate scripts for:
- Current conditions
- Forecast
- Requires an API key from FinnHub for stock data. You can obtain one free at https://www.finnhub.io/
- Customize stock symbols at stocks/symbols.conf
- Includes current forecast and moon phase rendering
- Expanded from original github/@gtex62 design
-
Every widget runs independently:
conky -c script.rc
-
Launch all widgets at once:
./alien-tmux
-
Stop everything:
tmux kill-session -t conky
alien-tmux2 lets you launch any subset of widgets by passing short codes as arguments.
Up to 4 conky processes are grouped per tmux window; the layout is tiled automatically.
Usage:
# Launch specific widgets by code
./alien-tmux2 t a wc wf
# Or pass a bracketed, comma-separated list
./alien-tmux2 [t,a,wc,wf]Widget Codes:
| Code | RC File | Widget |
|---|---|---|
ac |
aclock/aclock.rc |
Analog clock |
a |
arc/arc.rc |
Arc (horizon, planets, sun/moon, weather) |
e |
earth/earth.rc |
Earth satellite image viewer |
g |
gcal/gcal.rc |
Google Calendar month-view |
h2 |
calendar/hcal2.rc |
Horizontal Lua calendar (full-width) |
hc |
calendar/hcal.rc |
Horizontal calendar (compact, bash) |
kc |
calendar/kcalendar.rc |
khal-based calendar panel |
lc |
calendar/lcalendar.rc |
Lua-drawn allcombined calendar |
m |
clock/song-info.rc |
Now Playing (song info) |
r |
rss/rss2.rc |
RSS feed viewer |
$ |
stocks/ticker.rc |
Stock price table |
s |
calendar/sys-small.rc |
Single-line system monitor |
s2 |
calendar/sys-small2.rc |
Single-line system monitor (larger font) |
sc |
calendar/sidepanel-calendar.rc |
Side panel calendar |
t |
clock/clock.rc |
Animated clock |
v |
vnstat/vnstat.rc |
vnStat bandwidth monitor |
vs |
vnstat/vnstat-summary.rc |
vnstat short |
wa |
weather/full.rc |
Full weather panel |
wc |
weather/current.rc |
Current conditions |
wf |
weather/forecast.rc |
5-day forecast strip |
tm |
terminator/terminator.rc |
Day/night terminator map |
├── alien.png
├── alien-tmux - launch all widgets via tmux
├── alien-tmux2 - selective tmux launch (short codes)
├── background.png - Alien theme background (3440×1440)
├── aclock/ [ac] Analog clock
│ └── aclock.rc
├── arc/ [a] Arc (horizon, planets, sun/moon, weather)
│ ├── arc.rc
│ ├── arc3.lua
│ ├── settings.lua
│ └── sky_update.py
├── calendar/
│ ├── hcal2.rc [h2] Horizontal Lua calendar (full-width)
│ ├── hcal.rc [hc] Horizontal calendar (compact, bash)
│ ├── kcalendar.rc [kc] khal-based calendar panel
│ ├── lcalendar.rc [lc] Lua-drawn allcombined calendar
│ ├── sidepanel-calendar.rc [sc] Side panel calendar
│ ├── sys-small.rc [s] Single-line system monitor
│ ├── sys-small2.rc [s2] Single-line system monitor (larger font)
│ ├── fmt.lua
│ ├── hcal2.lua
│ ├── hcal.sh
│ ├── khal-calendar.sh
│ ├── loadall.lua
│ └── settings.lua
├── clock/
│ ├── clock.rc [t] Animated clock widget (0.5 s updates)
│ ├── song-info.rc [m] Now Playing (song info)
│ ├── clock.lua
│ ├── loadall.lua
│ └── settings.lua
├── configure-alien.sh - interactive setup (API key, lat/lon, interface)
├── configure-alien2.sh - setup with automated font install
├── earth/ [e] Earth satellite image viewer
│ ├── earth.rc
│ ├── crontab
│ ├── fourmilab-earth.sh
│ ├── loadall.lua
│ └── settings.lua
├── fonts/ - bundled font files
├── gcal/ [g] Google Calendar month-view
│ ├── gcal.rc
│ ├── gcal2.lua
│ ├── loadall.lua
│ └── settings.lua
├── rss/ [r] RSS feed viewer
│ ├── rss.rc
│ ├── feeds.conf
│ ├── rss-click.sh
│ ├── rss-daemon.sh
│ ├── rss-fetch.sh
│ ├── rss-next.sh
│ ├── loadall.lua
│ └── settings.lua
├── scripts/ - shared scripts and Lua libraries
│ ├── owm_fetch.sh
│ ├── allcombined2.lua
│ ├── background.lua
│ ├── json.lua
│ ├── loadall.lua
│ └── lua3-bars.lua
├── stocks/ [$] Stock price table
│ ├── ticker.rc
│ ├── symbols.conf
│ ├── stocks.lua
│ ├── loadall.lua
│ └── settings.lua
├── terminator/ [tm] Day/night terminator map
│ └── terminator.rc
├── theme.lua - global colors (borders, backgrounds)
├── utils/
│ ├── rc - shortcut launcher (place on PATH)
│ └── save-pos.sh - save all conky window positions
├── vnstat/ [v] vnStat bandwidth monitor
│ ├── vnstat.rc
│ ├── vnstat-summary.rc [vs] vnstat short
│ ├── vnstat.lua
│ ├── vnstat-summary.lua
│ ├── loadall.lua
│ └── settings.lua
└── weather/
├── current.rc [wc] Current conditions
├── forecast.rc [wf] 5-day forecast strip
├── full.rc [wa] Full weather panel
├── alien-weather-current.lua
├── alien-weather-forecast.lua
├── alien-weather-full.lua
├── loadall.lua
├── nws_weather.lua
├── owm-current.sh
├── owm-fetch.lua
└── settings.lua
-
save-pos.sh— Calculates the current position of all running conkys. Using alt+mouse drag, relocate conkys to your desired position and in a separate terminal window runsave-pos.sh. The script can also be run on individual windows using the keys below.Note: Each conky redraws at its next update interval. Widgets with long intervals (such as calendar scripts) should be restarted after repositioning to reflect the change immediately.
Window Reference — keys used to target individual windows:
Key Window Title RC File rssrssrss/rss.rcsys-smallsys-smallcalendar/sys-small.rcsys-small2sys-small2calendar/sys-small2.rccurrentw-currentweather/current.rcforecastw-forecastweather/forecast.rcfullw-fullweather/full.rcsong-infosong-infoclock/song-info.rcclockconky_clockclock/clock.rcvnstatvnstatvnstat/vnstat.rcvnstat-summaryvnstat-summaryvnstat/vnstat-summary.rchcal2hcal2calendar/hcal2.rchcalhcalcalendar/hcal.rcarcconky-arcarc/arc.rcsp-calsp-calcalendar/sidepanel-calendar.rckhal-calkhal-calcalendar/kcalendar.rcac-calac-calcalendar/lcalendar.rcearthearthearth/earth.rcgcalgcalgcal/gcal.rcstocksstocksstocks/ticker.rc -
rc— Place in your~/binor any directory onPATH. Run any conky script withrc conky, saving keystrokes. Useful for launching individual conkys quickly.
Global appearance is controlled via:
theme.luaThis file defines:
- Border colors
- Background colors
- Theme font
conky(with Lua + Cairo support)jqcurlxdotooltmuxvnstatpython3
khal— local calendar store; used bykcalendar.rcgcalcli— Google Calendar CLI; used bygcal.rc
playerctl— MPRIS media player control; used bysong-info.rc
Bundled (in fonts/):
- Orbitron
- Oxanium
- Barlow Condensed —
rss.rc - Metropolis —
clock.rc,sidepanel-calendar.rc - Good Times —
sidepanel-calendar.rc,hcal2.rc
Additional fonts required (install separately):
- MonaspiceNe Nerd Font — primary monospace,
earth.rc - FiraCode Nerd Font —
sys-small.rc,song-info.rc - SpaceMono Nerd Font —
sys-small.rc,song-info.rc
Nerd Fonts: https://www.nerdfonts.com/
lua-cjson(fallback included inscripts/json.lua)librsvg2-bin(only needed if weather icons are returned as SVG and you want PNG conversion)
- github/@gtex62 — Original author of gtex62-clean-suite - weather widget formed the foundation of the enhanced Arc implementation
- github/@wim66 — Original author of background.lua, lua3-bars.lua
- allcombined2.lua - Original Lua scripting: Mr Peachy, Modified/Maintained by: github/@Fehlix (MX Linux Team), MX Linux Conky Collection
- Aurora Set — Source of the Earth Viewer component github @rew62/aurora
