OctoPrint, a Dell Wyse, and a Green Lobster

Spent most of today getting OctoPrint properly set up and moved off the M710Q onto a Dell Wyse 3040 that's been sitting around doing nothing useful. GreenClaw did most of the heavy lifting.

The Problem

The M710Q is my main server — it runs indoors. The printer is in the workshop. Running OctoPrint on the server meant a USB cable trailing across the house, which was never a permanent solution. The Wyse 3040 is a tiny fanless machine that can sit next to the printer without me worrying about it.

The Wyse 3040

It was already running Alpine Linux with Docker installed. First job was stripping out Docker — no need for it when OctoPrint is the only thing running. Cleaned up, updated, and moved to a proper pip virtualenv install of OctoPrint 1.11.7.

A few things to sort along the way:

  • The system clock was nearly 9 years out of sync. Had to install chrony and force a time sync before pip would talk to PyPI over SSL.
  • The Alpine package for OctoPrint is pinned to Python 3.12 and currently broken on edge. Virtualenv with system site packages for netifaces was the fix.
  • The mrgreen user needed adding to the dialout group before OctoPrint could access /dev/ttyUSB0.

All fixable. GreenClaw handled it from the server over SSH while I plugged things in at the printer end.

Printer Calibration

While we were at it, ran through some bed calibration. The Kobra Neo's auto levelling had never been run properly — previous prints were surviving on a Z offset of -1.76 and a prayer. Saved the offset to EEPROM with M851/M500, ran a G28 + G29, and printed a 50x50x2mm test square to verify.

Came out 49x49x2mm — close enough for practical prints, and the 2mm thickness was spot on.

The Stack Now

  • M710Q — main server, running GreenClaw, stays indoors
  • Wyse 3040 — dedicated OctoPrint box, lives in the workshop next to the printer
  • Kasa smart plug — GreenClaw can turn the printer on and off remotely
  • Anycubic Kobra Neo — doing its job

GreenClaw can check printer status, temps, and job progress over Telegram, start and cancel prints, and power the whole thing on and off via the smart plug. First proper test of the full setup and it worked well.

Not bad for a Saturday.

GreenClaw: My AI Assistant Lives on the Server Now

I've been running an AI assistant on my M710Q for a few days now. It's called GreenClaw — I named it, it seemed to appreciate that.

It's built on OpenClaw, which is basically a framework for running a persistent AI agent on your own hardware. Not a chatbot you visit in a browser tab. Something that actually lives on the machine, has access to the filesystem, can run commands, and remembers things between conversations. I talk to it over Telegram.

What It Actually Does

Practical stuff so far:

  • Ran a full system update (pacman -Syu) and rebooted the server on request
  • Set up OctoPrint integration — can check printer status, temps, and job progress from Telegram
  • Cloned this blog's source repo, installed Zola, wired up SSH keys to Codeberg, and is now capable of writing and deploying posts
  • This post is its first one

It's not magic. It's a capable model with shell access and some context about my setup. The difference from a chat interface is that it persists — it knows it's running on a Lenovo M710Q, knows the blog workflow, knows the OctoPrint endpoint. It doesn't need re-briefing every session.

The Setup

The server is a Lenovo ThinkCentre M710Q running Arch. It's a tiny form factor machine — Intel Core i5-7400T (4 cores, up to 3GHz), 16GB RAM, 500GB main SSD and a 240GB NVMe. Low power, quiet, always on. It was already running OctoPrint for the Anycubic Kobra Neo. GreenClaw is just another service on the same box.

I communicate through Telegram. GreenClaw receives messages, does things, replies. It won't take external actions without checking first — no sending emails, no pushing code, nothing public without my sign-off.

Reservations

I'm not handing it the keys to everything. It has access to what I've given it access to. SSH keys exist, but only for Codeberg. OctoPrint access, but read-heavy. The model is capable of making mistakes and I treat its output accordingly — reviewed before anything goes live.

The blog workflow specifically: it writes, I read, then it publishes. That's the deal.

So Far

It's useful in the way a competent person with terminal access is useful — you can delegate things without explaining from scratch every time. Whether that stays true as the setup grows is something I'll find out.

More posts to follow. Some of them will even be written by me.

Setting Up Mango WM on My Desktop

Thought I would try out a new dynamic window manager called MangoWM.

It's a Wayland compositor — tiling, tag-based, minimal. It sits in the same space as dwl but with a cleaner config format and a few quality-of-life additions that made it worth trying. No GNOME, no KDE, no compositor framework weighing things down. Just a window manager that does what I tell it.

mango desktop screenshot

The Stack

Everything around the compositor is hand-picked:

  • swaybg for the wallpaper — a beach photo that survived several config cleanups and earned its place
  • waybar for the panel — ext/workspaces on the left, stats drawer in the centre, system tray on the right
  • mako for notifications — styled dark with a soft blue border, anchored top-right
  • wmenu as the launcher — lightweight, keyboard-driven, fits the minimal philosophy
  • foot as the terminal

Keybindings

Everything runs through Super. No Alt conflicts, no guesswork:

  • Super+Return — foot terminal
  • Super+Space — wmenu launcher
  • Super+w — Firefox
  • Super+t — Telegram
  • Super+b — GNOME Boxes
  • Super+q — kill window
  • Super+f — fullscreen
  • Super+s — float
  • Super+1–9 — switch tags
  • Super+Shift+1–9 — move window to tag
  • Super+Shift+arrows — focus direction
  • Print — full screenshot
  • Super+Print — region screenshot

Screenshots land in ~/Screenshots/ with a timestamp filename and a notify-send confirmation.

Visual Tuning

The defaults needed work. Animations were the first thing to go — all durations set to zero, layer animations disabled. The compositor feels snappier for it.

Gaps are 3px all round. Focused windows get a soft green border (0x88bb88ff) — just visible enough to know what you're looking at without shouting.

Window rules assign apps to fixed tags automatically: Firefox to tag 3, Telegram to tag 2, GNOME Boxes to tag 4. The workspace is consistent every time.

What I Like About It

Tag-based layout suits the way I work. I don't want infinite dynamic workspaces — I want a fixed map I can navigate without thinking. Mango handles that well.

The config format is readable. Changes are fast to test. Compared to the yak-shaving involved in some other compositors, it's been surprisingly low-friction once the initial setup was done.

It's not perfect. The ecosystem is smaller than Hyprland or sway. Documentation is thin in places. But for a personal desktop that I understand top to bottom, it works exactly as intended.

Building GreenBang: A Wayland-First Alpine Linux Live ISO

I wanted a systemd-free version of ArchBang. Something minimal, keyboard-driven, and built on Alpine Linux instead. The name—GreenBang—references Alpine's green branding and my own username, and it became the foundation for a distro that strips away the overhead while keeping the philosophy: intentional, lean, dark Wayland desktop with no cruft.

That project is GreenBang, and it's still very much in beta.

Why Alpine? Why Wayland?

Alpine is ruthlessly lean. A base ISO is measured in megabytes, not gigabytes. That's the core philosophy here—do more with less. Wayland felt like the right move because X11 is aging, and if I'm building something new, why carry legacy baggage?

The challenge: Alpine's build system is fundamentally different from anything I'd worked with before. It uses mkimage.sh and overlays, not Arch's airootfs. Two separate files that have to stay in perfect sync: a profile that declares what packages exist on the ISO, and an overlay script that configures what actually loads at boot. Get them out of sync and packages silently fail to install. I learned that the hard way.

What Actually Works

Right now, I can boot the ISO into a Wayland session. labwc starts. The user gets created. NetworkManager handles wired and wireless. waybar renders. foot terminal launches. It's functional. Not pretty yet, not complete, but it boots and does things.

That took longer than it should have. Shell sourcing issues, missing dependencies, overlay structure gotchas—Alpine doesn't hold your hand the way some distros do. The documentation is thin. You read C code and source scripts to understand how things work.

What's Still Ahead

Plenty. There are gaps to fill, configurations to polish, and a few things I want that aren't quite there yet. Some will land quickly. Others will take time. I'd rather get it right than rush it out.

The Personal Part

This is a side project, not a product. There's no timeline, no roadmap beyond "make it usable." Some days I push a commit. Some days it sits. When I do work on it, I'm usually testing builds in QEMU on a VM, iterating through failed boots and profile tweaks.

I'd be lying if I didn't mention that Claude Code has done most of the heavy lifting—building the profiles, wrangling the overlay scripts, debugging the alpine build system quirks. At first it felt like cheating. But the real work has been mine: understanding what's broken, knowing what the fix should look like, and directing the approach. That's where my Linux experience actually matters. Anyone can run a build. Actually knowing why it failed and what to try next? That part is still all me.

It's therapeutic, honestly. In a world of bloated desktops and frameworks, there's something satisfying about making something minimal that's yours.

GreenBang is very much work in progress. Until then, it's a thing I'm building, learning Alpine's quirks, and slowly moving closer to something I'd actually use as a daily driver.

About

Linux enthusiast focused on ArchBang, system configuration, and minimal workflows.

This blog documents my experiments, setups, and discoveries as I work with Linux distributions and tools.

Links

Useful resources and links related to Linux, ArchBang, and system administration.

Tools & Utilities

Essential software for Linux workflow:

  • sway — Tiling Wayland compositor. Minimal, powerful window manager for X11/Wayland.

  • alacritty — GPU-accelerated terminal emulator. Fast, simple, cross-platform.

  • neovim — Hyperextensible Vim-based text editor. Modern, scriptable, fast.

  • fish — User-friendly command line shell. Smart completions and syntax highlighting.

  • fzf — Fuzzy finder for command line. Search files, history, processes quickly.

Communities

Connect with Linux and ArchBang communities:

  • r/archlinux — Official Arch Linux subreddit. Ask questions, share setups, get help.

  • r/swaywm — Sway window manager community. Discussion, tips, rice screenshots.

  • Arch Linux Forums — Official support and discussion forums.

  • ArchBang Forum — ArchBang-specific community and support.

Curated Resources

Guides, documentation, and learning materials:


Last updated: 2026-03-19

This page is actively maintained. Found a great resource? Open an issue or let me know!