Skip to content
View Somnius's full-sized avatar
🎯
Focusing
🎯
Focusing

Block or report Somnius

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Somnius/README.md

lefteros_ · Lefteris Iliadis (SomniusX): ERP, servers and Linux, down to the firmware

lefteros.com Blog on lefteros.com Hugging Face LinkedIn Linux-User.gr Profile visitors

Hi, I'm Lefteris, or just Lef

A friend installed Red Hat on my PC in 1997 and I never stopped tinkering. By day I keep companies' servers and ERP running; the rest of the time I build things with whatever is new. Lately that means AI that runs on your own machine, firmware for e-ink readers, plugins for Omarchy and patches for other people's projects. On forums and almost everywhere else I'm SomniusX.

Everything I make, write and have worked on lives at lefteros_ · lefteros.com: the projects, the guides and posts, the full story and where else I show up. This page is the short version.

Flagship: ShadowRealms AI

ShadowRealms AI 0.31.0: a self-hosted AI Storyteller for World of Darkness

ShadowRealms AI is a self-hosted AI Storyteller for World of Darkness chronicles. You run it yourself with Docker, the stories come from local models through LM Studio and Ollama, and every chronicle plays by Classic (oWoD Revised: Vampire, Werewolf, Mage) or V5 rules, in English or Greek. It's my biggest project.

Watch the ShadowRealms AI trailer (2.5 minutes)
Trailer in English · Greek version · 2.5 minutes, the new trailer from v0.14.

  • Two rule sets. Classic dice follow Revised (difficulties, botches, specialties, Willpower). V5 brings Hunger dice, messy criticals, bestial failures and Rouse checks.
  • Dice from your sheet. When the Storyteller calls for a roll, the server works out the pool from your character sheet, and every dice card in the chat is a real server roll.
  • Discord-style play. In-character and out-of-character rooms, live updates, slash commands, and a character forge for each edition.
  • AI in roles. English and Greek Storytellers (Llama-Krikri for Greek), long-term memory and rule-book search with bge-m3 in ChromaDB, and the Laya classifier moderating the OOC rooms.
  • A gothic look. 97 original SVG glyphs and sigils, animated dice, fog, candle glow and blood on a botch.
  • Characters by the book. V5 characters in the corebook's order with a rules catalog from 24 books, ghoul sheets for both editions, and every sheet as a PDF.
  • Voice in the chat. Hear the chat read aloud in English or Greek, a voice for each character and a narrator per chronicle, and speak your own lines. Piper, Pocket TTS and Whisper, all running locally.
  • The chronicle so far. The local model writes each chronicle up as minutes, night by night, as Markdown or PDF. The Storyteller reads them before every reply, so it remembers what happened three nights ago.
A V5 chronicle in play
A V5 chronicle in play
The chronicle hall
The chronicle hall
A bestial failure
A bestial failure
A V5 character sheet
A V5 character sheet
Playing in Greek
Playing in Greek
The theme preview
The theme preview

Stars Release · Read the story on lefteros.com →

Latest project: VaultInk, my Obsidian vaults on e-ink

VaultInk is firmware (MIT) for the Xteink X4 Pro that keeps everything CrossPoint Reader does for books and adds my Obsidian notes: open a vault from the SD card, read notes with their links, callouts, tasks and tables, and later search, edit and sync them with LiveSync. It has a new home screen, quick settings, a welcome guide and Greek all the way through, menus and hyphenation included, polytonic too.

VaultInk home screen The home screen in Greek Quick settings over a book The reading toolbar
Home, home in Greek, quick settings and the reading toolbar, from the simulator.

It's early: everything so far is tested in the simulator, and the first device tests are starting now.

Install it from your browser → · VaultInk on lefteros.com · The code · test build

Tech stack

Systems and tools
Languages
Frameworks, databases and hardware

Also: ESP32-S3 · PlatformIO · Quickshell / QML · Hyprland · Omarchy · ONNX Runtime · whisper.cpp · llama.cpp · LM Studio · Ollama · ChromaDB · Piper · Hugging Face · MCP · Proxmox · ESXi · KVM · libvirt · MikroTik · Synology · Microsoft 365 · MS SQL · Semantic · Cubit · Soft1 · Singular / Epsilon

CrossInk, from Greek to Burmese

CrossInk-Indic: 13 Indic languages and Burmese for Xteink e-readers

CrossInk is open firmware (MIT) for the small Xteink e-ink readers. It couldn't show Greek or any Indic script: those books came out as ◆ boxes. So I added them, Greek first and then fourteen more.

CrossInk-Indic builds 13 Indic languages and Burmese right into the firmware, each with its fonts, its shaping and its own menu: Hindi, Marathi, Nepali, Bengali, Assamese, Punjabi, Gujarati, Odia, Tamil, Telugu, Kannada, Malayalam, Sinhala and Burmese. No fonts on an SD card needed. It runs on every Xteink, the X3, X4, X4 Pro, X4 Classic and Sticky, and the Burmese build is already on a reader's X4 Pro in Myanmar.

CrossInk-Indic on lefteros.com → · Download v1.6.0-indic.4 · Hindi · 13 languages · Burmese · pre-release

CrossInk in Greek

I built Greek support in under 24 hours, and it's out as a test build for the Xteink X4 Pro.

  • Greek in the reading fonts. Bitter and Lexend Deca have no Greek, so Greek subsets of Noto Serif and Noto Sans now sit next to them in every style.
  • Greek hyphenation. With justified text, words break where they should: κα-λη-μέ-ρα, ηλε-κτρο-νι-κός, προ-ϋ-πό-θε-ση.
  • A Greek menu. All 843 interface strings are translated.
  • Greek titles everywhere. The home screen, descriptions and clippings show Greek titles and authors properly, even with an English menu.
  • Room to spare. With Vietnamese and Arabic taken out, the Greek build is still about 57 KB smaller than the official 1.6.0.

Cavafy's Ithaka in the Bitter font: the official 1.6.0 shows boxes, the Greek build shows the text
Cavafy's Ithaka in Bitter: on the left the official 1.6.0, on the right the Greek build.

The app page on lefteros.com → · How it was built, step by step →
Download v1.6.0-greek2 for the X4 Pro · The proposal to CrossInk (#789) · beta

Omarchy plugins

Omarchy is an Arch + Hyprland setup by Basecamp. I build plugins for its bar, and five of them got their tooltips back on Omarchy 4.0.4 and are ready for Qt 6.12.

Windows VM for Omarchy Windows VM for Omarchy
Connect without a password prompt, RDP that reconnects by itself, live CPU, memory, disk and network graphs.
On lefteros.com →
Keyboard Layout for Omarchy Keyboard Layout for Omarchy stars
A layout indicator and switcher in the bar: up to four layouts with variants, switching synced across every keyboard, safe edits of input.lua with backups. Now at 1.2.5.
On lefteros.com →
Messaging for Omarchy Messaging for Omarchy
Slack, Discord, Telegram and WhatsApp Web in their own app windows, each with an isolated profile.
On lefteros.com →
Password Store for Omarchy Password Store for Omarchy
Your Bitwarden, Vaultwarden, 1Password or LastPass vault in a dedicated window. It stores no credentials.
On lefteros.com →
Wallpaper Rotate for Omarchy Wallpaper Rotate
Rotate wallpapers from your own folders on a schedule, with a bar icon and a click panel.
On lefteros.com →
Serpantinum widgets for Omarchy Serpantinum for Omarchy stars
The Serpantinum shell's widgets brought to Omarchy: calendar, power, media and Bluetooth.

Patches upstream

When a project I use is missing something, I send the fix to the people who make it.

  • dwm-titus, Chris Titus's Fedora desktop: kitty that follows the theme, hidden Wi-Fi from the panel, a keyboard layout pill, seconds in the clock, clearer update docs, and skills for terminal assistants in titus-ai. Where each one stands →
  • nema, Thanos Apollo's XMPP messenger for Android: day separators, room names, thread markers and more, sent the old way, by email. More →
  • eucWatch, an electric unicycle dash for cheap smartwatches: three fixes that sat in a fork, all merged the same evening. More →
  • Emojis & Nerd Fonts for Omarchy: a Recents tab, Alt+number hotkeys and hints, out in 1.2.1.
  • Omarchy: a pull request for Libreboot / Coreboot support.

Tools and local AI

RecMeets' Laya on Hugging Face RecMeets' Laya
A model of my own on Hugging Face. It finds the words a speech recognizer got wrong, in Greek and English, and runs on the processor: ONNX, 343 MB, AUROC 0.91 in Greek, Apache 2.0.
On lefteros.com →
RecMeets RecMeets · coming soon
Two-track meeting recording with local transcription, speakers and chapters. Rust, whisper.cpp, ONNX Runtime.
On lefteros.com →
virt-spinner virt-spinner stars
A keyboard-driven TUI for libvirt, QEMU and KVM, a lighter alternative to GNOME Boxes and virt-manager that works over SSH.
VoxTyper VoxTyper stars
Offline dictation for Arch + Hyprland and Fedora KDE on Wayland, built on whisper.cpp.
The guide on lefteros.com (Greek) →
sticky-board-export sticky-board-export
Exports a whole Sticky Studio board to an Obsidian vault, an Obsidian Canvas and a PDF. Python with no dependencies, and it reads only a saved copy, never the board itself.
On lefteros.com →
EUC World on Pebble EucWorldPebble stars
Your electric unicycle's speed, battery, temperature, voltage and current on a Pebble, round ones included. I built it with Alex Kintis on top of WheelLogPebble.
Download the .pbw →
Claudius Bootstrapper Claudius-Bootstrapper stars
Run your own LM Studio models (or any compatible endpoint) inside Claude Code, in the terminal or in a VS Code fork.
Local mobile LLM with MCP local-mobile-llm-mcp
On-device LLMs for phones with MCP tools (search, files, databases), so you don't need a cloud service.
More public repos from over the years
Repo What it does
MiFlash-for-Mac Flash Xiaomi phones from a Mac, still my most-starred repo (on lefteros.com)
ngrok-http-1234 An ngrok tunnel to a local model server, with editor settings updated automatically
tg-mail-mini-app A full email client as a Telegram mini app
send-html-javascript-to-telegram-bot Send a web form to a Telegram group through the Bot API
MacHosts A big hosts file for macOS instead of ad blockers
Kreep-Out Keep what creeps you out away from your Mac
Moto-X-2014-Flash · Warning Boot Logo Remover Moto X 2014 flashing tools (on lefteros.com)
XH_Home_for_TV A Greek build of the Xiaomi TV box launcher
kde-plasma-6-backup Back up and restore a KDE Plasma 6 desktop

There's more behind the curtain. Many of my repos are private: personal projects, client work and business tools (ERP bridges, retail data pipelines, infrastructure scripts). The public ones are the tip. lefteros.com tells the rest.

What I do

ERP and business systems
Twenty years on retail, logistics and commercial ERP: Semantic, Cubit, Singular / Epsilon, Soft1. I centralise the data and build the bridges and reports that keep it honest.
Infrastructure and servers
Windows and Linux servers, Proxmox, ESXi and KVM, NAS, Microsoft 365, backups and disaster recovery. I've moved offices to the cloud, and they stayed up.
Linux, down to the firmware
From Red Hat in 1997 to Libreboot on ThinkPads, declarative NixOS and tools for Omarchy.
Local AI and speech
Models that run on your own machine: an AI Storyteller for World of Darkness with RAG memory, meeting transcription without the cloud, offline dictation, and a model of my own on Hugging Face that finds misheard words.
Servers under pressure
With the RFS Dev Team I kept an event with 8,000+ simultaneous players online.
Languages on every screen
37,200+ changes to the MIUI Greek translation, OnePlus texts, Call Recorder, tTorrent, Mac localisations, and now e-ink readers in Greek, 13 Indic languages and Burmese.

Fun facts

  • A friend showed me Red Hat in 1997. A month later I installed it myself, partitions and all, and never went back.
  • During a mass-login event our Minecraft server hit 8,000+ players at once. It held on two Xeons, 64 GB of RAM used as a disk, and a lot of nerve. I told the story at HAEC.
  • My first standalone WinBox for Mac earned me a Level 5 licence from MikroTik.
  • A 1:10 map of Ancient Greece in Minecraft that we built made the SKAI evening news in 2016.
  • I moderated Hackintosh forums for years and ran HellasProject from 2007 to 2014.
  • These days I flash Libreboot onto ThinkPads for fun, and I called the first Omarchy Greece meetup.
  • Away from the screen it's music first: I hold a piano diploma from the Greek National Conservatory, play guitar and record my own samples. The house is slowly turning smart on Raspberry Pi and Arduino boards, and I still ride electric unicycles.
Twenty-seven years, in one scroll
When What
2025 → now EDP, IT, ICT and project manager · ShadowRealms AI · CrossInk in Greek and CrossInk-Indic · RecMeets and its Laya model · patches for dwm-titus, nema and eucWatch · Libreboot, NixOS and Omarchy
2023 – 2025 IT manager and ERP consultant, MPALASKAS YSS SA
2023 DevOps, SaaS / PaaS, EDP / TSG, CoreiT Greece
2019 – 2023 IT manager and ERP consultant, ALEXANDROS SA
2019 → now Guides on Linux-User.gr
2013 – 2017 Freelance years: websites, e-shops and SEO · game servers with the RFS Dev Team · Greek translations for MIUI and OnePlus · office moves to the cloud
2006 – 2016 Logistics, ERP and in-house IT
2007 – 2014 HellasProject: Mac and iPhone apps, localisations, guides
1999 – 2003 Systems, network and ISO 9001 quality, Porto Hydra
Alongside IT and Head of IT in shipping (under NDA) · freelancer for businesses

The long version, with links to each chapter: lefteros.com/en/about

Latest on lefteros.com

The list updates itself every day from the lefteros.com feed. All posts →

On GitHub

GitHub stats for Somnius

A snake eating my contribution graph

Let's connect

lefteros_ · lefteros.com · Contact · LinkedIn · Linux-User.gr · RSS

Made in Greece, in the same style as lefteros.com.

Pinned Loading

  1. EucWorldPebble EucWorldPebble Public

    Forked from JumpMaster/WheelLogPebble

    C 2 3

  2. Xiaomi-Miui-Hellas/MIUI-XML-5.0-Greek Xiaomi-Miui-Hellas/MIUI-XML-5.0-Greek Public

    This is the Greek Repository for Greek MIUI V.5.0 XML Files.

    Shell 1

  3. shadowrealms-ai shadowrealms-ai Public

    Self-hosted AI Storyteller for World of Darkness: Classic (oWoD Revised) and V5 rules, dice pools from your character sheet, Discord-style chat with voice (listen and speak, local TTS and Whisper),…

    Python 22 2

  4. Claudius-Bootstrapper Claudius-Bootstrapper Public

    Run Custom Models in Claude Code using the Bootstrapper, with local LM Studio models from the terminal but also inside Claude Code chat tab on any Vscode fork. Pick a model, set config, launch. At …

    Shell 5