Selected worksmoke-dev-tools
Personal01 / 02

Smoke: Steam for Developer Tools

In short: a native Windows desktop app (Tauri v2 + Rust) that migrates heavy dev tools off a space-constrained C: drive to D: using kernel-level NTFS junctions, with zero-admin operation, crash-safe rollback, and async compression pipelines for full uninstall/reinstall cycles.

PersonalSoftware EngineeringSystems Programming
smoke-dev-tools

Safety Pipeline

Crash-Safe Rollback

Terminal Shim

Single PATH Entry

Compression I/O

Streamed, Off-UI-Thread

RustTauri v2TypeScriptTokio Async RuntimeWin32 APINTFS JunctionsSystems Programming

The Problem

Every heavy installer (compilers, container runtimes, IDEs) hardcodes its destination to the C: system drive, because Windows never offers it another option. C: fills up while a second D: volume on the same disk sits empty, so users end up deleting tools they still need just to make room.

The Solution

Built a Tauri v2 + Rust desktop app that plants an NTFS junction at the exact path an installer is about to write to, so Windows and the installer both believe the app landed on C: while the bytes actually live on D:. It runs with zero-admin operation via reparse-point APIs under the caller's own token.

Architecture

01Pre-emptive junction targeting: creates the real install folder on D: first, then plants the junction on C: before the installer ever writes a byte, so no interception logic runs mid-install.
02Streaming dehydrate/rehydrate: idle tools are packed into a single compressed archive and restored on demand, reading and writing in chunks off the UI thread so multi-gigabyte installs don't spike RAM or freeze the app.
03Active-process guard: checks an in-memory registry of running apps before any destructive action, performing the check-and-act atomically so a tool can't slip from closed to running mid-operation.