Skip to product information
1 of 1

Nixcademy Classes

Nix 101 (3 Days)

Nix 101 (3 Days)

Regular price €1.500,00 EUR
Regular price Sale price €1.500,00 EUR
Sale Sold out
  • Total sales tax is determined upon entry of your address.
  • Pick the training with the right language, date, and timezone.

Nix 101 Online Class - 3 Days

Online class: Participate from anywhere.

Target Audience

You are already convinced of Nix but find the learning curve extremely steep. The documentation explains a lot, but doesn't provide you the right abstractions in the right order. You are going to use Nix in a real-life project and want to do it right.

Discover the power of Nix and its most important foundational concepts in just 3 days! We'll guide you through the essentials, so you'll be ready to conquer complex concepts with ease. You'll learn how to streamline your workflow and get up and running in no time!

Class Goals

We teach from first principles instead of offering simple internet tutorials. Our aim is to enable you to solve future problems yourself.

In this class, you will learn how to:

  • Define declarative development environments
  • Create reproducible, cacheable packages
  • Manage, patch, pin dependencies
  • Cross-compile projects (or at least prepare your project for that)
  • Extend nixpkgs with complex overlays
  • Create your own corporate package set
  • Use Nix with and without Flakes

Class Content

The class provides a mix of theory and practice sessions. In the theory sessions, the teacher motivates the upcoming knowledge session with real-life examples. The practice sessions are exercises which each participant can download and solve on their machine alone or in a team, receiving help from the teacher anytime.

Using Nix

  • Installing Nix
  • Ad-Hoc Nix Shells
  • Package Management
  • Garbage Collection ♻️

Nix Language Basics

  • Nix Language ㊙️
  • Purely functional programming with lazy evaluation (Nix)
  • Importing and using Nixpkgs in Expressions
  • Create Derivations

Input Determinism

  • Understanding how the Nix Sandbox works
  • Importing from Nix PATH
  • Pinning Inputs 📌
  • Tooling for Pinning 🧰

Stdenv Basics

  • mkDerivation
  • Fetching Code 🧲
  • Trivial Builders 🏗️
  • Language-Specific Builders

Basic Nix Patterns

  • Project Structure
  • callPackage 📞
  • Anti-Patterns

Advanced Stdenv

  • Source Filtering
  • Cross Compilation
  • Patching Code

Overriding Packages

  • Overlays
  • Overlay Composition
  • Anti-Patterns

Flakes ❄️

  • Why Flakes
  • Enabling Flakes
  • Flake Structure

Recommended Prerequisites

You have:

  • A GNU/Linux (any distribution) or macOS computer

We provide a NixOS baremetal cloud machine as a fallback solution for you (accessible via SSH)

  • Basic programming/scripting skills
  • Basic GNU/Linux and Bash knowledge

Included in the Purchase

  • Participation in the online class
  • SSH access to the training server as a fallback solution
  • Preparation mail (one week before class)
  • Personal Certificate as PDF
  • Personal copy of the high-quality class slides as PDF

Organizational details

Language, date, and timezone: Please select the correct checkout variant at the beginning of this product page!

Classes are held daily from 9AM to 5PM in the selected time zone.
We have 1 hour lunch break and several shorter breaks during the day.

We provide trainings in the following timezones:

You will receive meeting invites which display the class times in your timezone.

View full details