Tutorials# These sections contains series of lessons to get started. First steps Ad hoc shell environments Reproducible interpreted scripts Declarative shell environments Towards reproducibility: pinning Nixpkgs Nix language basics Overview Names and values Functions Function libraries Impurities Derivations Worked examples References Next steps Packaging existing software Introduction Your first package A package with dependencies Finding packages Fixing build failures A successful build References Next steps Package parameters and overrides with callPackage Overview Automatic function calls Parameterised builds Overrides Interdependent package sets Summary References Next steps Working with local files File sets Example project Adding files to the Nix store Difference Missing files Union (explicitly exclude files) Filter Union (explicitly include files) Matching files tracked by Git Intersection Conclusion NixOS NixOS virtual machines Integration testing with NixOS virtual machines Building a bootable ISO image Installing NixOS on a Raspberry Pi Continuous integration with GitHub Actions Building and running Docker images Deploying NixOS using Terraform Cross compilation What do you need? Platforms What’s a target platform? Determining the host platform config Choosing the host platform with Nix Specifying the host platform Cross compiling for the first time Real-world cross compiling of a Hello World example Developer environment with a cross compiler Next steps Module system What do you need? How long will it take?