Eintopf

From NixOS Wiki
Revision as of 12:08, 10 July 2024 by Onny (talk | contribs) (Add template example)

Eintopf is a community event calendar for groups and places.

Setup

A minimal local example setup would look like this

environment.etc."eintopf-secrets".text = ''
EINTOPF_ADMIN_PASSWORD=test123
'';

services.eintopf = {
  enable = true;
  settings.EINTOPF_ADMIN_EMAIL = "test@example.org";
  secrets = [ /etc/eintopf-secrets ];
};

The web service will be available at http://localhost:3333. The administration login page is available at http://localhost:3333/backstage where you can use the credentials specified above.

Configuration

Templates

Following example packages the "karlsunruh" template and set it as default for Eintopf.

{ pkgs, ... }:
let

  template-karlsunruh = pkgs.stdenv.mkDerivation {
    name = "karlsunruh";
    src = pkgs.fetchgit {
      url = "https://git.project-insanity.org/onny/eintopf-karlsunruh.git";
      rev = "81cb96424b1162b6dd20c1b22f03dbdf49ae30d4";
      hash = "sha256-+OeZG6+yZ0CwuIEN7pc0MankepZ6npiOD8RMyvWhQrY=";
    };
    dontBuild = true;
    installPhase = ''
      cp -r . $out/
    '';
  };

in
{

  services.eintopf = {
    enable = true;
    settings = {
      EINTOPF_THEMES = "eintopf,${template-karlsunruh}";
    };
  };

}