1 { config, lib, pkgs, ... }:
6 cfg = config.services.ethercalc;
14 ethercalc, an online collaborative spreadsheet server.
16 Persistent state will be maintained under
17 {file}`/var/lib/ethercalc`. Upstream supports using a
18 redis server for storage and recommends the redis backend for
19 intensive use; however, the Nix module doesn't currently support
22 Note that while ethercalc is a good and robust project with an active
23 issue tracker, there haven't been new commits since the end of 2020.
27 package = mkPackageOption pkgs "ethercalc" { };
32 description = "Address to listen on (use 0.0.0.0 to allow access from any address).";
38 description = "Port to bind to.";
43 config = mkIf cfg.enable {
44 systemd.services.ethercalc = {
45 description = "Ethercalc service";
46 wantedBy = [ "multi-user.target" ];
47 after = [ "network.target" ];
50 ExecStart = "${cfg.package}/bin/ethercalc --host ${cfg.host} --port ${toString cfg.port}";
52 StateDirectory = "ethercalc";
53 WorkingDirectory = "/var/lib/ethercalc";