Connect
  • GitHub
  • Mastodon
  • Twitter
  • Slack
  • Linkedin
  • YouTube

Delete your setup
README.

One command in. flox activate out.

Point it at a repo you already have. It reads what is there, pins it, and proves the environment starts before it says it is done.

Installs the Flox CLI on macOS and Linux. Other ways to install

Then, in the repo you already have

Or skip the command and just ask: “Get this repo running with Flox.”

Run these from a clone of flox/flox-skills.

Then, in the repo you already have

Codex loads the skill from what you ask. There is no command to type.

Cursor, Copilot, Windsurf, Gemini and more, through skills.sh. Third party, needs Node.

Then, in the repo you already have

Your agent loads the skill from what you ask. There is no command to type.

No repo handy? Use ours.

Bring your own agent.

Claude CodeCodexCursorCopilotWindsurfGemini

Ask git what it did.

One new directory appears, and not one tracked file is touched. Nothing is called done until the environment has started and your interpreters have run inside it.

5

files written, all under .flox/

0

tracked files modified

0

lines deleted, anywhere

0.19s

to re-enter the environment

checkout-serviceafter /floxify
$ git status
On branch main
Untracked files:
(use "git add <file>..." to include in what will be committed)
.flox/
nothing added to commit but untracked files present
checkout-servicestaged
$ git add -A && git diff --cached --stat
.flox/.gitattributes | 1 + .flox/.gitignore | 5 + .flox/env.json | 4 + .flox/env/manifest.lock | 437 ++++++++++++++++++++++++++++++ .flox/env/manifest.toml | 26 ++ 5 files changed, 473 insertions(+)
.flox/env/manifest.toml5 sections, nothing else
[install]
what to install, pinned
[vars]
environment variables the project reads
[hook]
runs on entry, so the database exists before you need it
[services]
what flox starts and supervises
[options]
which machines this environment can serve
See the details

[install]

go.pkg-path = "go"
postgresql.pkg-path = "postgresql_16"
redis.pkg-path = "redis"

[vars]

PGPORT = "5432"
PGDATABASE = "checkout"
REDIS_PORT = "6379"

[hook]

export PGDATA="$FLOX_ENV_CACHE/pg"
[ -d "$PGDATA" ] || initdb -D "$PGDATA" ...

[services]

postgres   postgres -D ... -p "$PGPORT"
redis      redis-server --port "$REDIS_PORT"

[options]

systems = ["x86_64-linux", "aarch64-linux", "aarch64-darwin"]

Read from the checkout-service run above. Agent packages (flox/claude-code, flox/codex) are real catalog entries you can add, not part of that manifest.

What flox activate gets you.

The toolchain, the databases and the environment variables all come with it.

No Docker

Databases start with it

and stop when you leave

$ flox activate --start-services -c "flox services status"
NAME STATUS PID
postgres Running 36881
redis Running 36883
$ pg_isready -h /tmp -p 5432
/tmp:5432 - accepting connections
$ redis-cli -p 6379 ping
PONG

No installs

Already on your PATH

go: go (1.26.4)
postgresql: postgresql_16 (16.14)
redis: redis (8.8.0)

No onboarding doc

Everyone else just clones

$ git clone ...
$ flox activate
that is the whole setup

Questions worth asking first.

floxify reads your repo and resolves against a live catalog, so it can be wrong. A clean verify means consistent with the files it read, not that it is correct. Ruby with native gems and polyglot monorepos are the hard cases. Read the manifest before you commit it.

Others already deleted theirs.

Their setup README, steps, caveats and all.

Before, our local dev guide comprised 16 steps with 14 caveats. Now, it's just a universal flox activate.
Michael Matloka, Senior Product Engineer
We could tell people what to install, but we couldn't make sure they were actually on the same thing.
Amin Karbas, Member of Technical Staff
We had a lot of different environments. When something changed, we didn't have a good way of getting everyone updated.
Samuel Cormier-Iijima, CTO

Same problem, same fix: NVIDIA, D.E. Shaw, Arcesium, Neo4j, Weaviate, Detaso.