Nix Developer Shells · Workshop Kursübersicht

Deklarative Dev-Umgebungen mit Nix

Ein aufbauender Kurs: erst die Nix-Sprache, dann mkShell, eigene Pakete und Lock-Files. Jede Lektion ist in wenigen Minuten machbar.

Roter Faden: Wir bauen Schritt für Schritt eine reproduzierbare, teilbare Dev-Umgebung für ein echtes Projekt – von nix shell über die Sprache bis zu flake.nix, mkShell, gepinnten flake.lock-Files und einem selbst gebauten Paket. Jede Lektion endet mit Übungen für Workshop-Teilnehmende.
Teil 1 · Grundlagen & Sprache
  1. 01Was ist Nix?
    Deklarativ & reproduzierbar · Store/Derivation · erstes nix shell
  2. 02Nix-Sprache I: Werte & Strukturen
    Typen, Strings, Listen, let … in
  3. 03Nix-Sprache II: Sets & Funktionen
    Attribute-Sets, rec, with, inherit, Funktionen
  4. 04Nixpkgs & pkgs
    Das Paket-Set, Pakete finden & referenzieren
Teil 2 · Flakes & mkShell
  1. 05Flakes-Grundlagen
    flake.nix: inputs/outputs, nix flake-Befehle
  2. 06mkShell I: erste Dev-Shell
    devShells.default, nix develop
  3. 07mkShell II: vertieft
    packages vs nativeBuildInputs, shellHook, env vars
  4. 08Lock-Files
    flake.lock, Inputs pinnen, nix flake update
Teil 3 · Eigene Pakete & Profi-Kniffe
  1. 09Eigene Pakete I: mkDerivation
    Build-Phasen, src, Hashes
  2. 10Eigene Pakete II: Sprach-Builder
    buildGoModule & Co.
  3. 11Paket in die Dev-Shell
    callPackage, Overlays
  4. 12direnv & Caching
    use flake, Profi-Kniffe
  5. 13Besonderheiten
    pure/impure, GC, Binary Caches, nix-shell vs nix develop

Referenz zum Nachschlagen

Glossar & Begriffe · Nix-Sprache: Spickzettel

Dein Teacher ist im Chat. Frag jederzeit nach – zu jeder Lektion, oder um alles an einer echten Dev-Umgebung zusammenzusetzen.