Skip to content

super-productivity

Todo list and time tracking with self-hosted SuperSync

Example

Web app only (no sync):

nix
{
  nps.stacks.super-productivity = {
    enable = true;
  };
}

With SuperSync:

nix
{config, ...}: {
  nps.stacks.super-productivity = {
    enable = true;
    enableSync = true;
    jwtSecretFile = config.sops.secrets."super-productivity/jwt_secret".path;
    db.passwordFile = config.sops.secrets."super-productivity/db_password".path;
    smtp = {
      host = "mail.example.com";
      user = "user";
      passwordFile = config.sops.secrets."super-productivity/smtp_password".path;
      from = "SuperSync <noreply@example.com>";
    };
  };
}

Stack Options

nps.stacks.super-productivity.db.passwordFile

Path to a file containing the PostgreSQL password for the SuperSync database. Only required when enableSync is true.

Type
plaintext
absolute path
Declaration

nps.stacks.super-productivity.enable

Whether to enable super-productivity.

Type
plaintext
boolean
Default
nix
false
Example
nix
true
Declaration

nps.stacks.super-productivity.enableSync

Whether to enable SuperSync server with PostgreSQL.

Type
plaintext
boolean
Default
nix
false
Example
nix
true
Declaration

nps.stacks.super-productivity.jwtSecretFile

Path to a file containing the SuperSync JWT secret. Generate with openssl rand -hex 32. Only required when enableSync is true.

Type
plaintext
absolute path
Declaration

nps.stacks.super-productivity.smtp.from

Sender email address (e.g. 'SuperSync noreply@example.com').

Type
plaintext
string
Declaration

nps.stacks.super-productivity.smtp.host

SMTP server hostname for email delivery.

Type
plaintext
string
Declaration

nps.stacks.super-productivity.smtp.passwordFile

Path to file containing the SMTP password.

Type
plaintext
absolute path
Declaration

nps.stacks.super-productivity.smtp.port

SMTP server port.

Type
plaintext
signed integer
Default
nix
587
Declaration

nps.stacks.super-productivity.smtp.secure

Whether to use TLS for SMTP connections.

Type
plaintext
boolean
Default
nix
false
Declaration

nps.stacks.super-productivity.smtp.user

SMTP username.

Type
plaintext
string
Declaration

Container Aliases

nps.stacks.super-productivity.containers.super-productivity

Alias of {option}services.podman.containers.super-productivity.

Type
plaintext
submodule
Declaration

nps.stacks.super-productivity.containers.super-productivity-db

Alias of {option}services.podman.containers.super-productivity-db.

Type
plaintext
submodule
Declaration

nps.stacks.super-productivity.containers.supersync

Alias of {option}services.podman.containers.supersync.

Type
plaintext
submodule
Declaration