Skip to content

Update frontpage #1110

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

Draft
wants to merge 8 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 30 additions & 18 deletions source/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,24 +50,36 @@ Explanations of history and ideas in the Nix ecosystem
:::
::::

## What can you do with Nix?

The following list illustrates some of what can be achieved with the Nix ecosystem:

- {ref}`Reproducible development environments <ad-hoc-envs>`.
- Easy installation of software over URLs.
- Easy transfer of software environments between computers.
- {ref}`Declarative specification of Linux machines <deploy-nixos-using-terraform>`.
- {ref}`Reproducible integration testing using virtual machines <integration-testing-vms>`.
- Avoidance of version conflicts with already installed software.
- Installing software from source code.
- {ref}`Transparent build caching using binary caches <github-actions>`.
- Strong support for software auditability.
- {ref}`First-class cross compilation support <cross-compilation>`.
- Remote builds.
- Remote deployments.
- Atomic upgrades and rollbacks.

## What is Nix?

[Nix](https://github.com/NixOS/nix) allows treating Unix processes and file system operations as pure functions.

It is the basis of a growing ecosystem of tools that facilitate repeatable results in software development:
- [Nixpkgs](https://github.com/nixos/nixpkgs) is [the largest, most up-to-date software repository in the world](https://repology.org/repositories/graphs).
- [NixOS](https://github.com/NixOS/nixpkgs/tree/master/nixos) is a Linux distribution that can be configured fully declaratively.

## How to use software from Nixpkgs

This is what you can do with software from Nixpkgs:
- Run **standalone programs** locally with Nix
- Use **libraries or tools** to build software with Nixpkgs
- Deploy **services** to machines running NixOS

## What else can you do with Nix?

The following list illustrates some examples of what can be achieved with the Nix ecosystem:
- {ref}`Reproducible development environments <ad-hoc-envs>`
- Easy installation of software over URLs and from source code
- Easy transfer of software environments between computers
- {ref}`Declarative specification of Linux machines <deploy-nixos-using-terraform>`
- {ref}`Reproducible integration testing using virtual machines <integration-testing-vms>`
- Avoidance of version conflicts with already installed software
- {ref}`Transparent build caching using binary caches <github-actions>`
- Strong support for software auditability
- {ref}`First-class cross compilation support <cross-compilation>`
- Remote builds
- Remote deployments
- Atomic upgrades and rollbacks

## Who is Nix for?

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ pkgs.dockerTools.buildImage {
:::{note}
If you're running **macOS** or any platform other than `x86_64-linux`, you'll need to either:

- [Set up a remote builder](https://github.com/nix-dot-dev/nix.dev/issues/157) to build on Linux
- [Set up a remote builder](distributed-build-setup-tutorial) to build on Linux
- {ref}`Cross compile to Linux <cross-compilation>` by replacing `pkgsLinux.hello` with `pkgs.pkgsCross.musl64.hello`
:::

Expand Down
Loading