python312Packages.osmnx: 1.9.3 → 2.0.0 (#360529)
[NixPkgs.git] / nixos / modules / services / development / livebook.md
blobaac9c58d081cd619153248558016b4e74a444d2b
1 # Livebook {#module-services-livebook}
3 [Livebook](https://livebook.dev/) is a web application for writing
4 interactive and collaborative code notebooks.
6 ## Basic Usage {#module-services-livebook-basic-usage}
8 Enabling the `livebook` service creates a user
9 [`systemd`](https://www.freedesktop.org/wiki/Software/systemd/) unit
10 which runs the server.
12 ```nix
13 { ... }:
16   services.livebook = {
17     enableUserService = true;
18     environment = {
19       LIVEBOOK_PORT = 20123;
20       LIVEBOOK_PASSWORD = "mypassword";
21     };
22     # See note below about security
23     environmentFile = "/var/lib/livebook.env";
24   };
26 ```
28 ::: {.note}
30 The Livebook server has the ability to run any command as the user it
31 is running under, so securing access to it with a password is highly
32 recommended.
34 Putting the password in the Nix configuration like above is an easy way to get
35 started but it is not recommended in the real world because the resulting
36 environment variables can be read by unprivileged users.  A better approach
37 would be to put the password in some secure user-readable location and set
38 `environmentFile = /home/user/secure/livebook.env`.
40 :::
42 The [Livebook
43 documentation](https://hexdocs.pm/livebook/readme.html#environment-variables)
44 lists all the applicable environment variables. It is recommended to at least
45 set `LIVEBOOK_PASSWORD` or `LIVEBOOK_TOKEN_ENABLED=false`.
47 ### Extra dependencies {#module-services-livebook-extra-dependencies}
49 By default, the Livebook service is run with minimum dependencies, but
50 some features require additional packages.  For example, the machine
51 learning Kinos require `gcc` and `gnumake`.  To add these, use
52 `extraPackages`:
54 ```nix
56   services.livebook.extraPackages = with pkgs; [ gcc gnumake ];
58 ```