From 612069876e86006f58eac5c14e0234699f31b960 Mon Sep 17 00:00:00 2001 From: wamirez Date: Fri, 7 Mar 2025 10:46:32 -0400 Subject: [PATCH 1/7] Add more items to the front page Based off and adapted from: https://github.com/ngi-nix/ngipkgs/blob/main/README.md Co-authored-by: Cleeyv --- source/index.md | 58 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 40 insertions(+), 18 deletions(-) diff --git a/source/index.md b/source/index.md index 451aefd9f..3e8cbfcbc 100644 --- a/source/index.md +++ b/source/index.md @@ -50,24 +50,46 @@ 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 `. -- Easy installation of software over URLs. -- Easy transfer of software environments between computers. -- {ref}`Declarative specification of Linux machines `. -- {ref}`Reproducible integration testing using virtual machines `. -- Avoidance of version conflicts with already installed software. -- Installing software from source code. -- {ref}`Transparent build caching using binary caches `. -- Strong support for software auditability. -- {ref}`First-class cross compilation support `. -- Remote builds. -- Remote deployments. -- Atomic upgrades and rollbacks. - +## What is Nix? + +[Nix](https://github.com/NixOS/nix) is an open source build system, configuration management system, and mechanism for deploying software, focused on reproducibility. +It is the basis of an ecosystem of exceptionally powerful tools. +[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, with unmatched flexibility. + +## 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 + +In order to do that: +- [Install Nix on Linux or WSL](https://nix.dev/install-nix) + +It will help you to go more quickly if you learn to: +- [Read the Nix language](https://nix.dev/tutorials/nix-language) +- [Package existing software with Nixpkgs](https://nix.dev/tutorials/packaging-existing-software) +- [Work with NixOS modules](https://nix.dev/tutorials/module-system/) +- [Run NixOS in virtual machines](https://nix.dev/tutorials/nixos/nixos-configuration-on-vm) +- [Provision remote NixOS machines via SSH](https://nix.dev/tutorials/nixos/provisioning-remote-machines) +- [Set up your own cache for sharing binaries](https://nix.dev/tutorials/nixos/binary-cache-setup) + +## 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 ` +- Easy installation of software over URLs and from source code +- Easy transfer of software environments between computers +- {ref}`Declarative specification of Linux machines ` +- {ref}`Reproducible integration testing using virtual machines ` +- Avoidance of version conflicts with already installed software +- {ref}`Transparent build caching using binary caches ` +- Strong support for software auditability +- {ref}`First-class cross compilation support ` +- Remote builds +- Remote deployments +- Atomic upgrades and rollbacks ## Who is Nix for? From 0a669cd73801098c734845685db656f382ecf960 Mon Sep 17 00:00:00 2001 From: wamirez Date: Fri, 7 Mar 2025 11:02:27 -0400 Subject: [PATCH 2/7] Fix link --- source/tutorials/nixos/building-and-running-docker-images.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/tutorials/nixos/building-and-running-docker-images.md b/source/tutorials/nixos/building-and-running-docker-images.md index 483079202..460f4bfe8 100644 --- a/source/tutorials/nixos/building-and-running-docker-images.md +++ b/source/tutorials/nixos/building-and-running-docker-images.md @@ -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 ` by replacing `pkgsLinux.hello` with `pkgs.pkgsCross.musl64.hello` ::: From a2772c8eaecf71b9ef143b2fe8d8d04d40bc9254 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ram=C3=ADrez?= Date: Fri, 7 Mar 2025 11:25:53 -0400 Subject: [PATCH 3/7] Update source/index.md Co-authored-by: Valentin Gagarin --- source/index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/index.md b/source/index.md index 3e8cbfcbc..3cac6e791 100644 --- a/source/index.md +++ b/source/index.md @@ -52,7 +52,8 @@ Explanations of history and ideas in the Nix ecosystem ## What is Nix? -[Nix](https://github.com/NixOS/nix) is an open source build system, configuration management system, and mechanism for deploying software, focused on reproducibility. +[Nix](https://github.com/NixOS/nix) allows treating Unix processes and file system operations as pure functions. + It is the basis of an ecosystem of exceptionally powerful tools. [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, with unmatched flexibility. From 61603f9efa00e2d33b61bebcaf5debdf68292b30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ram=C3=ADrez?= Date: Fri, 7 Mar 2025 11:38:18 -0400 Subject: [PATCH 4/7] Update source/index.md Co-authored-by: Valentin Gagarin --- source/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/index.md b/source/index.md index 3cac6e791..1d5275f4a 100644 --- a/source/index.md +++ b/source/index.md @@ -54,7 +54,7 @@ Explanations of history and ideas in the Nix ecosystem [Nix](https://github.com/NixOS/nix) allows treating Unix processes and file system operations as pure functions. -It is the basis of an ecosystem of exceptionally powerful tools. +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, with unmatched flexibility. From e57e0f18006cfe0a8a15fc200753839ca1d14825 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ram=C3=ADrez?= Date: Fri, 7 Mar 2025 11:38:30 -0400 Subject: [PATCH 5/7] Update source/index.md Co-authored-by: Valentin Gagarin --- source/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/index.md b/source/index.md index 1d5275f4a..412e4930d 100644 --- a/source/index.md +++ b/source/index.md @@ -55,8 +55,8 @@ Explanations of history and ideas in the Nix ecosystem [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, with unmatched flexibility. +- [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 From 1c01d48d10cd37be8c78b1e4e66a1a2e0b1ef1ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ram=C3=ADrez?= Date: Fri, 7 Mar 2025 11:38:41 -0400 Subject: [PATCH 6/7] Update source/index.md Co-authored-by: Valentin Gagarin --- source/index.md | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/source/index.md b/source/index.md index 412e4930d..a5c0c576d 100644 --- a/source/index.md +++ b/source/index.md @@ -65,17 +65,6 @@ This is what you can do with software from Nixpkgs: - Use **libraries or tools** to build software with Nixpkgs - Deploy **services** to machines running NixOS -In order to do that: -- [Install Nix on Linux or WSL](https://nix.dev/install-nix) - -It will help you to go more quickly if you learn to: -- [Read the Nix language](https://nix.dev/tutorials/nix-language) -- [Package existing software with Nixpkgs](https://nix.dev/tutorials/packaging-existing-software) -- [Work with NixOS modules](https://nix.dev/tutorials/module-system/) -- [Run NixOS in virtual machines](https://nix.dev/tutorials/nixos/nixos-configuration-on-vm) -- [Provision remote NixOS machines via SSH](https://nix.dev/tutorials/nixos/provisioning-remote-machines) -- [Set up your own cache for sharing binaries](https://nix.dev/tutorials/nixos/binary-cache-setup) - ## What else can you do with Nix? The following list illustrates some examples of what can be achieved with the Nix ecosystem: From 416d79306284beb998074c790bc56b8b41154890 Mon Sep 17 00:00:00 2001 From: Valentin Gagarin Date: Fri, 14 Mar 2025 10:20:27 +0100 Subject: [PATCH 7/7] Apply suggestions from code review --- source/index.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/source/index.md b/source/index.md index a5c0c576d..621e40e33 100644 --- a/source/index.md +++ b/source/index.md @@ -52,18 +52,17 @@ Explanations of history and ideas in the Nix ecosystem ## What is Nix? -[Nix](https://github.com/NixOS/nix) allows treating Unix processes and file system operations as pure functions. +[Nix](https://github.com/NixOS/nix) allows treating Unix processes as pure functions over file systems. 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 +## What can you do with the Nix ecosystem? -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 +- Build **executables** with Nix +- Develop software using **libraries or tools** from Nixpkgs +- Configure **services** and deploy them to machines running NixOS ## What else can you do with Nix?