CODELIF(1)User Commands

Harsh Sharma (codelif) - Linux desktop tooling, mostly in Go

NAME

codelif - Harsh Sharma; writes Linux desktop tooling, mostly in Go

SYNOPSIS

codelif [--go] [--c] [--reverse-engineer TARGET]

DESCRIPTION

Builds daemons, status bars and protocol clients for Linux. Prefers text protocols, single binaries, and software that keeps working when you close the browser.

Most of it starts the same way: something on my machine is worse than it needs to be, and the fix turns out to be a weekend project.

Currently in that "C is better" phase.

PROJECTS

pawbar(1) - a status bar that is a kitty terminal panel

Go · BSD-3 · 109★ · github.com/nekorg/pawbar

Modern terminals already ship truecolor, text sizing, inline images, hover and mouse reporting. kitty's panel kitten will put one of those anywhere on your screen. At that point a status bar does not need a GUI toolkit; it needs a terminal and an escape sequence. Everything a bar normally reimplements, the terminal already did.

hyprnotify(1) - org.freedesktop.Notifications, rendered through hyprctl notify

Go · Apache-2.0 · 122★ · github.com/codelif/hyprnotify

Hyprland could already draw a notification. Nothing on the system knew how to ask it to, because everything speaks DBus and hyprctl does not. This is the missing half: the spec-compliant DBus side, wired to a renderer that was sitting there unused.

whatevr(1) - a Linux-first WhatsApp client; one daemon, any number of thin frontends

Go · Qt/Kirigami · BSD-3 · 12★ · github.com/codelif/whatevr

Chat clients fuse the network, the message store and the pixels into one process, so every new interface means reimplementing all three. Here whatevrd owns the connection, the SQLite store, the media cache and notifications; a frontend owns pixels and a documented unix socket. That split is the whole design: writing another frontend is a weekend, not a fork.

jpoop-router(8) - a Raspberry Pi routing a network that does not want to be routed through

Go · Svelte · 8★ · github.com/codelif/jpoop-router

The campus network expects a browser at a captive portal, hands out credentials with daily quotas that run out, and runs WEP on the uplink. A Pi sits in front of all of it. Three Go binaries split by privilege: credentials rotate on their own and record the portal's own reason when one stops working, allowances are enforced against nftables counters in the kernel rather than sampled from userspace, and egress goes through a tunnel with DNS pinned so lookups cannot leak, which fails open the moment the tunnel stops carrying traffic.

Sixty-odd more at github.com/codelif. Most of them are one evening long.

WRITING

See codelif(7) for notes and posts.

FILES

/codelif.asc

PGP public key. Fingerprint:
E676 2761 4BDD A9C0 1076 F211 F558 B2A2 512E 1295

SEE ALSO

BUGS

Sleeps less than two hours a day.

Report bugs to [email protected].

codelif.in