1{ pkgs, ... }:
2{
3 name = "roundcube";
4 meta = with pkgs.lib.maintainers; {
5 maintainers = [ globin ];
6 };
7
8 nodes = {
9 roundcube =
10 { config, pkgs, ... }:
11 {
12 services.roundcube = {
13 enable = true;
14 hostName = "roundcube";
15 database.password = "not production";
16 package = pkgs.roundcube.withPlugins (plugins: [ plugins.persistent_login ]);
17 plugins = [ "persistent_login" ];
18 dicts = with pkgs.aspellDicts; [
19 en
20 fr
21 de
22 ];
23 };
24 services.nginx.virtualHosts.roundcube = {
25 forceSSL = false;
26 enableACME = false;
27 };
28 };
29 };
30
31 testScript = ''
32 roundcube.start
33 roundcube.wait_for_unit("postgresql.target")
34 roundcube.wait_for_unit("phpfpm-roundcube.service")
35 roundcube.wait_for_unit("nginx.service")
36 roundcube.succeed("curl -sSfL http://roundcube/ | grep 'Keep me logged in'")
37 '';
38}