NixOS @ Hackspace Jena

660 Aufrufe

Veröffentlicht am

Vortrag über NixOS: was daran aus meiner Perspektive interessant ist und warum einem immer mal der Kopf platzt.

Veröffentlicht in: Software
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
660
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
48
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

NixOS @ Hackspace Jena

  1. 1. Hackspace, Jena, 2015-10-15 @theuni
  2. 2. NixOS
  3. 3. oder
  4. 4. Ein pures Potpourri
  5. 5. oder
  6. 6. “Warum tut mein Gehirn plötzlich weh … ?”
  7. 7. Agenda - Tutorial - systematisch - perfekt - vollständig - logisch
  8. 8. Agenda - Warum? - Wie? - Und dann?
  9. 9. Warum?
  10. 10. Eine Distribution? Debian, Suse, Ubuntu, Gentoo, Red Hat, Fedora, Mint, ArchLinux, …
  11. 11. Ein Paketmanager Portage, Apt, Yum, Cygwin, Homebrew, …
  12. 12. Eine Sprache Shell, Python, Perl, C, C++, Go, Tcl, …
  13. 13. Nochmal: warum?
  14. 14. First Things First
  15. 15. Was ist ein Paket?
  16. 16. Was ist ein Paketmanager?
  17. 17. Was ist eine Distribution?
  18. 18. Und wo ist da jetzt das Problem?
  19. 19. Vollständige Abhängigkeiten Widersprüchliche Abhängigkeiten Wiederholbare Installationen Atomare Updates Rollback Installation als Nicht-Root Verschiedene Runtimes klare Toolchain
  20. 20. Wie?
  21. 21. Purity
  22. 22. Das System das mein Paket baut, hat nichts mit dem Bau des Pakets zu tun. Leeres CHROOT Kein Netzwerkzugriff Keine unbekannten, zufälligen Abhängigkeiten vom Host oder aus dem Netzwerk
  23. 23. Jedem Tierchen, sein Plaisierchen /nix/store/<hash>-<name>-<version> Pakete treten sich nicht auf den Füßen rum. Dass irgendwas im Store liegt, hat noch gar nichts zu sagen.
  24. 24. Meet the Family Nix nixpkgs NixOS + Hydra + NixOps
  25. 25. Nix
  26. 26. Nix Paketmanager Funktional, Deklarativ Eine “richtige” Sprache Pakete sind … anders
  27. 27. Highlight: Template Expressions
  28. 28. Syntax: Indented Strings
  29. 29. Syntax: Path- Strings ./build.sh src/install http://nixos.org
  30. 30. Syntax: flexible attribute sets
  31. 31. Syntax: recursive attribute sets
  32. 32. Magic PatchELF (OMFG. Please scream!) Wrapper-Shell-Skripte Symlink-Farm und PATH- Management
  33. 33. Symlink-Farm
  34. 34. nixpkgs Ein Haufen Nix-Package- Expressions Für Linux, BSD, OS X, Cygwin, …
  35. 35. nixpkgs Und eine Standardlibrary um Expressions richtig zu abstrahieren
  36. 36. Aua. Mein. Kopf. Naja. Alles ist eine Derivation. Alles ist eine Expression. Alles ist eine Function.
  37. 37. NixOS
  38. 38. Aus Paketen werden Module Gesamtes System als Nix- Expression beschrieben Unabhängig von der Laufzeit Abstraktion und Implementation
  39. 39. Und dann?
  40. 40. $ nixos-rebuild build $ nixos-rebuild test $ nixos-rebuild switch $ nixos-rebuild boot $ nixos-rebuild build-vm $ nixos-rebuild switch --rollback
  41. 41. $ ssh ctheune@foo foo> nix-env -i firefox foo> nix-env --rollback foo> nix-channel --add
  42. 42. $ nix-channel --rollback
  43. 43. $ nix-shell
  44. 44. Hydra
  45. 45. NixOps
  46. 46. Caveat emptor
  47. 47. Ok, jetzt lieber interaktiv weiter.
  48. 48. “Options” und “Packages” auf der Webseite http://nixos.org/nix/manual http://nixos.org/nixpkgs/manual http://nixos.org/nixos/manual http://slides.com/garbas “Nix Pills”

×