-
Notifications
You must be signed in to change notification settings - Fork 8
First draft of landing page #135
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
added paragraph that waxes fantastically / rhapsodically about flox and ci and reproducibility uber alles.
Minor changes throughout - all content here is ready for review
Co-authored-by: Brendan Magee <[email protected]>
docs/index.md
Outdated
|
||
Let's see what it looks like to bring Flox to one of your existing projects. | ||
:material-arrow-right-thick: Define everything your environment needs—packages, tools, environment variables, and services—in one manifest. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
:material-arrow-right-thick: Define everything your environment needs—packages, tools, environment variables, and services—in one manifest. | |
* Define everything your environment needs—packages, tools, environment variables, and services—in one manifest. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like how the right arrows look, but they don't indent properly on their second lines. Standard bullets will indent properly - perhaps @brendaneamon knows a way to accomplish this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree, I'll change to standard bullets!
docs/index.md
Outdated
|
||
Let's see what it looks like to bring Flox to one of your existing projects. | ||
:material-arrow-right-thick: Define everything your environment needs—packages, tools, environment variables, and services—in one manifest. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like how the right arrows look, but they don't indent properly on their second lines. Standard bullets will indent properly - perhaps @brendaneamon knows a way to accomplish this?
docs/index.md
Outdated
|
||
=== "Python" | ||
Install `flox` with `brew` and get your dev |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Install `flox` with `brew` and get your dev | |
Install `flox` and get your dev |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about
Install
flox
withapt
,yum
, orbrew
and ...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still don't understand why we need to include a specific install mechanism here.
And I worry that it will confuse users: "do I need to install brew or be on Linux to use this?"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, sorry I didn't explain. The reason for calling out brew specifically is because we saw in several research sessions that (1) people looked for brew as an install method but didn't see it on the website so they chose the download instead and (2) when someone did find or use brew, they were delighted to use that method.
My hypothesis is that if you just put the word brew
front and center when you mention install, they won't have to click to the Install docs, and can just get started even more quickly. Adding apt
and yum
would do the same for those users.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is a fine compromise.
I understand that we have that research result, but I don't agree that putting brew front and center is the best decision. I weigh those research experiences in my mind lower than the desire not to confuse people about the role Flox plays in their stack.
docs/index.md
Outdated
...select yes... | ||
✨ Created environment 'my_project' (aarch64-darwin) | ||
✅ 'python3' installed to environment 'my_project' | ||
Flox makes the power of Nix more accessible for your team, and maybe for you too. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Flox makes the power of Nix more accessible for your team, and maybe for you too. | |
Flox brings the power of Nix to your team, and can simplify your workflows too. |
docs/index.md
Outdated
$ flox activate <- Enter the environment | ||
$ flox edit <- Add environment variables and shell hooks | ||
``` | ||
The same challenges, no matter the stack: inconsistent environments, dependency drift, and brittle build processes that don’t scale well across machines, teams, or deployment targets. Current solutions often add complexity and fragmentation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The same challenges, no matter the stack: inconsistent environments, dependency drift, and brittle build processes that don’t scale well across machines, teams, or deployment targets. Current solutions often add complexity and fragmentation. | |
We encounter the same challenges, no matter the stack: inconsistent environments, dependency drift, and brittle build processes that don’t scale well across machines, teams, or deployment targets. Current solutions often add complexity and fragmentation. |
docs/index.md
Outdated
Let's see what it looks like to bring Flox to one of your existing projects. | ||
- Define everything your environment needs—packages, tools, environment variables, and services—in one manifest. | ||
- Switch between environments easily, share them with your team, and keep everything in version control. | ||
- Use the same setup across macOS and Linux, on both x86 and ARM. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Use the same setup across macOS and Linux, on both x86 and ARM. | |
- Use the same setup across macOS and Linux, on both x86 and Arm. |
docs/index.md
Outdated
|
||
`cd` into your project and initialize the environment with [`flox init`][init]. | ||
Install `flox` with `apt`, `yum`, `brew`, or a system installer to get your dev |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
system install
sounds a little off to me, maybe standalone installer
instead?
docs/index.md
Outdated
|
||
* latest python (requirements.txt) | ||
Flox brings the power of Nix to your team, and can simplify your workflows too. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Flox brings the power of Nix to your team, and can simplify your workflows too. | |
Flox brings the power of Nix to your team, and can simplify your workflows. |
docs/index.md
Outdated
|
||
If you accept, it will also create a virtual environment that's activated | ||
automatically when you activate your Flox environment. | ||
Guides for getting started in just a few of the many languages Flox supports: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My nitpick about the word "guides" here is that is sounds like the linked blog posts are the suggested way of getting started, when in actuality they're examples of projects (I haven't read all of the blog posts, but that's at least how my Rust post was). Maybe "Examples" instead?
docs/index.md
Outdated
If you accept, it will also add a hook that calls either `npm install` or | ||
`yarn` when activating the environment so that your dependencies are up to | ||
date. | ||
Set up a [local developer environment](https://flox.dev/docs/tutorials/creating-environments/) that will work the same across multiple system types and architectures. Seamlessly switch between development environments across multiple language ecosystems using a consistent, unified workflow. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Set up a [local developer environment](https://flox.dev/docs/tutorials/creating-environments/) that will work the same across multiple system types and architectures. Seamlessly switch between development environments across multiple language ecosystems using a consistent, unified workflow. | |
Set up a [local developer environment](https://flox.dev/docs/tutorials/creating-environments/) that will work the same across multiple operating systems and architectures. Seamlessly switch between development environments across multiple language ecosystems using a consistent, unified workflow. |
system types
would include both operating system and architectures in my mind, so if we've split out architectures, it makes sense to split out operating systems as well.
docs/index.md
Outdated
|
||
--- | ||
Set up your [default environment](https://flox.dev/docs/tutorials/default-environment/) with a set of | ||
packages that you always want available, whether you're on macOS or Linux—x86 or ARM. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
packages that you always want available, whether you're on macOS or Linux—x86 or ARM. | |
packages that you always want available, whether you're on macOS or Linux—x86 or Arm. |
|
||
### __Consistent builds from local to CI to production__ | ||
|
||
Flox lets you define what an environment _is_ in a way that can be reused across local dev, CI, and production. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you could drop this sentence.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's leave it in. Unless @barstoolbluz would you cut it or rewrite?
docs/index.md
Outdated
### __Consistent builds from local to CI to production__ | ||
|
||
Flox lets you define what an environment _is_ in a way that can be reused across local dev, CI, and production. | ||
Leverage [pre-built integrations](https://flox.dev/docs/tutorials/ci-cd/?h=ci) for GitHub Actions, CircleCI, and GitLab to pull and activate the same environments locally, in CI and in prod. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Leverage [pre-built integrations](https://flox.dev/docs/tutorials/ci-cd/?h=ci) for GitHub Actions, CircleCI, and GitLab to pull and activate the same environments locally, in CI and in prod. | |
Leverage [pre-built integrations](https://flox.dev/docs/tutorials/ci-cd/?h=ci) for GitHub Actions, CircleCI, and GitLab to pull and activate the same environments locally, in CI and in production. |
Flox lets you define what an environment _is_ in a way that can be reused across local dev, CI, and production. | ||
Leverage [pre-built integrations](https://flox.dev/docs/tutorials/ci-cd/?h=ci) for GitHub Actions, CircleCI, and GitLab to pull and activate the same environments locally, in CI and in prod. | ||
|
||
Or use Flox [containerize](https://flox.dev/docs/reference/command-reference/flox-containerize/?h=containerize) to package your environments as OCI images—fully pinned and runnable anywhere. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not really sure what "fully pinned" means here. You could mention that the images only contain exactly what your software needs to run (most images build on top of an OS, and ours don't).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@barstoolbluz thoughts or revisions here?
docs/index.md
Outdated
|
||
### __And more...__ | ||
|
||
- Create a reusable toolchain or templates to bootstrap new projects by [reusing and combining dev environments](https://flox.dev/docs/tutorials/composition/). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Create a reusable toolchain or templates to bootstrap new projects by [reusing and combining dev environments](https://flox.dev/docs/tutorials/composition/). | |
- Create templates or reusable toolchains to bootstrap new projects by [reusing and combining dev environments](https://flox.dev/docs/tutorials/composition/). |
Set up the layout and added placeholders for the content; welcoming contributions and feedback