feat: a bunch of services...!

This commit is contained in:
Kat Inskip 2024-05-26 15:51:05 -07:00
parent 79ebb1a48e
commit 7f6562ea70
Signed by: kat
GPG key ID: 465E64DECEA8CF0F
13 changed files with 214 additions and 76 deletions

View file

@ -1,9 +0,0 @@
_: {
services.monica = {
enable = true;
appURL = "https://monica.gensokyo.zone";
nginx = {
serverName = "monica.gensokyo.zone";
};
};
}

View file

@ -0,0 +1,19 @@
{ config, ... }: {
sops.secrets.monica_appkey = {
sopsFile = ./secrets.yaml;
owner = config.services.monica.user;
group = config.services.monica.group;
};
services.monica = {
enable = true;
appURL = "https://monica.kittywit.ch";
appKeyFile = config.sops.secrets.monica_appkey.path;
nginx = {
serverAliases = [
"monica.kittywit.ch"
];
enableACME = true;
forceSSL = true;
};
};
}

View file

@ -0,0 +1,69 @@
monica_appkey: ENC[AES256_GCM,data:rYdMfA3bpd6Bwadz571F9f1kLPcBxJw0ItEy9cvglpFSymPTaAeiXYUS9PY=,iv:7dY+1De20Y29e/sscyRny568+HeJlgOKodi/KhPIYoU=,tag:4oFTZKXt2PkCfiVrzhCjWA==,type:str]
sops:
shamir_threshold: 1
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1n4kdchmkk3rfkaknxhveqr2ftprdpgwckutt23y6u8639lazzuks77tgav
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBESzlBSHJsOENzdTNqV1F3
NTVIMTh2bGpCOHdOck1EdDBDWHUzZEVpaGlZCmxoMmdNd3V4em51TFhHZ3JUVFc2
TUs1b3didUFveEFxckttZ1pJbHlDY0kKLS0tIEEwOVh3eGNXU082UTNkWnpWRVpm
M2w1bmFVcGYzdE02WXg4bitIbkVUbnMKjR/W5pFl9aTHgvrelap2SP/R6GPO49UH
3qUeHE2U1EKvwIGYeRJ6UbKsXzQFsB4a9XZmH4ZQCwLv8F0oQpPtDg==
-----END AGE ENCRYPTED FILE-----
- recipient: age1cnu37d5fqyahh9vvc4hj6z6k8ur9ksuefln7sr6g3emmn927eutqxdawuh
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDQ3ZxdS9DN0p2R0lNL1dH
K2NRVmZHQ3VRbGJYTjB3UTBTQWRFS3JkYWhNCmYwcEovNHNzekp0enRZV3FWbi9E
a0JVaFZiNWVVdldjbjRadTUralhKNTAKLS0tIEZhS2RzV2RjZ2UzT2wwM0ZCZ094
VkZsT2pxTWVLT2NJZW5TWU1NL0JORXcKQ5naymQ0dqXeewMlGvR6LNx+pHvoSZvP
L3s+1GNiI0KhKm3SIgP8eFjslEiMuI99jLnha82yDf0g5aMSXOBiXQ==
-----END AGE ENCRYPTED FILE-----
- recipient: age1nr0qds8w3gldmdvhwu0p6w2ys8f4sd0h3xy94h9dsafjzttaypxquzmswc
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwcmMycmRuRCtXVGRMdU1U
RkFTaGpnTWFDbzBabFpIOXBtUVNJNzJLMVdNCnpPQzBaR3BFQitFNFJvV3d2UVFh
bUFUcmdVNHRzZlFZZXIrZGF2NzFkaU0KLS0tIEZjS0RsOVVCbEdjbENCbjdFZ0w3
SDZSWFFmOENLR2toVmhCamo5Q0dYcW8KVKDsoU6yw8V7L7noYfzs5g2pU2b8eACx
ZfYEVTgIn6zOrqogVrJBrB/xSOoJ1qNGUbfnqRiQVEdvZFHBzK9LXg==
-----END AGE ENCRYPTED FILE-----
- recipient: age18hpxz0ghvswv9k30cle73prvnzrsuczqh87jjdk9fl50j3ddndmq9xae0n
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5MG1tWEZIWDJMTHBVRHh2
QzFqTjBPQkk5N2FneGZiYkhuTDJPNWkxMjNFCjcrZ3QvOElJN3l1dk5DS3ROY3Ix
SDlIaWs0bzBLaDJRMW9YdXVLVXA3b0EKLS0tIFBOY0NWRVFKUFNBNVdaWnVnZERP
TXlHaXZaY3MzN2EyalBDTDdNenAySWcKuTv64DNd5Kq2u1DkkpMLWdJHamiwa7ur
g4uKsJ+cfQqutPww6r38Zk4FgMh4Qb4/UP+wlaY1DzuV+kr/5kl+MQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-05-24T18:40:26Z"
mac: ENC[AES256_GCM,data:llJ9lZSWogYuVeRJRNfeg3GchCPWvtTKaxNOHYScXBTjs7x37Wx2PCG+QC2hj8p5+BgtI6au+d7qMOSxhiCBVciVyIdeYeM/CVyb8nY08MQZuDBoS6R1MT6qISrtbOI+xA/HEZZtj7sDfyo/LwCi6sjEu132EmufD+iryIsLbx8=,iv:D7AStvmItKZdQWgKh5GcoJ4OAB/1VtZ571bGrkZffNs=,tag:lRtMvscOhtagthAX9S6PmQ==,type:str]
pgp:
- created_at: "2024-05-24T18:40:06Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA82M54yws73UARAAgwAlfd37omj414xR3ONNibAx3gHCqo9JKZka+/r3AshX
lx0MuCV4Wr601AELnfBG2lpQDL7fomDSvaDaF8c27zshZi4jqsXmZ40Z/j2muHbv
e2kR1JRYmEjq8KoeIvuzUQ4B30ygejp1R4nXyOG5QLwUkYLoZlkWfz5C81htD5IR
C7zt0XZWVFSci74M9EDnIBBB6KPaw/zmulE84se5U6UwvZnJ+yEgLGm5Nze1KZOF
XoEvuwtlQC7mLcM7PO2Xe/PVwyG+GTsrrBu/8JDAQ0o4UbDpGwwqzzXb5t57PyjC
Y78xJ4AR/b2SEPiEbgi8x4BVSBtTw8jwV6yoRsgI6Oh9vkv7W2rKMswfb9vIqE2t
ASeNWwOY+k81mr60L9jlRdwu7Q+nAJ5b/fWRPLeH3PC/g1CI5ZKmjxV555oGb3l3
IB5PfyN9fLVzHgYTrburjLKsx3QgyDRpJqj7LeON5T+oLj9wDUSTNiiHJ+ihn/dI
bafcgQnpOXwta2kvMcj8Janl76H3zwfGyaKLkCZzWcDv8BCPtb4EAxJ3pkGia0ni
53EjNYz7uiPGsDZFlrAYzJWisgScxYZ2kJO0ltPSBSW2wYee593W/JBuKU+ibxnx
bKgB/GNhqs48JPOdwZ0k5/U82n7nYPRktNs/oGto/HNev0hC8L3licZEMGt5koTS
UQFfTeKLMcjFun+xSwMLPE2gD2llvES4IpZlfb2x4DBQmuzWJT3xjWN46U9/ci9D
Ov14WBRq6olIMSaCUoQP55auXWrvQ7Do3HkSifkrLLJkpA==
=u7Uj
-----END PGP MESSAGE-----
fp: CD8CE78CB0B3BDD4
unencrypted_suffix: _unencrypted
version: 3.8.1

View file

@ -0,0 +1,8 @@
_: {
services.nginx = {
virtualHosts."rss.kittywit.ch" = {
enableACME = true;
forceSSL = true;
};
};
}

View file

@ -0,0 +1,11 @@
_: {
services.postgresql = {
ensureDatabases = ["tt_rss"];
ensureUsers = [
{
name = "tt_rss";
ensureDBOwnership = true;
}
];
};
}

View file

@ -0,0 +1,20 @@
{ pkgs, ... }: {
services.tt-rss = {
enable = true;
virtualHost = "rss.kittywit.ch";
selfUrlPath = "https://rss.kittywit.ch";
database = {
type = "pgsql";
host = null;
name = "tt_rss";
createLocally = false;
};
plugins = [
"auth_internal"
"auth_ldap"
"note"
"updater"
"api_feedreader"
];
};
}

View file

@ -1,17 +1,17 @@
{ config, std, inputs, ... }: let
inherit (std) list set;
in {
services.weechat.enable = true;
home-manager.users.kat.programs.weechat.config.buflist.format = with set.map (_: v: "colour${builtins.toString (list.unsafeHead v)}") inputs.base16.lib.base16.shell.mapping256; {
indent = "\${if:\${merged}?\${if:\${buffer.prev_buffer.number}!=\${buffer.number}?:\${if:\${buffer.next_buffer.number}==\${buffer.number}?:\${if:\${buffer.next_buffer.name}=~^server||\${buffer.next_buffer.number}<0?:}}}:\${if:\${buffer.active}>0?\${if:\${buffer.next_buffer.name}=~^server?:\${if:\${buffer.next_buffer.number}>0?:}}:\${if:\${buffer.next_buffer.name}=~^server? :}}}";
buffer_current = "\${color:,${base0D}}\${format_buffer}";
hotlist = " \${color:${base0B}}(\${hotlist}\${color:${base0B}})";
hotlist_highlight = "\${color:${base08}}";
hotlist_low = "\${color:${base06}}";
hotlist_message = "\${color:${base0C}}";
hotlist_none = "\${color:${base06}}";
hotlist_private = "\${color:${base09}}";
hotlist_separator = "\${color:${base04}},";
number = "\${color:${base07}}\${number}\${if:\${number_displayed}?.: }";
{ config, ... }: {
home-manager.users.kat.programs.weechat.config.buflist = {
format = with config.base16.defaultScheme.map.ansiStr; {
indent = " "; # default " "
buffer_current = "\${color:,${base02}}\${format_buffer}";
hotlist = " \${color:${base0D}}(\${hotlist}\${color:${base0D}})";
hotlist_highlight = "\${color:${base0E}}";
hotlist_low = "\${color:${base03}}";
hotlist_message = "\${color:${base08}}";
hotlist_none = "\${color:${base05}}";
hotlist_private = "\${color:${base09}}";
hotlist_separator = "\${color:${base04}},";
number = "\${color:${base09}}\${number}\${if:\${number_displayed}?.: }";
};
look.use_items = 4;
};
}

View file

@ -5,7 +5,7 @@ in {
services.weechat.enable = true;
programs.weechat = {
enable = true;
config.weechat = with set.map (_: v: "colour${builtins.toString (list.unsafeHead v)}") inputs.base16.lib.base16.shell.mapping256; {
config.weechat = with config.base16.defaultScheme.map.ansiStr; {
look = {
mouse = true;
separator_horizontal = "";