2 min read
cups_tailwind — Modern CUPS web UI

CUPS — the print system every Linux box uses — ships with a web UI whose templates haven’t been seriously redesigned in fifteen years. cups_tailwind re-authors all 70 of those templates with Tailwind v4, adds dark-mode and themeable color presets, replaces the cupsd.conf textarea with a CodeMirror 6 editor that understands cupsd’s directive syntax, and ships with a reversible installer that backs up the upstream files before touching them.

Everything stays compatible with CUPS’ own template syntax ({var}, {cond?yes:no}, {[loop]…}), so it’s a true drop-in: rsync the templates/ and doc-root/ folders to /usr/share/cups/, bring CUPS back up, and the new UI is live.

Highlights

  • 70 templates re-authored in Tailwind v4 — admin, jobs, classes, printers, forms, and all 30+ status/confirmation pages
  • Touch-friendly — 44 px targets, mobile-responsive table column hiding, 16 px form inputs to suppress iOS zoom
  • Themeable — seven color presets (DietPi, Ocean, Sunset, Grape, Teal, Rose, Monochrome) and three card-hover border styles, persisted to localStorage per browser
  • Syntax-highlighted cupsd.conf editor — CodeMirror 6 with a custom simple-mode parser for cupsd’s Apache-style block syntax
  • Reversible installinstall.sh backs up /usr/share/cups once before deploying; uninstall.sh rsyncs it back. An APT post-invoke hook re-applies the theme automatically after future cups package upgrades.
  • CI — GitHub Actions builds a release tarball on every v* tag push

Currently driving a Pi Zero 2 W LP620 print server in my homelab.