development log

Lost USB: I wanted Portage back until I buy a new SSD

I misplaced the Ventoy stick, put Nix on a shelf without abandoning it, and somehow turned a temporary Gentoo reinstall into FF00 Ark.

I misplaced my Ventoy stick.

That is the stupidly ordinary beginning of this project.

I wanted to put Gentoo back on the workstation for a while. I miss Portage. I want the directness of it, I want all the knobs, and right now I want to start video production again without turning the operating system itself into the main production. Until I buy another SSD, Nix is going on the shelf.

This is not me abandoning NixOS. The configuration is preserved, the current machine state has a redeployment record, and the project remains on the site. Nix solved real problems for me and I still intend to return to those ideas. Temporarily choosing another tool is not a dramatic ideological divorce.

There is also a reason I suddenly care about getting the video workflow moving again. That will become clear later.

The missing stick became the design brief

The immediate problem was wonderfully embarrassing: if the installer USB is missing, how do I install the operating system I want?

I already have the Portable Bridge Workspace: a removable drive carrying my projects, operational context, and the route back to my private infrastructure. At first the obvious answer was to carve out enough space for ISOs and make it Ventoy-like. Then the idea became more useful.

The Bridge should not merely hold an installer. It should be able to load its own environment into RAM, mount its workbench, repair an existing Linux or Windows machine, prepare a new system, open a browser, write an email, run VS Code and Codex, and reproduce itself onto another drive. Installer and recovery images can still live beside it, but Ark itself should be the first tool that boots.

That became FF00 Ark:

Load Thyself.
Deploy Thy System.
Recover Thy State.

It is effectively version two of the Bridge idea, split correctly into a public operating system and a private profile. The public system should contain no infrastructure credentials or personal recovery material. My device can add an encrypted private layer later.

Yes, I started another thing

I have the awful habit of starting new bullshit like this.

I do not think I need to invent a grand justification every time curiosity meets an actual problem. The useful constraint is honesty: the page must say what exists, what does not, and what has actually passed.

Ark is not a bootable release yet, so I am not presenting it as one. I am also not uploading the code in pieces. If I turn every internal checkpoint into a public repository, package, support boundary, and announcement, I will spend all my energy maintaining the appearance of progress and never finish the thing. Ark gets a real product page now; Forgejo, GitHub, source, and release downloads arrive together when v1 is complete.

What exists already is less flashy and more important than a themed boot screen:

  • Gentoo stage and control media authenticated against the pinned release key;
  • a clean 309-package core reproduced offline;
  • a retained and hashed binary-package pool;
  • signature acceptance and missing-key refusal tests;
  • scans for secret keys and build caches;
  • a QEMU/UEFI control boot;
  • a constrained Catalyst environment that can create private chroot mounts without seeing a block device;
  • a verbose record of what failed and why.

That is real work, not a claim that the OS is ready. The public record can show the evidence without pretending an unfinished build tree is already a product.

Why Portage came back into the room

There was a moment where Arch looked like the sensible base. Recovery tools are available, documentation is abundant, and it would get to a usable live system quickly.

But Ark belongs to the same future as ff00-os, and ff00-os already has an opinion: Portage describes policy; binary packages make normal operation fast; source remains available when the operator needs different choices. Gentoo and OpenRC let Ark become both a broadly compatible emergency system and the rescue generation for that later operating system.

This does not mean compiling a browser while the house burns down. Ark is binary-first. The build process may use Portage’s full machinery, but released media should boot with a complete, signed and retained package closure.

The other thing I restarted

I bought Photoshop.

I also made the first FF00 Studio artwork. It sucks. That is fine.

The point is that I made it. My eye and hand are rusty, not gone, and the only way they come back is by making more things that do not yet look as good as I want. Ark will eventually need its own large and small ASCII marks, boot language, recovery iconography, and the visual grammar that ties it to the rest of the FF00 suite. That style comes after the system can tell the truth about what it does.

For now the ugly first art is evidence of another system coming back online: me actually making visual work again instead of endlessly preparing to make it.

Where this leaves everything

NixOS is preserved, not abandoned. FF00 Studio is active, not replaced. Video production is returning to the front because I want to produce video, not spend the next month perfecting a workstation abstraction before opening the editor. Gentoo is the immediate machine choice. Ark is the durable answer to the lost USB problem.

The next Ark milestone is not branding. It is building Gentoo’s unmodified Catalyst control media twice inside the constrained laboratory, booting the authored UEFI path, and explaining the differences before I let FF00 policy touch it.

If the project changes direction again, the record will show why. If it becomes what I think it can become, v1 will arrive as a usable release with polished Forgejo and GitHub homes—and the next missing USB will be an inconvenience rather than a dependency.

Open the FF00 Ark project record.