aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2020-06-07 18:46:27 +0200
committerIsmaël Bouya <ismael.bouya@normalesup.org>2020-06-07 19:13:09 +0200
commit6338573a8a4b416d5bce384dac712197f90637dc (patch)
treed21bf9c28aae19c229db226ad1d283b97d77dcd4
parent6c7d42fc4844bc4f9af72dab531be8377825296a (diff)
downloadNix-6338573a8a4b416d5bce384dac712197f90637dc.tar.gz
Nix-6338573a8a4b416d5bce384dac712197f90637dc.tar.zst
Nix-6338573a8a4b416d5bce384dac712197f90637dc.zip
Add comment engine
-rw-r--r--modules/private/default.nix1
-rw-r--r--modules/private/environment.nix27
-rw-r--r--modules/private/websites/default.nix1
-rw-r--r--modules/private/websites/immae/history/_posts/2020-06-06-Moteur-de-commentaires.md9
-rw-r--r--modules/private/websites/tools/commento/default.nix60
-rw-r--r--modules/private/websites/tools/tools/landing/config.yml3
-rw-r--r--modules/private/websites/tools/tools/landing/icons/commento.svg10
-rw-r--r--pkgs/commento/default.nix20
-rw-r--r--pkgs/default.nix1
9 files changed, 132 insertions, 0 deletions
diff --git a/modules/private/default.nix b/modules/private/default.nix
index 21b9845..bcd6e23 100644
--- a/modules/private/default.nix
+++ b/modules/private/default.nix
@@ -71,6 +71,7 @@ set = {
71 71
72 # Tools 72 # Tools
73 cloudTool = ./websites/tools/cloud; 73 cloudTool = ./websites/tools/cloud;
74 commentoTool = ./websites/tools/commento;
74 davTool = ./websites/tools/dav; 75 davTool = ./websites/tools/dav;
75 vpnTool = ./websites/tools/vpn; 76 vpnTool = ./websites/tools/vpn;
76 dbTool = ./websites/tools/db; 77 dbTool = ./websites/tools/db;
diff --git a/modules/private/environment.nix b/modules/private/environment.nix
index ec9bf29..82e3981 100644
--- a/modules/private/environment.nix
+++ b/modules/private/environment.nix
@@ -108,6 +108,19 @@ let
108 }; 108 };
109 }; 109 };
110 }; 110 };
111 smtpOptions = {
112 host = mkOption { description = "Host to access SMTP"; type = str; };
113 port = mkOption { description = "Port to access SMTP"; type = str; };
114 };
115 mkSmtpOptions = name: mkOption {
116 description = "${name} smtp configuration";
117 type = submodule {
118 options = smtpOptions // {
119 email = mkOption { description = "${name} email"; type = str; };
120 password = mkOption { description = "SMTP password of the ${name} user"; type = str; };
121 };
122 };
123 };
111 hostEnv = submodule { 124 hostEnv = submodule {
112 options = { 125 options = {
113 fqdn = mkOption { 126 fqdn = mkOption {
@@ -258,6 +271,10 @@ in
258 }; 271 };
259 }; 272 };
260 }; 273 };
274 smtp = mkOption {
275 type = submodule { options = smtpOptions; };
276 description = "SMTP configuration";
277 };
261 ldap = mkOption { 278 ldap = mkOption {
262 description = '' 279 description = ''
263 LDAP server configuration 280 LDAP server configuration
@@ -1051,6 +1068,16 @@ in
1051 type = attrsOf str; 1068 type = attrsOf str;
1052 description = "Mapping 'name'.php => script for webhooks"; 1069 description = "Mapping 'name'.php => script for webhooks";
1053 }; 1070 };
1071 commento = mkOption {
1072 description = "Commento configuration";
1073 type = submodule {
1074 options = {
1075 listenPort = mkOption { type = port; description = "Port to listen to"; };
1076 postgresql = mkPsqlOptions "Commento";
1077 smtp = mkSmtpOptions "Commento";
1078 };
1079 };
1080 };
1054 ympd = mkOption { 1081 ympd = mkOption {
1055 description = "Ympd configuration"; 1082 description = "Ympd configuration";
1056 type = submodule { 1083 type = submodule {
diff --git a/modules/private/websites/default.nix b/modules/private/websites/default.nix
index 27719cc..d55d2dd 100644
--- a/modules/private/websites/default.nix
+++ b/modules/private/websites/default.nix
@@ -284,6 +284,7 @@ in
284 telio_tortay.production.enable = true; 284 telio_tortay.production.enable = true;
285 285
286 tools.cloud.enable = true; 286 tools.cloud.enable = true;
287 tools.commento.enable = true;
287 tools.dav.enable = true; 288 tools.dav.enable = true;
288 tools.db.enable = true; 289 tools.db.enable = true;
289 tools.diaspora.enable = true; 290 tools.diaspora.enable = true;
diff --git a/modules/private/websites/immae/history/_posts/2020-06-06-Moteur-de-commentaires.md b/modules/private/websites/immae/history/_posts/2020-06-06-Moteur-de-commentaires.md
new file mode 100644
index 0000000..6778326
--- /dev/null
+++ b/modules/private/websites/immae/history/_posts/2020-06-06-Moteur-de-commentaires.md
@@ -0,0 +1,9 @@
1---
2title: "Moteur de commentaires"
3category: Nouveautés
4date: 2020-06-06
5---
6Un [nouveau moteur de commentaires](https://commento.immae.eu) a été
7installé, pour obtenir une fonctionnalité similaire à des outils tels
8que disqus. Il est pour l’instant uilisé pour le
9[blog](https://www.immae.eu/blog) et le [livre de recettes](https://www.immae.eu/recettes)
diff --git a/modules/private/websites/tools/commento/default.nix b/modules/private/websites/tools/commento/default.nix
new file mode 100644
index 0000000..d0e7d24
--- /dev/null
+++ b/modules/private/websites/tools/commento/default.nix
@@ -0,0 +1,60 @@
1{ lib, pkgs, config, ... }:
2let
3 cfg = config.myServices.websites.tools.commento;
4 env = config.myEnv.tools.commento;
5 webPort = "${host}:${port}";
6 port = toString env.listenPort;
7 host = "localhost";
8 postgresql_url = "postgres://${env.postgresql.user}:${env.postgresql.password}@localhost:${env.postgresql.port}/${env.postgresql.database}?sslmode=disable";
9in
10{
11 options.myServices.websites.tools.commento = {
12 enable = lib.mkEnableOption "Enable commento website";
13 };
14 config = lib.mkIf cfg.enable {
15 secrets.keys = [
16 {
17 dest = "commento/env";
18 permission = "0400";
19 text = ''
20 COMMENTO_ORIGIN=https://commento.immae.eu/
21 COMMENTO_PORT=${port}
22 COMMENTO_POSTGRES=${postgresql_url}
23 COMMENTO_FORBID_NEW_OWNERS=true
24 COMMENTO_BIND_ADDRESS=${host}
25 COMMENTO_GZIP_STATIC=true
26 COMMENTO_SMTP_HOST=${env.smtp.host}
27 COMMENTO_SMTP_PORT=${env.smtp.port}
28 COMMENTO_SMTP_USERNAME=${env.smtp.email}
29 COMMENTO_SMTP_PASSWORD=${env.smtp.password}
30 COMMENTO_SMTP_FROM_ADDRESS=${env.smtp.email}
31 '';
32 }
33 ];
34
35 services.websites.env.tools.vhostConfs.commento = {
36 certName = "eldiron";
37 addToCerts = true;
38 hosts = [ "commento.immae.eu" ];
39 root = null;
40 extraConfig = [
41 ''
42 ProxyPass / http://${webPort}/
43 ProxyPassReverse / http://${webPort}/
44 ProxyPreserveHost On
45 ''
46 ];
47 };
48 systemd.services.commento = {
49 description = "Commento";
50 wantedBy = [ "multi-user.target" ];
51 requires = ["postgresql.service"];
52 after = ["network.target" "postgresql.service"];
53 serviceConfig = {
54 User = "wwwrun";
55 ExecStart = "${pkgs.commento}/commento";
56 EnvironmentFile = config.secrets.fullPaths."commento/env";
57 };
58 };
59 };
60}
diff --git a/modules/private/websites/tools/tools/landing/config.yml b/modules/private/websites/tools/tools/landing/config.yml
index f3de6fc..e86dc19 100644
--- a/modules/private/websites/tools/tools/landing/config.yml
+++ b/modules/private/websites/tools/tools/landing/config.yml
@@ -71,6 +71,9 @@ services:
71 - name: "Social" 71 - name: "Social"
72 icon: "fas fa-users" 72 icon: "fas fa-users"
73 items: 73 items:
74 - name: "Commento"
75 logo: "assets/tools/commento.svg"
76 url: "https://commento.immae.eu"
74 - name: "Diaspora" 77 - name: "Diaspora"
75 logo: "assets/tools/diaspora.png" 78 logo: "assets/tools/diaspora.png"
76 url: "https://diaspora.immae.eu" 79 url: "https://diaspora.immae.eu"
diff --git a/modules/private/websites/tools/tools/landing/icons/commento.svg b/modules/private/websites/tools/tools/landing/icons/commento.svg
new file mode 100644
index 0000000..39da47a
--- /dev/null
+++ b/modules/private/websites/tools/tools/landing/icons/commento.svg
@@ -0,0 +1,10 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<svg viewBox="0 0 105.65 105.65" xmlns="http://www.w3.org/2000/svg">
3<g transform="translate(0) scale(2.113)" fill="#1e2127" name="monogram_container" rel="inversefill" xmlns:name="monogram_container_inversefill">
4<title xmlns="http://www.w3.org/2000/svg">assets</title>
5<circle cx="25" cy="25" r="25" xmlns="http://www.w3.org/2000/svg"/>
6</g>
7<g transform="translate(26.5 5.65)" fill="#fff" name="monogram" rel="symbolfill" xmlns:name="monogram_symbolfill">
8<path d="m13.95 46.575v0.225c-0.075 0.15-0.075 0.3-0.075 0.45 0 0.225 0.075 0.375 0.075 0.525v0.525s0 0.3 0.075 0.525c0 0.15 0 0.3 0.075 0.525 0 0.15 0 0.3 0.075 0.375 0 0.225 0.075 0.375 0.075 0.525s0.075 0.3 0.15 0.45c0.075 0.3 0.15 0.6 0.225 0.975l0.225 0.45c0 0.15 0.075 0.225 0.15 0.375 0.075 0.3 0.225 0.6 0.375 0.9 0.075 0.15 0.15 0.3 0.3 0.525 0.075 0.15 0.15 0.3 0.225 0.375 0.15 0.3 0.375 0.6 0.525 0.9l0.3 0.3c0.075 0.15 0.15 0.3 0.225 0.375 0.225 0.225 0.45 0.525 0.675 0.75l0.675 0.675c0.3 0.3 0.525 0.45 0.825 0.675 0.225 0.225 0.45 0.45 0.75 0.6 0.525 0.375 1.05 0.75 1.65 0.975 0.15 0.075 0.3 0.15 0.375 0.225 0.225 0.075 0.375 0.15 0.6 0.225 0.15 0.075 0.225 0.075 0.375 0.15s0.3 0.15 0.45 0.15c0.375 0.15 0.675 0.225 0.975 0.3s0.675 0.15 0.975 0.225 0.675 0.075 0.975 0.15c0.3 0 0.6 0.075 0.9 0.075h1.05c0.3 0 0.675 0 1.05-0.075 0.6-0.075 1.275-0.15 1.875-0.3s1.2-0.375 1.8-0.6c0.15-0.075 0.3-0.075 0.45-0.15s0.3-0.15 0.525-0.225h4.95c-0.075 0-0.15 0.075-0.15 0.15-0.075 0-0.15 0.075-0.225 0.15-0.45 0.375-0.975 0.75-1.5 1.125-0.225 0.15-0.525 0.3-0.825 0.45-0.3 0.225-0.6 0.375-0.9 0.525-0.075 0.075-0.225 0.075-0.375 0.15l-0.45 0.225c-0.3 0.15-0.6 0.225-0.9 0.375-0.3 0.075-0.6 0.225-0.9 0.3-0.225 0.075-0.375 0.075-0.525 0.15-0.15 0-0.3 0.075-0.45 0.075-0.15 0.075-0.3 0.075-0.525 0.15h-0.15c-0.15 0.075-0.225 0.075-0.375 0.075-0.3 0.075-0.6 0.075-0.975 0.15-0.6 0.075-1.275 0.075-1.95 0.075h-0.45-0.45c-0.3 0-0.675-0.075-0.975-0.075-0.375-0.075-0.675-0.15-1.05-0.15l-0.9-0.225c-0.375-0.075-0.675-0.225-1.05-0.3-0.225-0.075-0.525-0.225-0.825-0.3-0.6-0.225-1.2-0.525-1.8-0.75-0.3-0.15-0.6-0.3-0.825-0.525-0.3-0.15-0.6-0.3-0.825-0.525-0.15-0.075-0.3-0.15-0.375-0.225-0.15-0.075-0.3-0.225-0.375-0.3-0.15-0.075-0.225-0.15-0.375-0.225l-0.375-0.375c-0.525-0.375-0.975-0.825-1.425-1.35-0.075-0.075-0.225-0.225-0.3-0.375-0.15-0.075-0.225-0.225-0.375-0.375-0.225-0.225-0.375-0.525-0.6-0.75-0.075-0.15-0.225-0.3-0.3-0.45s-0.15-0.225-0.225-0.375c-0.075-0.075-0.15-0.225-0.225-0.375-0.15-0.15-0.225-0.3-0.3-0.45-0.15-0.3-0.3-0.525-0.45-0.825s-0.3-0.6-0.375-0.9c-0.15-0.375-0.3-0.675-0.375-0.975-0.075-0.15-0.15-0.3-0.15-0.45-0.075-0.15-0.075-0.3-0.15-0.45-0.075-0.3-0.15-0.6-0.225-0.975l-0.225-0.9c0-0.15 0-0.3-0.075-0.45v-0.3s-0.075-0.15-0.075-0.225v-0.45-0.525c-0.075-0.675-0.075-1.35 0-2.025s0.15-1.275 0.225-1.95l0.225-0.9s0.225-0.675 0.3-0.975c0-0.15 0.075-0.225 0.15-0.375 0.075-0.225 0.075-0.375 0.15-0.525 0.15-0.3 0.225-0.6 0.375-0.825l0.45-0.9c0.075-0.15 0.15-0.375 0.225-0.525s0.15-0.3 0.3-0.375l0.225-0.45s0.15-0.225 0.225-0.375 0.225-0.3 0.3-0.45c0.15-0.075 0.225-0.225 0.3-0.375 0.375-0.525 0.825-0.975 1.275-1.425 0.225-0.225 0.45-0.525 0.75-0.675 0.225-0.225 0.45-0.45 0.75-0.675 0.075-0.075 0.225-0.15 0.375-0.3 0.075-0.075 0.225-0.15 0.3-0.225 0.15-0.075 0.3-0.225 0.45-0.3 0.075-0.075 0.225-0.15 0.375-0.225 0.525-0.375 1.125-0.675 1.725-0.975l0.45-0.225c0.075 0 0.225-0.075 0.375-0.15 0.3-0.15 0.675-0.225 0.975-0.375 0.3-0.075 0.6-0.225 0.975-0.3 0.15 0 0.3-0.075 0.45-0.075 0.15-0.075 0.3-0.075 0.45-0.15 0.3-0.075 0.6-0.15 0.975-0.15 0.15 0 0.3-0.075 0.45-0.075 0.225 0 0.375-0.075 0.525-0.075 0.675-0.075 1.275-0.075 1.95-0.075 0.375 0 0.675 0.075 1.05 0.075 0.3 0 0.675 0.075 0.975 0.15 0.3 0 0.6 0.075 0.9 0.15 0.225 0 0.375 0.075 0.525 0.075 0.15 0.075 0.3 0.075 0.45 0.075 0.6 0.225 1.2 0.375 1.8 0.6 0.15 0.075 0.375 0.15 0.525 0.225l0.45 0.225s0.3 0.15 0.375 0.225l1.35 0.675c0.225 0.15 0.525 0.375 0.75 0.525 0.15 0.075 0.3 0.225 0.375 0.3 0.075 0 0.15 0.075 0.225 0.15 0.075 0 0.15 0.075 0.15 0.15 0.15 0.075 0.3 0.15 0.375 0.225 0.15 0.15 0.3 0.225 0.375 0.375h-4.875c-0.075 0-0.075 0-0.15-0.075-0.3-0.075-0.6-0.225-0.9-0.375-0.15-0.075-0.3-0.15-0.525-0.15-0.15-0.075-0.3-0.15-0.45-0.15-0.3-0.15-0.6-0.225-0.9-0.3s-0.675-0.075-0.975-0.15c-0.675-0.15-1.35-0.15-2.025-0.225-0.6 0-1.275 0-1.875 0.15-0.675 0.075-1.35 0.15-1.95 0.375-0.375 0.075-0.675 0.15-0.975 0.3-0.15 0-0.3 0.075-0.45 0.15-0.15 0-0.225 0.075-0.375 0.15-0.225 0.075-0.375 0.15-0.6 0.225-0.075 0.075-0.225 0.15-0.375 0.225-0.3 0.15-0.6 0.3-0.9 0.525-0.225 0.15-0.525 0.3-0.75 0.45-0.225 0.225-0.525 0.375-0.75 0.6-0.15 0.075-0.225 0.225-0.375 0.3-0.15 0.15-0.3 0.225-0.375 0.375-0.3 0.225-0.525 0.45-0.75 0.75-0.225 0.225-0.375 0.45-0.6 0.675-0.075 0.15-0.15 0.225-0.3 0.375-0.075 0.15-0.15 0.225-0.3 0.375l-0.225 0.45c-0.075 0.075-0.15 0.225-0.225 0.375s-0.225 0.225-0.3 0.375c-0.075 0.225-0.15 0.375-0.225 0.6-0.075 0.075-0.15 0.225-0.15 0.3-0.075 0.15-0.225 0.3-0.225 0.525-0.15 0.3-0.3 0.6-0.375 0.9s-0.225 0.6-0.3 0.975c0 0.15-0.075 0.225-0.075 0.375-0.075 0.15-0.075 0.375-0.075 0.525-0.075 0.15-0.075 0.3-0.075 0.45-0.075 0.225-0.075 0.375-0.075 0.525-0.075 0.3-0.075 0.675-0.075 0.975zm28.8 13.125h9.9s-0.075 0.15-0.075 0.225c-0.15 0.225-0.3 0.525-0.45 0.75-0.15 0.3-0.3 0.6-0.45 0.825-0.075 0.15-0.225 0.3-0.3 0.45-0.075 0.075-0.15 0.225-0.225 0.375s-0.15 0.225-0.225 0.375c-0.15 0.15-0.225 0.225-0.3 0.375s-0.15 0.3-0.3 0.375c0 0.075-0.075 0.15-0.075 0.225-0.075 0-0.075 0.075-0.075 0.075l-0.075 0.075c0 0.075-0.075 0.075-0.075 0.075 0 0.075-0.075 0.075-0.075 0.15l-0.15 0.15c-0.075 0.15-0.225 0.3-0.3 0.45-0.45 0.45-0.825 0.975-1.275 1.425-0.225 0.225-0.45 0.45-0.6 0.675-0.3 0.225-0.525 0.45-0.825 0.75-0.45 0.375-0.9 0.825-1.425 1.2-0.45 0.375-0.975 0.825-1.5 1.125-0.15 0.15-0.375 0.3-0.525 0.45-0.075 0-0.225 0.075-0.3 0.15-0.3 0.225-0.6 0.375-0.9 0.6-0.6 0.3-1.2 0.675-1.8 0.975s-1.2 0.525-1.8 0.825c-0.525 0.225-1.125 0.45-1.725 0.675-0.6 0.15-1.275 0.375-1.875 0.525-0.375 0.075-0.675 0.15-1.05 0.3-0.15 0-0.3 0.075-0.45 0.075-0.225 0-0.375 0.075-0.6 0.075-0.6 0.15-1.275 0.225-1.95 0.3-0.6 0.075-1.275 0.15-1.875 0.15-0.675 0.075-1.275 0.075-1.95 0.075-0.3-0.075-0.675-0.075-0.975-0.075-0.375 0-0.75-0.075-1.125-0.075-0.15 0-0.3-0.075-0.45-0.075s-0.375-0.075-0.525-0.075c-0.375 0-0.675-0.075-1.05-0.15-0.6-0.075-1.275-0.225-1.875-0.375s-1.2-0.375-1.8-0.525c-0.3-0.15-0.6-0.225-0.9-0.3-0.375-0.15-0.675-0.3-0.975-0.375-0.3-0.15-0.675-0.3-0.975-0.45-0.15-0.075-0.3-0.075-0.375-0.15-0.225-0.15-0.375-0.225-0.6-0.3-0.6-0.3-1.125-0.6-1.725-0.9-0.525-0.375-1.05-0.675-1.575-1.05l-1.575-1.125c-0.225-0.225-0.525-0.45-0.825-0.675-0.225-0.225-0.45-0.45-0.75-0.675-0.225-0.225-0.525-0.45-0.75-0.75-0.225-0.15-0.375-0.375-0.6-0.6-0.45-0.45-0.9-0.975-1.275-1.425-0.225-0.3-0.45-0.525-0.6-0.75-0.225-0.225-0.375-0.525-0.6-0.75-0.15-0.225-0.3-0.525-0.525-0.825-0.075-0.075-0.15-0.225-0.225-0.375s-0.225-0.3-0.3-0.45c-0.15-0.225-0.3-0.45-0.45-0.75-0.075-0.15-0.15-0.225-0.225-0.375s-0.15-0.3-0.225-0.375c-0.3-0.6-0.6-1.2-0.825-1.725l-0.225-0.45c0-0.15-0.15-0.375-0.15-0.525l-0.225-0.45c0-0.15-0.075-0.3-0.15-0.45-0.225-0.6-0.375-1.2-0.6-1.8l-0.225-0.9c-0.075-0.375-0.15-0.675-0.225-0.975s-0.15-0.675-0.225-1.05c0-0.3-0.075-0.6-0.15-0.9-0.075-0.675-0.15-1.35-0.15-2.025-0.075-0.6-0.075-1.275-0.075-1.875 0-0.675 0-1.35 0.075-2.025 0-0.3 0.075-0.675 0.075-0.975 0.075-0.3 0.075-0.675 0.15-0.975s0.075-0.675 0.15-0.975c0-0.15 0.075-0.225 0.075-0.375 0-0.225 0.075-0.375 0.075-0.525 0.075-0.075 0.075-0.15 0.075-0.225s0.075-0.15 0.075-0.3 0.075-0.3 0.075-0.375c0.075-0.375 0.225-0.675 0.3-0.975 0.15-0.675 0.375-1.35 0.6-1.95s0.45-1.2 0.75-1.725l0.225-0.45c0-0.075 0.075-0.15 0.075-0.3 0.075 0 0.075 0 0.075-0.075l0.075-0.075v-0.15s0.075 0 0.075-0.075 0.075-0.15 0.15-0.225c0.075-0.15 0.075-0.3 0.15-0.375 0.15-0.3 0.3-0.525 0.45-0.825s0.375-0.525 0.525-0.825c0.075-0.15 0.15-0.225 0.225-0.375 0.15-0.15 0.225-0.3 0.3-0.45s0.225-0.225 0.3-0.375 0.15-0.225 0.225-0.375c0.225-0.225 0.375-0.525 0.6-0.75 0.15-0.225 0.375-0.45 0.6-0.75 0.15-0.225 0.375-0.45 0.6-0.675 0.225-0.3 0.45-0.525 0.675-0.75l0.3-0.3c0.075-0.15 0.225-0.225 0.3-0.3 0.225-0.225 0.45-0.45 0.75-0.675l1.575-1.35c0.225-0.225 0.525-0.375 0.825-0.6 0.225-0.225 0.525-0.375 0.825-0.6 0.525-0.375 1.125-0.675 1.65-0.975 0.525-0.375 1.125-0.6 1.65-0.9 0.3-0.15 0.6-0.3 0.9-0.375 0.3-0.15 0.6-0.3 0.975-0.45 0.3-0.15 0.6-0.225 0.975-0.375 0.3-0.075 0.6-0.225 0.975-0.3 0.6-0.225 1.275-0.375 1.95-0.525 0.6-0.15 1.2-0.3 1.8-0.375 0.675-0.15 1.275-0.225 1.95-0.3 0.3 0 0.675-0.075 1.05-0.075h0.975 1.05 1.05c0.3 0.075 0.6 0.075 0.975 0.075 0.3 0.075 0.6 0.075 0.9 0.15 0.6 0.075 1.275 0.15 1.875 0.3 0.675 0.075 1.35 0.225 2.025 0.45 0.15 0 0.3 0.075 0.45 0.075 0.15 0.075 0.3 0.15 0.45 0.15 0.375 0.15 0.75 0.225 1.05 0.375 0.075 0 0.225 0.075 0.3 0.075l0.675 0.225c0.3 0.15 0.525 0.3 0.825 0.375 0.6 0.3 1.125 0.525 1.725 0.825 0.525 0.3 1.125 0.6 1.725 0.975 0.3 0.15 0.6 0.375 0.9 0.6 0.225 0.15 0.525 0.375 0.825 0.525 0.075 0.075 0.225 0.15 0.3 0.225 0.225 0.15 0.375 0.3 0.525 0.45 0.3 0.15 0.525 0.375 0.75 0.6 0.525 0.375 0.975 0.825 1.425 1.2 0.15 0.15 0.3 0.3 0.375 0.45 0.15 0.075 0.225 0.15 0.3 0.3 0.225 0.15 0.45 0.375 0.675 0.6 0.225 0.3 0.45 0.525 0.6 0.75 0.225 0.3 0.45 0.525 0.675 0.825 0.15 0.225 0.375 0.45 0.525 0.675 0.225 0.3 0.375 0.525 0.6 0.75 0.3 0.6 0.675 1.125 0.975 1.65 0.15 0.3 0.375 0.525 0.45 0.825 0.075 0.15 0.15 0.225 0.225 0.375 0.075 0.075 0.075 0.15 0.15 0.225 0 0.075 0.075 0.15 0.075 0.225h-9.9l-0.3-0.3c-0.075-0.15-0.15-0.225-0.3-0.375-0.15-0.225-0.375-0.45-0.6-0.675-0.45-0.375-0.975-0.825-1.425-1.275-0.15-0.075-0.225-0.15-0.375-0.3-0.15-0.075-0.225-0.15-0.375-0.225-0.3-0.225-0.525-0.375-0.825-0.6-0.15-0.075-0.225-0.15-0.375-0.225s-0.225-0.15-0.375-0.225c-0.3-0.15-0.6-0.375-0.9-0.525-0.6-0.3-1.125-0.6-1.725-0.825-0.3-0.075-0.6-0.225-0.9-0.3-0.375-0.15-0.675-0.225-0.975-0.3-0.3-0.15-0.6-0.225-0.975-0.3-0.3-0.075-0.675-0.15-0.975-0.225l-2.025-0.225s-1.35-0.075-1.95-0.075c-0.375 0-0.675 0.075-0.975 0.075s-0.6 0.075-0.975 0.075c-0.6 0.075-1.275 0.15-1.875 0.3s-1.275 0.3-1.875 0.525-1.275 0.45-1.875 0.75l-1.8 0.9c-0.075 0.075-0.15 0.075-0.225 0.15 0 0-0.075 0.075-0.15 0.075-0.075 0.075-0.225 0.15-0.375 0.3-0.15 0.075-0.3 0.15-0.375 0.225-0.15 0.075-0.3 0.15-0.375 0.3-0.525 0.375-1.05 0.75-1.575 1.2-0.45 0.375-0.9 0.825-1.275 1.275-0.45 0.45-0.9 0.975-1.275 1.5-0.375 0.45-0.75 0.975-1.05 1.5-0.375 0.6-0.75 1.2-0.975 1.8l-0.45 0.9c-0.075 0.15-0.15 0.3-0.15 0.45l-0.225 0.45c-0.15 0.6-0.375 1.125-0.525 1.8-0.15 0.6-0.3 1.275-0.45 1.95-0.075 0.6-0.15 1.275-0.15 1.95-0.075 0.375-0.075 0.675-0.075 0.975s0 0.6 0.075 0.975c0 0.6 0.075 1.275 0.15 1.95s0.225 1.275 0.375 1.95 0.375 1.275 0.6 1.875c0.075 0.15 0.15 0.3 0.15 0.45l0.225 0.45c0.075 0.3 0.225 0.6 0.375 0.9l0.225 0.45s0.15 0.225 0.225 0.375c0.15 0.3 0.3 0.6 0.45 0.825 0.375 0.6 0.75 1.125 1.125 1.65s0.825 0.975 1.275 1.425c0.15 0.225 0.375 0.45 0.6 0.675l0.3 0.3c0.15 0.15 0.3 0.225 0.375 0.375 0.225 0.225 0.525 0.375 0.75 0.6s0.525 0.375 0.75 0.6c0.525 0.3 0.975 0.675 1.5 0.975 0.6 0.3 1.2 0.675 1.8 0.9 0.6 0.3 1.2 0.525 1.875 0.75 0.6 0.225 1.2 0.375 1.875 0.525 0.3 0.15 0.675 0.15 1.05 0.225 0.3 0.075 0.6 0.15 0.9 0.15 0.375 0.075 0.675 0.075 0.975 0.15h0.45 0.45 2.025c0.3-0.075 0.675-0.075 0.975-0.15 0.3 0 0.6-0.075 0.975-0.075 0.6-0.15 1.275-0.3 1.875-0.45 0.375-0.15 0.675-0.225 0.975-0.3 0.15-0.075 0.375-0.15 0.525-0.225 0.15 0 0.3-0.075 0.45-0.15 0.3-0.15 0.6-0.225 0.9-0.375l0.9-0.45c0.6-0.3 1.125-0.6 1.65-0.975 0.3-0.15 0.525-0.375 0.825-0.525 0.075-0.075 0.225-0.225 0.375-0.3 0.075-0.075 0.225-0.225 0.375-0.3 0.45-0.375 0.975-0.825 1.425-1.275s0.825-0.9 1.275-1.35z"/>
9</g>
10</svg>
diff --git a/pkgs/commento/default.nix b/pkgs/commento/default.nix
new file mode 100644
index 0000000..6361583
--- /dev/null
+++ b/pkgs/commento/default.nix
@@ -0,0 +1,20 @@
1{ stdenv, fetchurl, patchelfUnstable, autoPatchelfHook }:
2stdenv.mkDerivation rec {
3 pname = "commento";
4 version = "v1.8.0";
5 name = "${pname}-${version}";
6 src = fetchurl {
7 url = "https://dl.commento.io/release/${name}-linux-glibc-amd64.tar.gz";
8 sha256 = "1j88b16hdx3i8nsq56581cscij65slgbsa6yfj73ybbg1585axxs";
9 };
10 phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
11 unpackPhase = ''
12 tar --one-top-level=${name} -xf "$src"
13 '';
14 installPhase = ''
15 cp -a ${name} $out
16 '';
17 postFixup = ''
18 ${patchelfUnstable}/bin/patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/commento
19 '';
20}
diff --git a/pkgs/default.nix b/pkgs/default.nix
index 3b0e937..03fee4f 100644
--- a/pkgs/default.nix
+++ b/pkgs/default.nix
@@ -8,6 +8,7 @@ rec {
8 myEnvironments = callPackage ../environments {}; 8 myEnvironments = callPackage ../environments {};
9 boinctui = callPackage ./boinctui {}; 9 boinctui = callPackage ./boinctui {};
10 cnagios = callPackage ./cnagios { inherit mylibs; }; 10 cnagios = callPackage ./cnagios { inherit mylibs; };
11 commento = callPackage ./commento {};
11 duply = callPackage ./duply {}; 12 duply = callPackage ./duply {};
12 flrn = callPackage ./flrn { inherit mylibs; slang = callPackage ./slang_1 {}; }; 13 flrn = callPackage ./flrn { inherit mylibs; slang = callPackage ./slang_1 {}; };
13 genius = callPackage ./genius {}; 14 genius = callPackage ./genius {};