1
0
Fork 0
mirror of https://github.com/NixOS/nix.dev.git synced 2024-10-18 00:06:26 -04:00

NixOS tutorials: add next steps

This commit is contained in:
Valentin Gagarin 2024-01-30 23:13:45 +01:00
parent 747c3c7060
commit c9ed694ea8
5 changed files with 22 additions and 6 deletions

View file

@ -1,3 +1,4 @@
(module-system-deep-dive)=
# Module system deep dive
Or: *Wrapping the world in modules*

View file

@ -5,6 +5,7 @@ myst:
"keywords": "Docker, containers, Nix, reproducible, build, tutorial"
---
(nixos-docker-images)=
# Building and running Docker images
[Docker](https://www.docker.com/) is a set of tools and services used to build, manage and deploy containers.

View file

@ -1,3 +1,4 @@
(bootable-iso-image)=
# Building a bootable ISO image
:::{note}

View file

@ -321,3 +321,9 @@ $ nix-build server-client-test.nix
A good inspiration is [Matrix bridging with an IRC](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/matrix/appservice-irc.nix).
<!-- TODO: move examples from https://nixos.wiki/wiki/NixOS_Testing_library to the NixOS manual and troubleshooting tips to nix.dev -->
## Next steps
- [](module-system-deep-dive)
- [](bootable-iso-image)
- [](nixos-docker-images)

View file

@ -6,20 +6,21 @@ One of the most important features of NixOS is the ability to configure the enti
NixOS configurations can be used to test and use NixOS using a virtual machine, independent of an installation on a "bare metal" computer.
:::{important}
A NixOS configuration is a Nix language function following the [NixOS module](https://nixos.org/manual/nixos/stable/index.html#sec-writing-modules) convention.
:::
## What will you learn?
This tutorial serves as an introduction creating NixOS virtual machines.
Virtual machines are a practical tool for debugging NixOS configurations.
Virtual machines are a practical tool for experimenting with or debugging NixOS configurations.
## What do you need?
- A working [Nix installation](https://nix.dev/manual/nix/2.18/installation/installation.html) on Linux, or [NixOS](https://nixos.org/manual/nixos/stable/index.html#sec-installation), with a graphical environment
- Basic knowledge of the [Nix language](reading-nix-language)
:::{important}
A NixOS configuration is a Nix language function following the [NixOS module](https://nixos.org/manual/nixos/stable/index.html#sec-writing-modules) convention.
For a thorough treatment of the module system, check the [](module-system-deep-dive) tutorial.
:::
## Starting from a default NixOS configuration
In this tutorial you will use a default configuration that is shipped with NixOS.
@ -95,7 +96,7 @@ The default NixOS configuration without comments is:
}
```
To be able to log in add the following lines to the returned attribute set:
To be able to log in, add the following lines to the returned attribute set:
```nix
users.users.alice = {
@ -242,3 +243,9 @@ rm nixos.qcow2
- [Nix manual: `nix-build`](https://nix.dev/manual/nix/2.18/command-ref/nix-build.html).
- [Nix manual: common command-line options](https://nix.dev/manual/nix/2.18/command-ref/opt-common.html).
- [Nix manual: `NIX_PATH` environment variable](https://nix.dev/manual/nix/2.18/command-ref/env-common.html#env-NIX_PATH).
## Next steps
- [](module-system-deep-dive)
- [](integration-testing-vms)
- [](bootable-iso-image)