nixfredFLOXFIELD GUIDE · BY NIX UNOFFICIAL
REFERENCE / QUIZ

Quiz and flashcards

53 questions. Answer out loud first, then reveal. Every answer links to the Flox page it comes from.

Quiz

1. What are the two kinds of Flox environment, and how is each created?
Reveal answer

A path environment lives in a local .flox directory and is created with flox init. A centrally managed environment lives on FloxHub and is created by running flox push on a path environment.

Source: flox.dev/docs/concepts/environments

2. Which files does a Flox environment keep in its .flox directory?
Reveal answer

Its metadata, the declarative manifest (manifest.toml) and the manifest lock file (manifest.lock). For path environments all of them can go in version control.

Source: flox.dev/docs/concepts/environments

3. What does manifest.lock record, and who edits it?
Reveal answer

It is a "snapshot of the specific package versions and their dependencies" built and activated at a point in time. Flox manages it for you.

Source: flox.dev/docs/concepts/environments

4. Which sections can a manifest.toml contain?
Reveal answer

install, pkg-groups, vars, hook, profile, services, include, build, options, plugins (experimental) and containerize, plus top-level schema-version, minimum-cli-version and description.

Source: flox.dev/docs/man/manifest.toml

5. How do you turn a FloxHub environment back into a plain path environment?
Reveal answer

Run flox pull --copy instead of flox pull. That disconnects the environment from FloxHub.

Source: flox.dev/docs/concepts/environments

6. What is a generation?
Reveal answer

A version number of an environment on FloxHub. The first generation is created by flox push, and commands that modify the environment, such as flox install or flox edit, create new ones automatically.

Source: flox.dev/docs/concepts/generations

7. How do you undo an environment change with generations?
Reveal answer

Run flox generations rollback to undo the last change, or flox generations list and then flox generations switch with a generation number to revert further. Rolling back adds a history entry rather than creating a new generation.

Source: flox.dev/docs/concepts/generations

8. What is FloxHub?
Reveal answer

A cloud service for sharing Flox environments, reached at hub.flox.dev. Your GitHub username is used automatically as your FloxHub account name.

Source: flox.dev/docs/concepts/floxhub

9. How do you share an environment with a team on FloxHub?
Reveal answer

Create an Organization and push environments there instead of to a personal account. Organization roles are Owner, Writer and Reader.

Source: flox.dev/docs/concepts/organizations

10. What are the two types of Flox catalog?
Reveal answer

The Base Catalog is populated by Flox from nixpkgs. Custom Catalogs belong to users and organizations and are filled with flox publish; they can be public or private.

Source: flox.dev/docs/concepts/packages-and-catalog

11. How current is the Flox Base Catalog?
Reveal answer

Flox ingests the equivalent of the nixos-unstable branch daily, so a package that lands on nixos-unstable should appear in the Base Catalog within a day.

Source: flox.dev/docs/concepts/base-catalog

12. What is a package group?
Reveal answer

Every package in a pkg-group resolves against the same nixpkgs Git commit (a catalog revision), while different groups may resolve against different commits. This guards against ABI incompatibilities and version conflicts.

Source: flox.dev/docs/concepts/package-groups

13. What does the error "constraints for group 'toplevel' are too tight" suggest?
Reveal answer

The resolver cannot find one coherent set of versions. Adjust version constraints with flox edit, or isolate a package in a new group with pkg-group = "newgroup" on that package.

Source: flox.dev/docs/concepts/package-groups

14. How are services defined in a Flox environment?
Reveal answer

In the [services] section of the manifest. Each service needs a command and may set its own vars, and services use the packages from [install]. Starting them with flox activate is done with --start-services.

Source: flox.dev/docs/concepts/services

15. How do you handle a service that backgrounds itself?
Reveal answer

Set is-daemon = true and provide a shutdown.command, since the default shutdown sends SIGTERM to the spawned process. The docs show pg_ctl start and pg_ctl stop as the pattern.

Source: flox.dev/docs/concepts/services

16. Can Flox services run under systemd?
Reveal answer

Yes. The Flox and systemd tutorial is about running Flox environment services as persistent systemd units.

Source: flox.dev/docs/tutorials/flox-and-systemd

17. What are the two ways to define builds in a Flox environment?
Reveal answer

Manifest builds use the build commands you already know with a reasonable amount of reproducibility. Nix expression builds are for truly reproducible builds and need some Nix language.

Source: flox.dev/docs/concepts/builds

18. What does flox build leave in the project directory?
Reveal answer

A symlink named result-<name> for each build, pointing at a read-only location holding the package contents.

Source: flox.dev/docs/concepts/builds

19. Does a pure manifest build block network access?
Reveal answer

On Linux, sandboxed (sandbox = "pure") builds are restricted from the network. On macOS the sandboxing is more limited, so pure builds there still have network access.

Source: flox.dev/docs/concepts/manifest-builds

20. Can one flox build produce packages for several platforms?
Reveal answer

No. A package is built on your host and only for its system (aarch64-darwin, x86_64-linux and so on), so multi-platform packages need builds on multiple platforms, for example in CI.

Source: flox.dev/docs/concepts/builds

21. What must be true before flox publish will upload a package?
Reveal answer

The environment must be tracked in a git repository with clean tracked files, the repository must have a remote with the current revision pushed, and at least one package must be installed in the environment.

Source: flox.dev/docs/concepts/publishing

22. What does flox containerize produce, and how does the image behave?
Reveal answer

It writes a container image of the environment (default file {name}-container.tar). Running it behaves like flox activate: interactive runs give a shell, non-interactive runs execute a command like flox activate --.

Source: flox.dev/docs/man/flox-containerize

23. How does Flox describe the difference from containers?
Reveal answer

With containers, packaging and isolation are mixed together. With Flox, packaging is distinct from isolation, and environments work the same on bare metal, in VMs, in containers and in agent sandboxes.

Source: flox.dev/docs/concepts/flox-vs-containers

24. What does a pod spec need to run on Imageless Kubernetes?
Reveal answer

The annotation flox.dev/environment naming a FloxHub environment, runtimeClassName: flox, and a tiny placeholder image (flox/empty:1.0.0 in the example) plus the command to run.

Source: flox.dev/docs/imageless-kubernetes/intro

25. How do you change the packages in an Imageless Kubernetes workload?
Reveal answer

Run flox install -r and flox push -r on the FloxHub environment, then redeploy the pod. It pulls the latest generation, with "No need to rebuild an image."

Source: flox.dev/docs/imageless-kubernetes/intro

26. How does Imageless Kubernetes hook into containerd?
Reveal answer

It wraps containerd-shim-runc-v2 with containerd-shim-flox-v2, which intercepts the container configuration and prepares the filesystem, including pulling the Flox environment to the node.

Source: flox.dev/docs/imageless-kubernetes/tech

27. Which skills does Flox ship for AI coding agents, and how do you add them to Claude Code?
Reveal answer

Three skills: flox, floxify and flox-debug. In Claude Code run claude plugin marketplace add flox/flox-skills, then claude plugin install flox@flox-skills.

Source: flox.dev/docs/install-flox/ide-extensions

28. What does the floxify skill do?
Reveal answer

It onboards an existing repo: it detects runtimes, services and build tools and writes .flox/env/manifest.toml so that flox activate is the only setup command a new developer needs.

Source: flox.dev/docs/install-flox/ide-extensions

29. What changed on October 20, 2026?
Reveal answer

Flox commands that install, upgrade or resolve packages from the Flox Catalog now require a free FloxHub account. Flox 1.19.3 shipped that day.

Source: flox.dev/docs/concepts/authentication

30. What still works without an account after October 20, 2026?
Reveal answer

flox activate with a current lockfile, flox search, flox show, flox pull of a public environment, and flox build when the lockfile is current.

Source: flox.dev/docs/concepts/authentication

31. Is the login requirement a paywall?
Reveal answer

No. Flox says "this is not a paywall": the free tier keeps the same capabilities and you need a free account, not a paid subscription.

Source: flox.dev/docs/concepts/authentication

32. What happens to a command that resolves packages if you are not logged in?
Reveal answer

It does not prompt. It fails with an error telling you to run flox auth login, after which you run the command again.

Source: flox.dev/docs/concepts/authentication

33. Does staying on an old Flox version avoid the login requirement?
Reveal answer

No. The catalog enforces it for every version. Versions before 1.3.5 never send the login to the catalog, so they cannot resolve packages even when logged in and must be upgraded.

Source: flox.dev/docs/concepts/authentication

34. What does the Personal plan include?
Reveal answer

It is free: the CLI, access to the Flox Catalog, unlimited public FloxHub envs, 3 private FloxHub envs, 5 private packages and community support via Slack or Discourse.

Source: flox.dev/pricing/

35. What does the Team plan cost and add?
Reveal answer

It lists $20/seat/month and adds a team catalog, unlimited publishing of packages, unlimited team FloxHub envs, platform support and paid consulting with Flox packaging experts.

Source: flox.dev/pricing/

36. What does Enterprise add over Team?
Reveal answer

Custom deployment options, a custom base catalog, a software policy engine and comprehensive packaging support, at custom pricing.

Source: flox.dev/pricing/

37. Which compliance certifications does Flox claim?
Reveal answer

SOC 2 Type II and ISO/IEC 27001:2022, both stated on its Security & Compliance page.

Source: flox.dev/compliance/

38. How do you install Flox on macOS or Linux?
Reveal answer

Run curl -fsSL https://get.flox.dev | sh. The script supports macOS, Debian and Red Hat-based Linux distributions on x86_64 and aarch64.

Source: flox.dev/docs/install-flox/install

39. How should CI authenticate to FloxHub?
Reveal answer

With a service account token in the FLOX_FLOXHUB_TOKEN environment variable, kept as a CI secret. A pipeline that only activates a committed environment needs no credentials.

Source: flox.dev/docs/tutorials/ci-cd

40. What are the limits of a service account?
Reveal answer

It has one of two organization-wide access levels, read-only or read and write, never owner. Only owners create service accounts, tokens begin with flox_sat_, and the CLI must be 1.14.0 or newer.

Source: flox.dev/docs/concepts/service-accounts

41. How do personal access tokens work?
Reveal answer

They begin with flox_pat_, are generated in FloxHub on your profile page, last 30 days by default (or 90 days, 1 year, no expiration) and are shown once. Use flox auth login --token-file to sign in.

Source: flox.dev/docs/concepts/personal-access-tokens

42. What does Flox collect, and can telemetry be turned off?
Reveal answer

The CLI records an event for each command, tied to a random device ID. FLOX_DISABLE_METRICS=true turns off telemetry and error reports, though search and install still send the requests they need.

Source: flox.dev/docs/concepts/data-collection

43. What does Flox recommend for secrets in environments?
Reveal answer

A just-in-time pattern: retrieve secrets from a secret store during flox activate with a secrets plugin or on-activate hook, so they exist only while the environment is active.

Source: flox.dev/docs/concepts/secrets-management

44. How does one environment build on another?
Reveal answer

Through the include.environments array in the manifest. Later descriptors take higher priority than earlier ones, and the composing manifest wins. flox list --config shows the merged manifest.

Source: flox.dev/docs/man/manifest.toml

45. What does Docker Compose define?
Reveal answer

Docker Compose is "a tool for defining and running multi-container applications." A Flox environment instead defines packages, variables, hooks and services activated on a host.

Source: docs.docker.com/compose/

46. What does the VS Code Dev Containers extension do?
Reveal answer

It lets you use a container as a full-featured development environment, and a devcontainer.json file in your project tells VS Code how to do that.

Source: code.visualstudio.com/docs/devcontainers/containers

47. What is the Development Container Specification?
Reveal answer

An open specification for enriching containers with development specific content and settings.

Source: containers.dev/

48. What does Nix say about how it builds packages?
Reveal answer

Nix builds packages in isolation from each other, which it says keeps them reproducible and free of undeclared dependencies.

Source: nixos.org/

49. How does Devbox describe itself in relation to Docker?
Reveal answer

Devbox builds an isolated dev environment, and its page states that no Docker or virtual machines are required.

Source: www.jetify.com/devbox

50. What file configures a Devbox environment?
Reveal answer

Devbox creates an isolated development environment based on your devbox.json.

Source: www.jetify.com/devbox

51. What does devenv let you declare?
Reveal answer

Its page says to define packages, languages, services, tasks, secrets and tooling once, so every developer and CI gets the same reproducible environment.

Source: devenv.sh/

52. What does mise manage from one mise.toml?
Reveal answer

It installs the tools a project needs, sets its environment variables and runs its tasks from one mise.toml that works in your shell, editor and CI.

Source: mise.jdx.dev/

53. Is Flox auto-activation on by default?
Reveal answer

Yes. Auto-activation is on by default and only requires the Flox prompt hook installed in your shell, which any in-place activation installs.

Source: flox.dev/docs/concepts/auto-activation

Flashcards

12 cards. Click or tap a card to flip it.