Nix + NixOS 101 Bundle
Nix + NixOS 101 Bundle
- Die Mehrwertsteuer wird an der Kasse hinzugefügt.
- Bitte achten Sie auf die Wahl der richtigen Sprache, Zeitraum und Zeitzone!
Nix and NixOS are a dream team: package your projects, bring the packages to life with NixOS modules and make them super easy to test and deploy!
Save 15% by book these two classes together:
Bundle:
Nix & NixOS 101 Online Class (5 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.
First 3 days: 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!
After the first 3 days: Upgrade your NixOS skills with our 2-day class! Discover how to deploy packages as services and create declarative admin interfaces - all while ensuring seamless integration with NixOS through automated testing. Perfect for Nix users looking to take their skills to the next level!
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:
Nix Part:
- 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
NixOS Part:
- Maintain NixOS setups on servers, cloud, laptops
- Define containers, VMs, custom installers
- Update and evolve systems without risk
- Create your own configurable NixOS modules
- Define powerful declarative integration tests
- Create your own corporate Linux distro
Class Content (Nix part, 3 days)
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
Class Content (NixOS part, 2 days)
Using NixOS
- Installing NixOS
- Configuring Services
- Package Management
- Generation Management and Rollback
- Sharing Configuration between systems
NixOS Modules
- The NixOS Module System
- Writing your own NixOS Modules
- Patterns and Antipatterns
NixOS Integration Tests
- Set up networks of virtual machines with your services
- Leverage the speed of the NixOS Integration Test Driver for end2 end tests
- Debug your tests in the interactive mode
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:
- EU, according to the season, this is 9AM to 5PM in
-
USA Time, with a slight offset depending on your location:
- Pacific Time: 7AM - 3PM
- Mountain Time: 8AM - 4PM
- Central Time: 9AM - 5PM
- Eastern Time: 10AM - 6PM
- PT, MT, CT, ET as refered to on Wikipedia