bridging the stepping stones using pieces of nixos
play

Bridging the stepping stones: using pieces of NixOS without full - PowerPoint PPT Presentation

Bridging the stepping stones: using pieces of NixOS without full commitment Michael Raskin 7c6f434c (TU Munich) 17.10.2020 Michael Raskin 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 1 / 17 Do you have to use (and do


  1. Bridging the stepping stones: using pieces of NixOS without full commitment Michael Raskin · 7c6f434c (TU Munich) 17.10.2020 Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 1 / 17

  2. Do you have to use… (and do you care) …Nix package manager yes, and doubling software installation space use is minor …Nixpkgs most likely, and it’s at most a few GiBs of clones/ stdenv …NixOS maybe, and it’s most a change to every habit about managing OS Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 2 / 17

  3. Do you have to use… (and do you care) …Nix package manager yes, and doubling software installation space use is minor …Nixpkgs most likely, and it’s at most a few GiBs of clones/ stdenv …NixOS maybe, and it’s most a change to every habit about managing OS Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 2 / 17

  4. Do you have to use… (and do you care) …Nix package manager yes, and doubling software installation space use is minor …Nixpkgs most likely, and it’s at most a few GiBs of clones/ stdenv …NixOS maybe, and it’s most a change to every habit about managing OS Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 2 / 17

  5. NixOS: enticing features NixOS has a ton of nice sides https://nixos.org/ list of NixOS features boils down to: your system is Nix package …and you have Nix around unless early boot broken, boots to consistent state declarative confjg Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 3 / 17

  6. NixOS: enticing features NixOS has a ton of nice sides https://nixos.org/ list of NixOS features boils down to: your system is Nix package …and you have Nix around unless early boot broken, boots to consistent state declarative confjg Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 3 / 17

  7. NixOS: enticing features NixOS has a ton of nice sides https://nixos.org/ list of NixOS features boils down to: your system is Nix package …and you have Nix around unless early boot broken, boots to consistent state declarative confjg Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 3 / 17

  8. NixOS: enticing features NixOS has a ton of nice sides https://nixos.org/ list of NixOS features boils down to: your system is Nix package …and you have Nix around unless early boot broken, boots to consistent state declarative confjg Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 3 / 17

  9. NixOS: control your expectations So I can safely experiment with… init systems? OS kernels? service overrides like with packages in Nixpkgs? …and no more complicated interactions between choices? Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 4 / 17

  10. NixOS: control your expectations So I can safely experiment with… init systems? OS kernels? service overrides like with packages in Nixpkgs? …and no more complicated interactions between choices? Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 4 / 17

  11. NixOS: control your expectations So I can safely experiment with… init systems? OS kernels? service overrides like with packages in Nixpkgs? …and no more complicated interactions between choices? …not exactly Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 4 / 17

  12. What NixOS hardcodes NixOS hardcodes: Linux systemd confjguration via module system global namespace and lots of moving parts …modules are less overridable than packages how your setup core is described Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 5 / 17

  13. What NixOS hardcodes NixOS hardcodes: Linux systemd confjguration via module system global namespace and lots of moving parts …modules are less overridable than packages how your setup core is described Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 5 / 17

  14. What NixOS hardcodes NixOS hardcodes: Linux systemd confjguration via module system global namespace and lots of moving parts …modules are less overridable than packages how your setup core is described Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 5 / 17

  15. What NixOS hardcodes NixOS hardcodes: Linux systemd confjguration via module system global namespace and lots of moving parts …modules are less overridable than packages how your setup core is described Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 5 / 17

  16. What NixOS hardcoding implies Trapped inside are less opinionated things: daemon confjg generator daemon start fmag knowledge …duplicated by nix-darwin home-manager nix-processmgmt Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 6 / 17

  17. What NixOS hardcoding implies Trapped inside are less opinionated things: daemon confjg generator daemon start fmag knowledge …duplicated by nix-darwin home-manager nix-processmgmt Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 6 / 17

  18. Is code really trapped? Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 7 / 17

  19. Is code really trapped? #invoke What do you want to invoke? Law of headlines You hear the answer: Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 7 / 17

  20. Is code really trapped? #invoke What do you want to invoke? Law of headlines You hear the answer: «… not exactly» Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 7 / 17

  21. Is code really trapped? Not completely Strategy: evaluate NixOS with confjguration talking only of the service grab the parts you care about contents of fjles for etc NixOS systemd unit generation can export Exec* to script — thanks for that! That’s what I use on my system for CUPS and Xorg Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 8 / 17

  22. Is code really trapped? Not completely Strategy: evaluate NixOS with confjguration talking only of the service grab the parts you care about contents of fjles for etc NixOS systemd unit generation can export Exec* to script — thanks for that! That’s what I use on my system for CUPS and Xorg Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 8 / 17

  23. Is code really trapped? Not completely Strategy: evaluate NixOS with confjguration talking only of the service grab the parts you care about contents of fjles for etc NixOS systemd unit generation can export Exec* to script — thanks for that! That’s what I use on my system for CUPS and Xorg Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 8 / 17

  24. Is code really trapped? Not completely Strategy: evaluate NixOS with confjguration talking only of the service grab the parts you care about contents of fjles for etc NixOS systemd unit generation can export Exec* to script — thanks for that! That’s what I use on my system for CUPS and Xorg Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 8 / 17

  25. Current functionality in LangOS serviceScript : service name, confjg → script etcSelectTarget : fjlename, confjg → store path etcSelectPrefix : path prefjx, confjg → attrSet of store paths https://github.com/7c6f434c/lang-os/blob/master/use-from-nixos.nix Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 9 / 17

  26. Current functionality in LangOS serviceScript : service name, confjg → script etcSelectTarget : fjlename, confjg → store path etcSelectPrefix : path prefjx, confjg → attrSet of store paths https://github.com/7c6f434c/lang-os/blob/master/use-from-nixos.nix Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 9 / 17

  27. Implications — and limitations NixOS real value is a large database of confjg generators Many services already reusable (if you know how) But: pay attention: some arguments live in difgerent branches some services too complicated for working runner script might want to get the parts and assemble carefully some confjgs do not got to /etc , do not get option name, only referenced inside service Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 10 / 17

  28. Implications — and limitations NixOS real value is a large database of confjg generators Many services already reusable (if you know how) But: pay attention: some arguments live in difgerent branches some services too complicated for working runner script might want to get the parts and assemble carefully some confjgs do not got to /etc , do not get option name, only referenced inside service Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 10 / 17

  29. Implications — and limitations NixOS real value is a large database of confjg generators Many services already reusable (if you know how) But: pay attention: some arguments live in difgerent branches some services too complicated for working runner script might want to get the parts and assemble carefully some confjgs do not got to /etc , do not get option name, only referenced inside service Michael Raskin · 7c6f434c (TUM) NixOS pieces without commitment 17.10.2020 10 / 17

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend