Ghost Assembly

Small, sharp tools for the Linux desktop and the cloud.

Open-source GNOME Shell extensions, command-line tools and self-hosted services. Each one does a single job and stays out of your way.

Browse projects GitHub

Projects

GNOME Shell extensions

Quick Settings tools, top-bar playback controls, and keyboard tiling for GNOME Shell.

QuickClip

GNOME 50

A private clipboard history in Quick Settings, with developer transforms. Copies are kept in memory only, and anything a password manager marks as secret is skipped.

QuickMusic

GNOME 50

What is playing, in Quick Settings and the top bar, with play/pause, previous and next for any MPRIS player. It follows whichever player started most recently, or stays on one you pin.

QuickRem

GNOME 49–50

Your saved Remmina connections in Quick Settings, following the profile folder as it changes. It never reads Remmina’s stored passwords.

QuickSpot

GNOME 50

A Spotify speaker and playback controls in the GNOME top bar, powered by Spotify Soloist. Play Liked Songs, browse saved playlists, and launch named playlist shortcuts.

QuickTiler

GNOME 49–50

Keyboard-driven zone tiling with a Quick Settings tile, no overlay and no timers. Press a direction again and the focused window cycles through the zones on that side.

QuickTS

GNOME 50

Tailscale in Quick Settings: toggle the tailnet, pick an exit node, switch profiles, ping nodes and send or receive Taildrop files. If tailscaled refuses its socket, the menu says so instead of showing a tailnet that looks silently disconnected.

Command-line tools

Fast tools for the terminal and for agents.

awsdiag

Rust

Fast, compact AWS diagnostic data collection, built to be driven by an AI agent and rendered into a single self-contained HTML report. It is just as usable by hand.

Self-hosted services

Software you run on your own hardware.

GhostDock

Rust · Docker Compose

A self-hosted, mobile-first manager for Docker Compose stacks, with Git-backed deploys and update checks. It follows Docker’s own events, so the board updates live as containers start, stop or turn unhealthy.