Personal-use NixOS configuration
1{
2 config,
3 pkgs,
4 pkgs-flake,
5 ...
6}:
7
8# Socket support: https://github.com/CollaboraOnline/online/issues/7156
9
10{
11 imports = [
12 ../language/languagetool.nix
13 ];
14
15 services.collabora-online = {
16 enable = true;
17
18 package = pkgs-flake.collabora-online;
19
20 settings = {
21 languagetool = {
22 enabled = true;
23
24 base_url = "http://127.0.0.1:${toString config.services.languagetool.port}/v2";
25
26 ssl_verification = false;
27 };
28
29 fonts_missing = {
30 handling = "report";
31 };
32
33 per_document = {
34 idlesave_duration_secs = 15;
35 autosave_duration_secs = 60;
36 always_save_on_exit = true;
37
38 redlining_as_comments = true;
39
40 max_concurrency = 6;
41 };
42
43 admin_console = {
44 enable = false;
45 };
46
47 ssl = {
48 # SSL is not needed as Collabora will always be run locally and/or reverse proxied with SSL.
49 # However, SSL is still required by some services (Pydio Cells) in order to connect through secure websockets.
50 enable = true;
51 termination = true;
52 ssl_verification = false;
53 };
54
55 wasm = {
56 enable = true;
57 };
58 };
59 };
60
61 boot.kernel.sysctl = {
62 "kernel.unprivileged_userns_clone" = 1;
63 };
64
65 fonts.packages = with pkgs; [
66 open-sans
67 fira-sans
68 ubuntu-sans
69
70 noto-fonts
71 roboto
72
73 inter
74 ibm-plex
75 montserrat
76 miracode
77 monocraft
78
79 jetbrains-mono
80 fira-code
81 ubuntu-sans-mono
82 roboto-mono
83 ];
84}