Skip to content

Commit

Permalink
chore: followup for activation doc (#74)
Browse files Browse the repository at this point in the history
  • Loading branch information
zmitchell authored Nov 13, 2024
1 parent 482e226 commit 62c1538
Showing 1 changed file with 22 additions and 3 deletions.
25 changes: 22 additions & 3 deletions docs/concepts/activation.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ which puts you into a subshell with everything configured:

```bash
$ flox activate
flox [myenv] $ # Now I can use my packages
flox [myenv] $ # Now you can use your packages
```

One of the core features that makes Flox so attractive for development is that
Expand All @@ -53,10 +53,10 @@ environment rather than from elsewhere on your system.

## Three different ways to activate

I mentioned above that there are three different ways to use an environment.
We mentioned above that there are three different ways to use an environment.

### Subshell
I've already mentioned the first method,
We've already mentioned the first method,
which is to put you into a subshell.
When you activate this way your existing shell is paused and you're put into a
new one configured by Flox.
Expand Down Expand Up @@ -299,6 +299,25 @@ If you edit your manifest and activate in a new shell,
the whole activation process is run again and subsequent activations will
attach to this new version of the environment.

## Development vs. runtime mode

In addition to the different ways to use an activation,
there are two different "modes" to activate in:
development mode and runtime mode.

The default mode at the moment is development mode.
In development mode a package and all of its development dependencies are made
available.
As the name implies, this is useful at development time.
However, this may causes unexpected failures when layering environments or
when activating an environment system-wide.

For these reasons we also provide "runtime" mode,
which simply puts the requested packages in `PATH`
(and makes their `man` pages available).
This behavior is more in line with what you would expect from a system-wide
package manager like `apt`, `yum`, or `brew`.

## Conclusion

As you can see, there's a lot going on under the hood,
Expand Down

0 comments on commit 62c1538

Please sign in to comment.