[Faculty of Science Information and Computing Sciences]
NixOS
Andres L¨
- h
NixOS Andres L oh joint work with Eelco Dolstra Department of - - PowerPoint PPT Presentation
[ Faculty of Science Information and Computing Sciences] NixOS Andres L oh joint work with Eelco Dolstra Department of Information and Computing Sciences Utrecht University June 17, 2008 Introduction NixOS is a Linux distribution.
[Faculty of Science Information and Computing Sciences] 2
[Faculty of Science Information and Computing Sciences] 3
[Faculty of Science Information and Computing Sciences] 4
[Faculty of Science Information and Computing Sciences] 5
[Faculty of Science Information and Computing Sciences] 6
[Faculty of Science Information and Computing Sciences] 7
◮ overwrite ◮ keep old ◮ merge in some way
[Faculty of Science Information and Computing Sciences] 8
[Faculty of Science Information and Computing Sciences] 9
[Faculty of Science Information and Computing Sciences] 10
[Faculty of Science Information and Computing Sciences] 11
[Faculty of Science Information and Computing Sciences] 12
[Faculty of Science Information and Computing Sciences] 13
[Faculty of Science Information and Computing Sciences] 14
[Faculty of Science Information and Computing Sciences] 15
[Faculty of Science Information and Computing Sciences] 16
[Faculty of Science Information and Computing Sciences] 17
◮ evaluates all the store paths that occur in the input
◮ computes the store location for the derivation ◮ builds the package in a restricted build environment (if it
◮ returns the store location of the built package
[Faculty of Science Information and Computing Sciences] 18
◮ binaries from store paths that are dependencies are added
◮ libraries from store paths that are dependencies are added
◮ . . .
[Faculty of Science Information and Computing Sciences] 19
[Faculty of Science Information and Computing Sciences] 20
[Faculty of Science Information and Computing Sciences] 21
[Faculty of Science Information and Computing Sciences] 22
[Faculty of Science Information and Computing Sciences] 23
[Faculty of Science Information and Computing Sciences] 24
◮ software ◮ the kernel and kernel modules ◮ configuration files ◮ services
[Faculty of Science Information and Computing Sciences] 25
[Faculty of Science Information and Computing Sciences] 26
[Faculty of Science Information and Computing Sciences] 27
{ boot = { grubDevice = "/dev/sda"; }; fileSystems = [ { mountPoint = "/"; device = "/dev/sda1"; } ]; services = { sshd = { enable = true; forwardX11 = true; }; xserver = { enable = true; videoDriver = "vesa"; sessionType = "xterm"; windowManager = "xmonad"; }; }; }
[Faculty of Science Information and Computing Sciences] 28
[Faculty of Science Information and Computing Sciences] 29
[Faculty of Science Information and Computing Sciences] 30
◮ edit configuration.nix ◮ call nixos-rebuild switch
◮ attribute system of the top-level Nix expression is
◮ the activation script is run ◮ the resulting derivation is installed in a special system
◮ the boot menu is regenerated from the system profile
[Faculty of Science Information and Computing Sciences] 31
[Faculty of Science Information and Computing Sciences] 32
◮ generating GUIs from type information ◮ QuickChecking Nix expressions