diff options
author | Soispha <soispha@vhack.eu> | 2023-10-01 22:37:43 +0200 |
---|---|---|
committer | Soispha <soispha@vhack.eu> | 2023-10-01 22:49:12 +0200 |
commit | cacaeac4d12885d0fb26e40d8c12d00c9237ac65 (patch) | |
tree | 28ce9b2285f2aa0c173c435ded53d7ae97b685c8 | |
parent | fix(hm/conf/lf/keybinds): Add keymap to go to nixos-server config (diff) | |
download | nixos-config-cacaeac4d12885d0fb26e40d8c12d00c9237ac65.tar.gz nixos-config-cacaeac4d12885d0fb26e40d8c12d00c9237ac65.zip |
feat(hm/conf/taskwarrior): Add taskserver based syncing
-rw-r--r-- | .gitattributes | 1 | ||||
-rw-r--r-- | hm/soispha/conf/taskwarrior/default.nix | 21 | ||||
-rw-r--r-- | hm/soispha/conf/taskwarrior/taskd/user_id.nix | bin | 0 -> 84 bytes | |||
-rw-r--r-- | sys/secrets/default.nix | 19 | ||||
-rw-r--r-- | sys/secrets/secrets.nix | 4 | ||||
-rw-r--r-- | sys/secrets/taskserver/ca.cert | 50 | ||||
-rw-r--r-- | sys/secrets/taskserver/private.key | 81 | ||||
-rw-r--r-- | sys/secrets/taskserver/public.cert | 52 |
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----- |