]> git.immae.eu Git - perso/Immae/Config/Nix.git/commitdiff
Add roundcubemail to pkgs
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Tue, 7 May 2019 08:20:12 +0000 (10:20 +0200)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Tue, 7 May 2019 08:20:12 +0000 (10:20 +0200)
12 files changed:
nixops/modules/websites/tools/tools/default.nix
nixops/modules/websites/tools/tools/roundcubemail.nix
pkgs/webapps/default.nix
pkgs/webapps/roundcubemail/default.nix [new file with mode: 0644]
pkgs/webapps/roundcubemail/plugins/automatic_addressbook/default.nix [new file with mode: 0644]
pkgs/webapps/roundcubemail/plugins/carddav/default.nix [new file with mode: 0644]
pkgs/webapps/roundcubemail/plugins/contextmenu/default.nix [new file with mode: 0644]
pkgs/webapps/roundcubemail/plugins/contextmenu_folder/default.nix [new file with mode: 0644]
pkgs/webapps/roundcubemail/plugins/html5_notifier/default.nix [new file with mode: 0644]
pkgs/webapps/roundcubemail/plugins/ident_switch/default.nix [new file with mode: 0644]
pkgs/webapps/roundcubemail/plugins/message_highlight/default.nix [new file with mode: 0644]
pkgs/webapps/roundcubemail/plugins/thunderbird_labels/default.nix [new file with mode: 0644]

index 746119bae8738c29e5640803b1acd89ed843a6e6..433927e1837a242523adc684b9a0403408b3ad27 100644 (file)
@@ -9,7 +9,7 @@ let
       env = myconfig.env.tools.ttrss;
     };
     roundcubemail = pkgs.callPackage ./roundcubemail.nix {
-      inherit (mylibs) fetchedGithub;
+      inherit (pkgs.webapps) roundcubemail roundcubemail-plugins roundcubemail-skins;
       env = myconfig.env.tools.roundcubemail;
     };
     rainloop = pkgs.callPackage ./rainloop.nix  {};
index 9939b77508fd56c1927537036bc03117ebf8688d..6177ff32253b414dd3798faad9c3a98dc1a634f8 100644 (file)
-{ lib, env, writeText, stdenv, fetchurl, fetchedGithub, phpPackages, apacheHttpd }:
-let
-  roundcubemail = let
-    defaultInstall = ''
-      mkdir -p $out
-      cp -R . $out/
-      cd $out
-      if [ -d skins -a -d skins/larry -a ! -d skins/elastic ]; then
-        ln -s larry skins/elastic
-      fi
-      '';
-    buildPlugin = { appName, version, url, sha256, installPhase ? defaultInstall }:
-      stdenv.mkDerivation rec {
-        name = "roundcube-${appName}-${version}";
-        inherit version;
-        phases = "unpackPhase installPhase";
-        inherit installPhase;
-        src = fetchurl { inherit url sha256; };
-      };
-    plugins = {
-      carddav = buildPlugin rec {
-        appName = "carddav";
-        version = "3.0.3";
-        url = "https://github.com/blind-coder/rcmcarddav/releases/download/v${version}/${appName}-${version}.tar.bz2";
-        sha256 = "0cf5rnqkhhag2vdy808zfpr4l5586fn43nvcia8ac1ha58azrxal";
-      };
-      contextmenu = buildPlugin rec {
-        appName = "contextmenu";
-        version = "2.3";
-        url = "https://github.com/johndoh/roundcube-${appName}/archive/${version}.tar.gz";
-        sha256 = "1rb8n821ylfniiiccfskc534vd6rczhk3g82455ks3m09q6l8hif";
-      };
-      contextmenu_folder = buildPlugin rec {
-        appName = "contextmenu_folder";
-        version = "1.3.3";
-        url = "https://github.com/random-cuber/${appName}/archive/${version}.tar.gz";
-        sha256 = "1ngfws1v8qrpa52rjh7kirc98alchk2vbqwra86h00agyjjlcc57";
-      };
-      automatic_addressbook = buildPlugin rec {
-        appName = "automatic_addressbook";
-        version = "0.4.3";
-        url = "https://github.com/sblaisot/${appName}/archive/${version}.tar.gz";
-        sha256 = "0bx5qjzp3a3wc72fr295bvgsy5n15949c041hq76n6c7sqdn7inc";
-      };
-      message_highlight = buildPlugin rec {
-        appName = "message_highlight";
-        version = "4.4";
-        url = "https://github.com/corbosman/${appName}/archive/${version}.tar.gz";
-        sha256 = "12c4x47y70xdl5pgm8csh5i4yiyhpi232lvjbixmca6di4lkhh9j";
-      };
-      thunderbird_labels = buildPlugin rec {
-        appName = "thunderbird_labels";
-        version = "v1.3.2";
-        url = "https://github.com/mike-kfed/roundcube-${appName}/archive/${version}.tar.gz";
-        sha256 = "1q4x30w66m02v3lw2n8020g0158rmyfzs6gydfk89pa1hs28k9bg";
-      };
-      html5_notifier = buildPlugin rec {
-        appName = "html5_notifier";
-        version = "v0.6.2";
-        url = "https://github.com/stremlau/${appName}/archive/${version}.tar.gz";
-        sha256 = "0s1wq9ira4bcd8jvhn93nhxiqzpp92i0za2kw37kf7ksyhr0xslq";
-      };
-      ident_switch = buildPlugin rec {
-        appName = "ident_switch";
-        version = "4.0.1";
-        url = "https://bitbucket.org/BoresExpress/${appName}/get/${version}.tar.gz";
-        sha256 = "1zyy40lfq2kn7hkghbl8lgp18fb634zr4fxmmxvb1wqyvqdpdpyk";
-      };
-    };
-    skins = {};
-  in rec {
-    varDir = "/var/lib/roundcubemail";
-    activationScript = {
-      deps = [ "wrappers" ];
-      text = ''
-        install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir} \
-          ${varDir}/cache ${varDir}/logs
-        install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/phpSessions
-      '';
-    };
-    keys = [{
-      dest = "webapps/tools-roundcube";
-      user = apache.user;
-      group = apache.group;
-      permissions = "0400";
-      text = ''
-        <?php
-          $config['db_dsnw'] = '${env.psql_url}';
-          $config['default_host'] = 'ssl://mail.immae.eu';
-          $config['imap_conn_options'] = array("ssl" => array("verify_peer" => false));
-          $config['smtp_server'] = 'tls://mail.immae.eu';
-          $config['smtp_port'] = '25';
-          $config['managesieve_host'] = 'mail.immae.eu';
-          $config['managesieve_port'] = '4190';
-          $config['managesieve_usetls'] = true;
-          $config['managesieve_conn_options'] = array("ssl" => array("verify_peer" => false));
+{ env, roundcubemail, roundcubemail-plugins, roundcubemail-skins, phpPackages, apacheHttpd }:
+rec {
+  varDir = "/var/lib/roundcubemail";
+  activationScript = {
+    deps = [ "wrappers" ];
+    text = ''
+      install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir} \
+        ${varDir}/cache ${varDir}/logs
+      install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/phpSessions
+    '';
+  };
+  keys = [{
+    dest = "webapps/tools-roundcube";
+    user = apache.user;
+    group = apache.group;
+    permissions = "0400";
+    text = ''
+      <?php
+        $config['db_dsnw'] = '${env.psql_url}';
+        $config['default_host'] = 'ssl://mail.immae.eu';
+        $config['imap_conn_options'] = array("ssl" => array("verify_peer" => false));
+        $config['smtp_server'] = 'tls://mail.immae.eu';
+        $config['smtp_port'] = '25';
+        $config['managesieve_host'] = 'mail.immae.eu';
+        $config['managesieve_port'] = '4190';
+        $config['managesieve_usetls'] = true;
+        $config['managesieve_conn_options'] = array("ssl" => array("verify_peer" => false));
 
-          $config['imap_cache'] = 'db';
-          $config['messages_cache'] = 'db';
+        $config['imap_cache'] = 'db';
+        $config['messages_cache'] = 'db';
 
-          $config['support_url'] = ''';
+        $config['support_url'] = ''';
 
-          $config['des_key'] = '${env.secret}';
+        $config['des_key'] = '${env.secret}';
 
-          $config['skin'] = 'elastic';
-          $config['plugins'] = array(
-            'attachment_reminder',
-            'emoticons',
-            'filesystem_attachments',
-            'hide_blockquote',
-            'identicon',
-            'identity_select',
-            'jqueryui',
-            'managesieve',
-            'newmail_notifier',
-            'vcard_attachments',
-            'zipdownload',
+        $config['skin'] = 'elastic';
+        $config['plugins'] = array(
+          'attachment_reminder',
+          'emoticons',
+          'filesystem_attachments',
+          'hide_blockquote',
+          'identicon',
+          'identity_select',
+          'jqueryui',
+          'managesieve',
+          'newmail_notifier',
+          'vcard_attachments',
+          'zipdownload',
 
-            'automatic_addressbook',
-            'message_highlight',
-            'carddav',
-            // Ne marche pas ?: 'ident_switch',
-            // Ne marche pas ?: 'thunderbird_labels',
-          );
+          'automatic_addressbook',
+          'message_highlight',
+          'carddav',
+          // Ne marche pas ?: 'ident_switch',
+          // Ne marche pas ?: 'thunderbird_labels',
+        );
 
-          $config['language'] = 'fr_FR';
+        $config['language'] = 'fr_FR';
 
-          $config['drafts_mbox'] = 'Mail/Drafts';
-          $config['junk_mbox'] = 'Mail/Spam';
-          $config['sent_mbox'] = 'Mail/sent';
-          $config['trash_mbox'] = ''';
-          $config['default_folders'] = array('INBOX', 'Mail/Drafts', 'Mail/sent', 'Mail/Spam', ''');
-          $config['draft_autosave'] = 60;
-          $config['enable_installer'] = false;
-          $config['log_driver'] = 'file';
-          $config['temp_dir'] = '${varDir}/cache';
-          $config['mime_types'] = '${apacheHttpd}/conf/mime.types';
-      '';
-    }];
-    webRoot = stdenv.mkDerivation rec {
-      version = "1.4-rc1";
-      name = "roundcubemail-${version}";
-      src= fetchurl {
-        url = "https://github.com/roundcube/roundcubemail/releases/download/${version}/${name}-complete.tar.gz";
-        sha256 = "0p18wffwi2prh6vxhx1bc69qd1vwybggm8gvg3shahfdknxci9i4";
-      };
-      buildPhase = ''
-        sed -i \
-          -e "s|RCUBE_INSTALL_PATH . 'temp.*|'${varDir}/cache';|" \
-          config/defaults.inc.php
-        sed -i \
-          -e "s|RCUBE_INSTALL_PATH . 'logs.*|'${varDir}/logs';|" \
-          config/defaults.inc.php
+        $config['drafts_mbox'] = 'Mail/Drafts';
+        $config['junk_mbox'] = 'Mail/Spam';
+        $config['sent_mbox'] = 'Mail/sent';
+        $config['trash_mbox'] = ''';
+        $config['default_folders'] = array('INBOX', 'Mail/Drafts', 'Mail/sent', 'Mail/Spam', ''');
+        $config['draft_autosave'] = 60;
+        $config['enable_installer'] = false;
+        $config['log_driver'] = 'file';
+        $config['temp_dir'] = '${varDir}/cache';
+        $config['mime_types'] = '${apacheHttpd}/conf/mime.types';
+    '';
+  }];
+  webRoot = (roundcubemail.override { roundcube_config = "/var/secrets/webapps/tools-roundcube"; }).withPlugins
+    (builtins.attrValues roundcubemail-plugins) (builtins.attrValues roundcubemail-skins);
+  apache = rec {
+    user = "wwwrun";
+    group = "wwwrun";
+    modules = [ "proxy_fcgi" ];
+    webappName = "tools_roundcubemail";
+    root = "/run/current-system/webapps/${webappName}";
+    vhostConf = ''
+    Alias /roundcube "${root}"
+    <Directory "${root}">
+        DirectoryIndex index.php
+        AllowOverride All
+        Options FollowSymlinks
+        Require all granted
+
+        <FilesMatch "\.php$">
+          SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost"
+        </FilesMatch>
+      </Directory>
       '';
-      installPhase = ''
-        cp -a . $out
-        ln -s /var/secrets/webapps/tools-roundcube $out/config/config.inc.php
-        ${builtins.concatStringsSep "\n" (
-          lib.attrsets.mapAttrsToList (name: value: "ln -sf ${value} $out/plugins/${name}") plugins
-        )}
-        ${builtins.concatStringsSep "\n" (
-          lib.attrsets.mapAttrsToList (name: value: "ln -sf ${value} $out/skins/${name}") skins
-        )}
+  };
+  phpFpm = rec {
+    serviceDeps = [ "postgresql.service" ];
+    basedir = builtins.concatStringsSep ":" (
+      [ webRoot "/var/secrets/webapps/tools-roundcube" varDir ]
+      ++ webRoot.plugins
+      ++ webRoot.skins);
+    phpConfig = ''
+      date.timezone = 'CET'
+      extension=${phpPackages.imagick}/lib/php/extensions/imagick.so
       '';
-    };
-    apache = rec {
-      user = "wwwrun";
-      group = "wwwrun";
-      modules = [ "proxy_fcgi" ];
-      webappName = "tools_roundcubemail";
-      root = "/run/current-system/webapps/${webappName}";
-      vhostConf = ''
-      Alias /roundcube "${root}"
-      <Directory "${root}">
-          DirectoryIndex index.php
-          AllowOverride All
-          Options FollowSymlinks
-          Require all granted
+    socket = "/var/run/phpfpm/roundcubemail.sock";
+    pool = ''
+      listen = ${socket}
+      user = ${apache.user}
+      group = ${apache.group}
+      listen.owner = ${apache.user}
+      listen.group = ${apache.group}
+      pm = ondemand
+      pm.max_children = 60
+      pm.process_idle_timeout = 60
 
-          <FilesMatch "\.php$">
-            SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost"
-          </FilesMatch>
-        </Directory>
-        '';
-    };
-    phpFpm = rec {
-      serviceDeps = [ "postgresql.service" ];
-      basedir = builtins.concatStringsSep ":" (
-        [ webRoot "/var/secrets/webapps/tools-roundcube" varDir ]
-        ++ lib.attrsets.mapAttrsToList (name: value: value) plugins
-        ++ lib.attrsets.mapAttrsToList (name: value: value) skins);
-      phpConfig = ''
-        date.timezone = 'CET'
-        extension=${phpPackages.imagick}/lib/php/extensions/imagick.so
-        '';
-      socket = "/var/run/phpfpm/roundcubemail.sock";
-      pool = ''
-        listen = ${socket}
-        user = ${apache.user}
-        group = ${apache.group}
-        listen.owner = ${apache.user}
-        listen.group = ${apache.group}
-        pm = ondemand
-        pm.max_children = 60
-        pm.process_idle_timeout = 60
-
-        ; Needed to avoid clashes in browser cookies (same domain)
-        php_value[session.name] = RoundcubemailPHPSESSID
-        php_admin_value[upload_max_filesize] = 200M
-        php_admin_value[post_max_size] = 200M
-        php_admin_value[open_basedir] = "${basedir}:${apacheHttpd}/conf/mime.types:/tmp"
-        php_admin_value[session.save_path] = "${varDir}/phpSessions"
-        '';
-    };
+      ; Needed to avoid clashes in browser cookies (same domain)
+      php_value[session.name] = RoundcubemailPHPSESSID
+      php_admin_value[upload_max_filesize] = 200M
+      php_admin_value[post_max_size] = 200M
+      php_admin_value[open_basedir] = "${basedir}:${apacheHttpd}/conf/mime.types:/tmp"
+      php_admin_value[session.save_path] = "${varDir}/phpSessions"
+      '';
   };
-in 
-  roundcubemail
+}
index f9ecd4f6272e894ef12752816e3b1a33e55f2a3b..073905cc4f910f7033f2a0224f5554bc7c8cb0d9 100644 (file)
@@ -50,6 +50,23 @@ rec {
   phpldapadmin = callPackage ./phpldapadmin {};
   rompr = callPackage ./rompr { inherit mylibs; };
 
+  roundcubemail = callPackage ./roundcubemail {};
+  roundcubemail-with-plugins-skins = roundcubemail.withPlugins (builtins.attrValues roundcubemail-plugins) (builtins.attrValues roundcubemail-skins);
+  roundcubemail-skins = let
+    names = [];
+  in
+    lib.attrsets.genAttrs names
+      (name: callPackage (./roundcubemail/skins + "/${name}") {});
+  roundcubemail-plugins = let
+    names = [
+      "automatic_addressbook" "carddav" "contextmenu"
+      "contextmenu_folder" "html5_notifier" "ident_switch"
+      "message_highlight" "thunderbird_labels"
+    ];
+  in
+    lib.attrsets.genAttrs names
+      (name: callPackage (./roundcubemail/plugins + "/${name}") { buildPlugin = roundcubemail.buildPlugin; });
+
   yourls = callPackage ./yourls { inherit mylibs; };
   yourls-with-plugins = yourls.withPlugins (builtins.attrValues yourls-plugins);
   yourls-plugins = let
diff --git a/pkgs/webapps/roundcubemail/default.nix b/pkgs/webapps/roundcubemail/default.nix
new file mode 100644 (file)
index 0000000..ba85f37
--- /dev/null
@@ -0,0 +1,61 @@
+{ varDir ? "/var/lib/roundcubemail"
+, roundcube_config ? "/etc/roundcube/config.php"
+, stdenv, fetchurl }:
+let
+  defaultInstall = ''
+    mkdir -p $out
+    cp -R . $out/
+    cd $out
+    if [ -d skins -a -d skins/larry -a ! -d skins/elastic ]; then
+      ln -s larry skins/elastic
+    fi
+    '';
+  buildPlugin = { appName, version, url, sha256, installPhase ? defaultInstall }:
+    stdenv.mkDerivation rec {
+      name = "roundcube-${appName}-${version}";
+      inherit version;
+      phases = "unpackPhase installPhase";
+      inherit installPhase;
+      src = fetchurl { inherit url sha256; };
+      passthru.pluginName = appName;
+    };
+  withPlugins = plugins: skins: package.overrideAttrs(old: {
+    name = "${old.name}${if builtins.length skins > 0 then "-with-skins" else ""}${if builtins.length plugins > 0 then "-with-plugins" else ""}";
+    installPhase = old.installPhase +
+      builtins.concatStringsSep "\n" (
+        map (value: "ln -s ${value} $out/plugins/${value.pluginName}") plugins
+      ) +
+      builtins.concatStringsSep "\n" (
+        map (value: "ln -s ${value} $out/skins/${value.skinName}") skins
+      );
+    passthru = old.passthru // {
+      inherit plugins skins;
+      withPlugins = morePlugins: moreSkins: old.withPlugins (morePlugins ++ plugins) (morePlugins ++ skins);
+    };
+  });
+  package = stdenv.mkDerivation rec {
+    version = "1.4-rc1";
+    name = "roundcubemail-${version}";
+    src= fetchurl {
+      url = "https://github.com/roundcube/roundcubemail/releases/download/${version}/${name}-complete.tar.gz";
+      sha256 = "0p18wffwi2prh6vxhx1bc69qd1vwybggm8gvg3shahfdknxci9i4";
+    };
+    buildPhase = ''
+      sed -i \
+        -e "s|RCUBE_INSTALL_PATH . 'temp.*|'${varDir}/cache';|" \
+        config/defaults.inc.php
+      sed -i \
+        -e "s|RCUBE_INSTALL_PATH . 'logs.*|'${varDir}/logs';|" \
+        config/defaults.inc.php
+    '';
+    installPhase = ''
+      cp -a . $out
+      ln -s ${roundcube_config} $out/config/config.inc.php
+    '';
+    passthru = {
+      plugins = [];
+      skins = [];
+      inherit withPlugins buildPlugin;
+    };
+  };
+in package
diff --git a/pkgs/webapps/roundcubemail/plugins/automatic_addressbook/default.nix b/pkgs/webapps/roundcubemail/plugins/automatic_addressbook/default.nix
new file mode 100644 (file)
index 0000000..cd9efee
--- /dev/null
@@ -0,0 +1,7 @@
+{ buildPlugin }:
+buildPlugin rec {
+  appName = "automatic_addressbook";
+  version = "0.4.3";
+  url = "https://github.com/sblaisot/${appName}/archive/${version}.tar.gz";
+  sha256 = "0bx5qjzp3a3wc72fr295bvgsy5n15949c041hq76n6c7sqdn7inc";
+}
diff --git a/pkgs/webapps/roundcubemail/plugins/carddav/default.nix b/pkgs/webapps/roundcubemail/plugins/carddav/default.nix
new file mode 100644 (file)
index 0000000..ad6856b
--- /dev/null
@@ -0,0 +1,7 @@
+{ buildPlugin }:
+buildPlugin rec {
+  appName = "carddav";
+  version = "3.0.3";
+  url = "https://github.com/blind-coder/rcmcarddav/releases/download/v${version}/${appName}-${version}.tar.bz2";
+  sha256 = "0cf5rnqkhhag2vdy808zfpr4l5586fn43nvcia8ac1ha58azrxal";
+}
diff --git a/pkgs/webapps/roundcubemail/plugins/contextmenu/default.nix b/pkgs/webapps/roundcubemail/plugins/contextmenu/default.nix
new file mode 100644 (file)
index 0000000..c970007
--- /dev/null
@@ -0,0 +1,7 @@
+{ buildPlugin }:
+buildPlugin rec {
+  appName = "contextmenu";
+  version = "2.3";
+  url = "https://github.com/johndoh/roundcube-${appName}/archive/${version}.tar.gz";
+  sha256 = "1rb8n821ylfniiiccfskc534vd6rczhk3g82455ks3m09q6l8hif";
+}
diff --git a/pkgs/webapps/roundcubemail/plugins/contextmenu_folder/default.nix b/pkgs/webapps/roundcubemail/plugins/contextmenu_folder/default.nix
new file mode 100644 (file)
index 0000000..e5cb46d
--- /dev/null
@@ -0,0 +1,7 @@
+{ buildPlugin }:
+buildPlugin rec {
+  appName = "contextmenu_folder";
+  version = "1.3.3";
+  url = "https://github.com/random-cuber/${appName}/archive/${version}.tar.gz";
+  sha256 = "1ngfws1v8qrpa52rjh7kirc98alchk2vbqwra86h00agyjjlcc57";
+}
diff --git a/pkgs/webapps/roundcubemail/plugins/html5_notifier/default.nix b/pkgs/webapps/roundcubemail/plugins/html5_notifier/default.nix
new file mode 100644 (file)
index 0000000..35bff06
--- /dev/null
@@ -0,0 +1,7 @@
+{ buildPlugin }:
+buildPlugin rec {
+  appName = "html5_notifier";
+  version = "v0.6.2";
+  url = "https://github.com/stremlau/${appName}/archive/${version}.tar.gz";
+  sha256 = "0s1wq9ira4bcd8jvhn93nhxiqzpp92i0za2kw37kf7ksyhr0xslq";
+}
diff --git a/pkgs/webapps/roundcubemail/plugins/ident_switch/default.nix b/pkgs/webapps/roundcubemail/plugins/ident_switch/default.nix
new file mode 100644 (file)
index 0000000..1dfc402
--- /dev/null
@@ -0,0 +1,7 @@
+{ buildPlugin }:
+buildPlugin rec {
+  appName = "ident_switch";
+  version = "4.0.1";
+  url = "https://bitbucket.org/BoresExpress/${appName}/get/${version}.tar.gz";
+  sha256 = "1zyy40lfq2kn7hkghbl8lgp18fb634zr4fxmmxvb1wqyvqdpdpyk";
+}
diff --git a/pkgs/webapps/roundcubemail/plugins/message_highlight/default.nix b/pkgs/webapps/roundcubemail/plugins/message_highlight/default.nix
new file mode 100644 (file)
index 0000000..dc7138a
--- /dev/null
@@ -0,0 +1,7 @@
+{ buildPlugin }:
+buildPlugin rec {
+  appName = "message_highlight";
+  version = "4.4";
+  url = "https://github.com/corbosman/${appName}/archive/${version}.tar.gz";
+  sha256 = "12c4x47y70xdl5pgm8csh5i4yiyhpi232lvjbixmca6di4lkhh9j";
+}
diff --git a/pkgs/webapps/roundcubemail/plugins/thunderbird_labels/default.nix b/pkgs/webapps/roundcubemail/plugins/thunderbird_labels/default.nix
new file mode 100644 (file)
index 0000000..ca7245f
--- /dev/null
@@ -0,0 +1,7 @@
+{ buildPlugin }:
+buildPlugin rec {
+  appName = "thunderbird_labels";
+  version = "v1.3.2";
+  url = "https://github.com/mike-kfed/roundcube-${appName}/archive/${version}.tar.gz";
+  sha256 = "1q4x30w66m02v3lw2n8020g0158rmyfzs6gydfk89pa1hs28k9bg";
+}