1
0
Fork 0
mirror of https://github.com/NixOS/nix.dev.git synced 2024-10-18 14:32:43 -04:00
nix.dev/source/index.md

104 lines
2.9 KiB
Markdown
Raw Normal View History

2021-12-10 06:23:18 -05:00
---
2022-06-27 11:35:35 -04:00
myst:
html_meta:
"description lang=en": "Official documentation for getting things done with Nix."
"keywords": "Nix, Nixpkgs, NixOS, Linux, build systems, deployment, packaging, declarative, reproducible, immutable, software, developer"
"property=og:locale": "en_GB"
2021-12-10 06:23:18 -05:00
---
# Welcome to nix.dev
nix.dev is the home of official documentation for the Nix ecosystem.
It is maintained by the [Nix documentation team](https://nixos.org/community/teams/documentation).
2023-10-05 11:29:37 -04:00
If you're new here, {ref}`install Nix <install-nix>` and begin your journey with our tutorial series!
::::{grid} 2
:::{grid-item-card} Tutorials
2023-06-25 08:13:20 -04:00
:link: tutorials
:link-type: ref
:text-align: center
2023-06-25 08:13:20 -04:00
Series of lessons to get started
:::
:::{grid-item-card} Guides
:link: guides
2023-06-25 08:13:20 -04:00
:link-type: ref
:text-align: center
2023-06-25 08:13:20 -04:00
Guides to getting things done
:::
::::
::::{grid} 2
:::{grid-item-card} Reference
2023-06-25 08:13:20 -04:00
:link: reference
:link-type: ref
:text-align: center
2023-06-25 08:13:20 -04:00
2023-10-06 04:59:27 -04:00
Collections of detailed technical descriptions
:::
:::{grid-item-card} Concepts
2023-06-25 08:13:20 -04:00
:link: concepts
:link-type: ref
:text-align: center
2023-06-25 08:13:20 -04:00
Explanations of history and ideas in the Nix ecosystem
:::
::::
## What can you do with Nix?
The following illustrate of what can be achieved with the Nix ecosystem:
2021-12-10 06:23:18 -05:00
- {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 <deploying-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.
front page: Who is Nix for? (#872) * front page: Who is Nix for? For at least two years there were ongoing debates about the target audience of the Nix ecosystem. Nix maintainers did not manage to converge on a statement [0]. The marketing team is explicitly focusing on software developers [1], and the documentation team was supposed to align with that from the very beginning [2]. What was missing so far was what we mean by "software developers". Arguably, it encompasses a particular mind set about how to deal with computers and enough time to learn things. And while for documentation it matters most *what* the software is doing rather than *who* it is made for (or by), the ecosystem is a community effort, and people matter [3]. So far, we haven't really identified the (eventual) boundaries of this community (at least I don't know of any serious attempt), which also plays into the definition of a target audience. Yet, in practice, not every contribution, not every question or comment is treated equally, and this has reasons in our implicit assumptions about who belongs. This is an attempt to draw such a boundary that is not arbitrary, and neither to narrow nor too wide. The goal is, as always, to help Nix beginners set realistic expectations for their journey. The list of occupations/interests who may benefit from Nix is based on the 2022 [4] and 2023 [5] community surveys. [0]: https://github.com/NixOS/nix/pull/7156 [1]: https://github.com/NixOS/nixos-homepage/blob/76d42a052dce7917007b5553dd08ea2569d04bc7/community/teams/marketing.tt#L89 [2]: https://discourse.nixos.org/t/2022-06-15-documentation-team-meeting-notes-1/20004 [3]: https://discourse.nixos.org/t/zurich-23-05-zhf-hackathon-and-workshop-report/29093#ux-workshop-21 [4]: https://discourse.nixos.org/t/2022-nix-survey-results/18983 [5]: https://discourse.nixos.org/t/nix-community-survey-2023-results/33124 Co-authored-by: Daniel Sidhion <DanielSidhion@users.noreply.github.com>
2024-02-01 19:29:40 -05:00
## Who is Nix for?
Nix is a tool for people who both need computers to do exactly as intended, repeatably, far into the future, and who are familiar with command line interfaces and plain text editors.
You don't have to be a professional software developer and you don't need formal education in informatics to greatly benefit from Nix.
However, experience with complex software projects and knowing some informatics helps with appreciating why it's useful and how it works.
And it helps with learning how to use it effectively and [how to make improvements](how-to-contribute).
You probably won't want to go back to a world without Nix if you're a:
- Full-stack or back-end developer
- Test engineer
- Embedded systems developer
- DevOps engineer
- System administrator
- Data scientist
- Natural scientist
- Student of a technical field
- Open source software enthusiast
2021-12-10 06:23:18 -05:00
```{toctree}
2023-05-25 06:51:57 -04:00
:hidden:
install-nix.md
2023-06-25 08:13:20 -04:00
tutorials/index.md
guides/index.md
2023-06-25 08:13:20 -04:00
reference/index.md
concepts/index.md
contributing/index.md
acknowledgments/index.md
2023-05-25 06:51:57 -04:00
```