about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--.gitattributes1
-rw-r--r--hm/soispha/conf/taskwarrior/default.nix21
-rw-r--r--hm/soispha/conf/taskwarrior/taskd/user_id.nixbin0 -> 84 bytes
-rw-r--r--sys/secrets/default.nix19
-rw-r--r--sys/secrets/secrets.nix4
-rw-r--r--sys/secrets/taskserver/ca.cert50
-rw-r--r--sys/secrets/taskserver/private.key81
-rw-r--r--sys/secrets/taskserver/public.cert52
8 files changed, 227 insertions, 1 deletions
diff --git a/.gitattributes b/.gitattributes
index f866b1fa..6d49cfca 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,5 +1,6 @@
 hm/soispha/conf/mail/non_public_accounts.nix filter=git-crypt diff=git-crypt
 hm/soispha/conf/taskwarrior/projects/* filter=git-crypt diff=git-crypt
+hm/soispha/conf/taskwarrior/taskd/* filter=git-crypt diff=git-crypt
 
 
 # gpg keys:
diff --git a/hm/soispha/conf/taskwarrior/default.nix b/hm/soispha/conf/taskwarrior/default.nix
index 3d647482..7ab1d50c 100644
--- a/hm/soispha/conf/taskwarrior/default.nix
+++ b/hm/soispha/conf/taskwarrior/default.nix
@@ -1,8 +1,15 @@
-{...}: {
+{
+  nixosConfig,
+  ...
+}: {
   imports = [
     ./hooks
   ];
 
+  services.taskwarrior-sync = {
+    enable = true;
+  };
+
   programs.taskwarrior = let
     mkContext = project: {
       inherit (project) name;
@@ -44,6 +51,18 @@
       color = true;
 
       inherit context;
+
+      taskd = {
+        server = "taskserver.vhack.eu:53589";
+        trust = "strict";
+        ca =
+          nixosConfig.age.secrets.taskserverCA.path;
+        key =
+          nixosConfig.age.secrets.taskserverPrivate.path;
+        certificate =
+          nixosConfig.age.secrets.taskserverPublic.path;
+        credentials = import ./taskd/user_id.nix {};
+      };
     };
   };
 }
diff --git a/hm/soispha/conf/taskwarrior/taskd/user_id.nix b/hm/soispha/conf/taskwarrior/taskd/user_id.nix
new file mode 100644
index 00000000..ab2567e6
--- /dev/null
+++ b/hm/soispha/conf/taskwarrior/taskd/user_id.nix
Binary files differdiff --git a/sys/secrets/default.nix b/sys/secrets/default.nix
index d1fc1714..754d901f 100644
--- a/sys/secrets/default.nix
+++ b/sys/secrets/default.nix
@@ -26,6 +26,25 @@ in {
           owner = "serverphone";
           group = "serverphone";
         };
+
+        taskserverPrivate = {
+          file = ./taskserver/private.key;
+          mode = "700";
+          owner = "soispha";
+          group = "users";
+        };
+        taskserverPublic = {
+          file = ./taskserver/public.cert;
+          mode = "700";
+          owner = "soispha";
+          group = "users";
+        };
+        taskserverCA = {
+          file = ./taskserver/ca.cert;
+          mode = "700";
+          owner = "soispha";
+          group = "users";
+        };
       };
     };
   };
diff --git a/sys/secrets/secrets.nix b/sys/secrets/secrets.nix
index 36757546..dd5bf022 100644
--- a/sys/secrets/secrets.nix
+++ b/sys/secrets/secrets.nix
@@ -12,4 +12,8 @@ in {
 
   "serverphone/ca.key".publicKeys = [soispha tiamat apzu];
   "serverphone/server.key".publicKeys = [soispha tiamat apzu];
+
+  "taskserver/private.key".publicKeys = [soispha tiamat apzu];
+  "taskserver/public.cert".publicKeys = [soispha tiamat apzu];
+  "taskserver/ca.cert".publicKeys = [soispha tiamat apzu];
 }
diff --git a/sys/secrets/taskserver/ca.cert b/sys/secrets/taskserver/ca.cert
new file mode 100644
index 00000000..e89ad8a2
--- /dev/null
+++ b/sys/secrets/taskserver/ca.cert
@@ -0,0 +1,50 @@
+-----BEGIN AGE ENCRYPTED FILE-----
+YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvUGNBVDdqcEdLQVhaS2Mx
+dmJSclQ3UkdTQk5CMkV6cWw2SkZ4S1QvS0hBCkhROVhuMGViTjF6U1AxZHFWTUdM
+MzZCYVB0Qy9KUVVlUmd1dTlvQzRNYTAKLT4gc3NoLWVkMjU1MTkgelpFb25nIGMw
+c3VMTzZJOVVhNTQycjNVdURiellGbWhsZU1lZmhQd09qbXZOMVhyUW8KSFhFZkti
+RERQRlp6TFBkUmFZdHpQaFhja053a1N0Zld5NlNmb1Zaa1BpawotPiBzc2gtZWQy
+NTUxOSA3SGZGVXcgRFJ6WHNlVXdRaVlyVDdJRXZSOGVORXB2Ky85VjQrWU0yK0Ez
+ckRnM1VFRQo5c25DbE5XekI0MUpzenVDc0VrQm9zTG9uWU9tNVlWaGg5dXJ1YWJQ
+NDBnCi0+IHMsYDstZ3JlYXNlICZEfjBJZEIKOERRaklKeTFTSU1uZTJpdGwrawot
+LS0gM09CUnlxTmNuRndDU3BrTTIyRUV5VFJYTlJtditPd2dnbU01R09oOGZrYwpK
+xFbFRVGh5nDAPH14QuLkl6wXbSE5vYFjj8+fAieIp9G2LK9u0Nsue66ir3euifXm
+4vXT5YzC/YQ3Ze+haPCWpDVJk7Ps3e6SDQqn8lpszrYQyoWah4mDTm3MieQ1kE6J
+qTXhWm9/39RZNvykBsXgoMmEe1S+JVWU1XyAA3bT8X1+gVRDloail8J++GWOtkWJ
+cnMHk7HmYH6zw9obgNINalTTBF00Xd88yNSCaTbNWwQ2igdWBIcL20WZlYzeYRSg
+/7sPqlvtQQoxU2RiNK9uKaWKcvXNKmYNnNnlKkCddnAiIt0smHWeXji0Vm/yqrXe
+UYZg+Yc6Vnby5Fmyn4hrRoG9cUFd8Zu/Gh2fYV1ITAn49kmbJht88L7GM9ZNz4US
+oFzZAUyHTCVXwjukOhevo51XlgmBdUVUf014hp4KnOc6F5ym8dDNGegHCFl3uQFr
+b93GEdrm6onb9/4X4eUl+LYHUZ5dZeuOpcZN3YCtMDYcvb9gbPvzF4ogJ6DCI8AQ
+nvCKdHt9IC7+oLWDHMTT6LIPIqLylyOhqCX/T8REcNhJlbZegN2mva5YvjB+ua3y
+XfvrvVJR29cARG9JJX1UBPGRk+S5UZsDO+Nx961rQzV8Z5WDhD3SP/V406Bc7zEW
+5RJCGe7HsYxW//Mtxo7yAiZ8MnfMM+fUJTIKL7lzrOJLrvX09nthpfPq/X6LPUbo
+yZGzszNbYtYzFvOFOBpuXHItdn4bCu7OYE0ozD7LRmRfaQT6r1JcoPVrPlXIkBUo
+EeKySoFf1VI94ka1jIUZlJMV+I4bhzZUyeyhKMUOBARHUD8HWtiLBjBrUh3ALbM7
+aJ6FlCBGHjsT4oqydkCmDAdg2kP6rc5tziVg9XZMjoxCuzbUP38ItkM+9H/4dYen
+4Rd/02psS0kGSIYoJ+LhLvNUhpKLqu97Q7JYYGoz0xRkDjtlnvWjcJ8tqMlKWk5A
+6WxLDi2iNWDAJStVDNuGuTJBJKLVrD0wvp2PtlovtgqtLBCOw2thR4qas8PrLdyq
+90AnkPcj5wsklIdaHxZEccSz/ec6EGsNLiAihX+W1xXYoqO4bLYT0k2rv3BNcDsj
+0/YnP8qhAOTvbnyyysZj2enfaTaXjNvVWblw56vUE2eecADbEUgpyDV5jTn0mZzN
+5YX+30uAJAnFvomJnsko9w8Qazk0WU834LT4UojUpQ0eA1t9JQfeXC9WHrdtQ3i8
+2R1neL65Yrh/qJvkod5DAEv6IiS5Lwi5PWmZylcyOqE777XYuvDfQsBhcEYoEB9F
+gxQv5RzLGllfiGq1jpndLdKMN1WyknvrOSur5fwm8LB4G9ANQVWPKER/9T54TWWR
+Az6Vn0iUw26ZQ4m05hHCpoO6NcC7TgaoC2mS7qBQcor/+EmshDLLgQO5Wz522olD
+8Vhw6tTGU8aRmBVibASm3oEk0ClRDkvXU2PTvIC12YOWaC3hLY9O+rB+x3+1TiXO
+ogWikoOLSMCT/nyhRX3pxBRUmSHaRp9c+fph0CSxyuQMjXa08gv9RPv2k79Ge2of
+rp8HXAIzsotn5vSmAERz2+lqs852dMkXNXp7ChoPStws3H9Lf5MMglYaIV9VUG4M
+ADifkN5TKrr8IQ7UxRVNpYti1Z2dIIbdSD7WiVhB+qDMt181pRRpH1cZH/n8xK6d
+1TQiFt22tphgI+rax+A0/zGJ5U6+GEV5i/31YX41QUuhEUfHs+YmrFLYjdtZYIyB
+YYv9MPcT8S8NZfmxVDmPBE8v+cHvi+5Td3GVurqSP7oQh3vtm6tg4GTnIvLxkrf7
+1+PVyIhqiNx8lCUF9lVXoGbYzEkmLsQ/HYwvaQH+Ny+BsIey3uefE/nEExXd9foW
+A0MGb4Hj8Pmfoxz5DZsQ7mWQwnmhH5Ax+Z15GMPrvc+cz3dsO9Z7XZmSaWqkA0QU
+fjL1M5ttVBhdFfThyD8TRWUnvQVoOx3PHfag0fZuGtcxdTGhlj+2Ucvw6sRr8pnD
+JYgXiDisYFIFl93RlCjXFk9PbS/wG2ip5RN8WbXAr/GkGm0MGlbPgNCQJ6Ya85Nj
+UH8d8eYoQMs5YHilP2kMspz9dEfgmMlY4H64EimtkkNBYdH8vfYeCgVTXQx8Zyvk
+5dt3jUIxydOuxdLejexWOgaQcUwhz0i3+7jakFmDhpfwruq6kIXiyRvin/k3a4ej
+gtr5Hy4yp1nSc2wsD8NTkHyiHWB0+UlQFMdpN3ogb+5bW1ECGi+2dx+Ru3wVKzIL
+aTzo/dwLKUsu8lxLwxy8qqKcADgRGD0n5px1170MkNXnM7HLVtRM2ff7yXhVq08g
+DzWsSAI8SDm6oz+ZlpFHdYHKnY11BX5l0+jab28H9XNZzbAoSQ4FUOosO7cr5ZOv
+VhnrM3E0fXzRFBJ567ZvEki3SqXwInnjo/BMOBvvEkNHDXJeNW6tYnWGTRb4sxDp
+NrIKzuRMbUM8cdJzlg+++Q==
+-----END AGE ENCRYPTED FILE-----
diff --git a/sys/secrets/taskserver/private.key b/sys/secrets/taskserver/private.key
new file mode 100644
index 00000000..4a5fc471
--- /dev/null
+++ b/sys/secrets/taskserver/private.key
@@ -0,0 +1,81 @@
+-----BEGIN AGE ENCRYPTED FILE-----
+YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2TWxmQVBNOG9CRVp3VDVH
+ZVNoN0FyVTJjdnlvZVJOVEwvSjhrbzM3VXljCm5HNGcwYkpGOFl2OFZFQ1d6SVVm
+S25aeUtkVGZKKy9WSWJudVlDY09zSVUKLT4gc3NoLWVkMjU1MTkgelpFb25nIG9D
+YWp0QVpwUHc1WGVlWUhjNnV6UjRZUG9jWVpEUGpNZncxektzeUdURjQKeEZWUWRU
+bXZEcjdwSlVQY3RyOGtBTEF6YUdIU0J3STZlZ0haYUtMU242ZwotPiBzc2gtZWQy
+NTUxOSA3SGZGVXcgMzREeXFLVmI4L0NMeThLZHZGd0w0U0dmRWE4T09ESGFNa0tM
+R21ocmF6awp0K2hrRW92L2FrYS9ScU01ZE9iTDJMUjJQOTQ1cDJCT2MxSFdkbWtO
+ZzRnCi0+IDo7PGV0LWdyZWFzZQplcHlFWEJkbGIxczVLQ09Eb2VtWERNN2MwSFU3
+cmdhK3hiR1hja3l3OFNkWldiQmJocll6ZWNvU2l5MXA4SDNsCnBWN3FhbWZzc2Fy
+K0dtc0Q5elhCcncKLS0tIGtqR2V0eUFHamtocTFESjYvQWU5N0lERmdRMGhUc3k5
+THNPQ2VzZHdEZ00Kc/NMYa355GcoPMH2m32TAgHOUmF0OLZOsj5CSv9AVcbwl7EX
+WDszVMuPuzxtZElUEHlsURG22AR4QC2iKuynh1XIPshc9d2R0SHcpPR8IECZR582
+UjMyPwuTqvmS0yLpmnH7LrfoRUeFZxZ5zp9OU+iE/dEUKhu8JNdU8fNJn7XTae4A
+GAB/u0X0LPoW+KwyY0+MRpXENCbMnnBu+Fz6H37hH7zkuoAii387bGk/fPipkD+V
+nJcc4kttP2BflzKCtOiiaUmYzX2jBOOug8eR/4dR5qJslLn/hJEMEYYF5DBu3BUa
+hPKRIsvIwiBJrMmMDke/IYd2VixcIK8AbLUwchRRsPBeaTt3l3iaV/IKsAJMeD9E
+dE+qJf/GbUnTJMMkTJ5T6AXyyAFtHjUfLiJQHPlkE1rWhHRElpq5mBFomkNuyaZb
+opX+FgspGSRy8GqgXMCfNae/Z9986UDJRBsRxZwr/IANSguGMzbZhnecQVo0PveK
+8uvG/pIafTG/SASHtGgMKB3bFldiAsKRImsdA1XqDrv5axfY0JhyC+GmEewJkVcX
+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
+yIJ1bS+2e/+0dS8u7A/ORZTLwKOPr9k=
+-----END AGE ENCRYPTED FILE-----
diff --git a/sys/secrets/taskserver/public.cert b/sys/secrets/taskserver/public.cert
new file mode 100644
index 00000000..d104da8d
--- /dev/null
+++ b/sys/secrets/taskserver/public.cert
@@ -0,0 +1,52 @@
+-----BEGIN AGE ENCRYPTED FILE-----
+YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2cWVzalpEcUdmbHpjVkpF
+NHQvNnhFMCsySW4xWUxxSVE1UDM0c0llZ1d3CmhwbmFTU3ExYWJUNWNLeHVrcW1j
+WUtPaG9HVVBwTkZxckRUaktyQ3JYb1EKLT4gc3NoLWVkMjU1MTkgelpFb25nIFR5
+cHVTc1AzL01Nd2s4VXJvUnV3NmJJcVhlWUg1RlFrZ1JPenRIOXJmU1UKV3N6b0RC
+UytQR1pHS2Y1eWd0SVp4SEFKZEdGMnVaelk3Wmo0OGJmdjhSRQotPiBzc2gtZWQy
+NTUxOSA3SGZGVXcgaytkRW55SElRRjl2V0J3UkJhQ21MdHhNYUYwaEhQbWJFaGZI
+Y0xka0lEQQpNK1NNMkFSVVpJaUtTYmJ1RktRbGZwRll0VlpPWmhJazBCSy9CazhE
+RHdjCi0+ID1NPCEiNlh+LWdyZWFzZSAxQV4qcCBDTiBYQT1JWAorc2pYOXpFUndU
+MG1pZ1Nva0lPZ05SUXp5bnRzdXhVCi0tLSBlUFYvNGpEWnJkRU5ZeEFNcjk0RGFq
+djRrckxtM1A0cmRGWWRGMFpxR1FVCtpKqfGXr7cNAVGVT+4Yls+VsCv7Z3T9uxsg
+FS2IsCqGuhG+PyAM8EoeC6JHPw4+n3pOsps7GZ3mOpS3jGHwqYybQz0jeiQKYWLq
+BgGDH8O6MTIDv81rW923F2RrIDJTv1iANuRokBm+t4lnL3Xd1HqSvMz1inDI130m
+jj1IgmkQfgALIW6dBVINR0aE2lXcm2zfdvps/DM+rTWT2nhbkoysHzgCSnFl1/va
+YHFDR6o9aawP6NvrJGuaik5e/85z8cHeCna1vlD5WE2DPrJcGuciCl6mEMWeydVp
+yqS39ag5kwDzT1Knzwo+/ZgPmBsBDINF9yCtwPCbsH7scWPaS3WUQLvUqVUq3KPk
+5h/4vIkqMfBgBYGKoy8pPNSVtfYLpWiRzjPx41fOkR271hiFSLdYXHxlcYoxpfTT
+KaTky+K3MvwvwjJ9DOM90oBHxjzCOVOTgBkMm2QpuIxXRedRfEKrbJWt4wIfhL8R
+VlCQRuM8KrRs5a32hy6eMPn/RxwUzhXwWgH1lTrVli7g6+5NlU7BtGNCiBpMJFZX
+m0AuTHVxnmI6oiVKMdPoPBbOJ2qeievAcGqX/yb9+mrPeE7Bk3Y4l4x4UXm7xbFi
+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
+-----END AGE ENCRYPTED FILE-----