mirror of
https://gitlab.com/upRootNutrition/dotfiles.git
synced 2025-12-06 21:17:14 -06:00
test: added roundcube
This commit is contained in:
parent
ef84461b04
commit
3773d01b25
12 changed files with 101 additions and 2 deletions
43
modules/config/instances/config/roundcube.nix
Executable file
43
modules/config/instances/config/roundcube.nix
Executable file
|
|
@ -0,0 +1,43 @@
|
||||||
|
{ moduleFunctions }:
|
||||||
|
let
|
||||||
|
inherit (moduleFunctions.instancesFunctions)
|
||||||
|
domain0
|
||||||
|
servicePath
|
||||||
|
sslPath
|
||||||
|
sopsPath
|
||||||
|
;
|
||||||
|
|
||||||
|
label = "Roundcube";
|
||||||
|
name = "roundcube";
|
||||||
|
subdomain = "mail";
|
||||||
|
domain = "${subdomain}.${domain0}";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
label = label;
|
||||||
|
name = name;
|
||||||
|
short = "Round";
|
||||||
|
email = {
|
||||||
|
address0 = "noreply@${domain0}";
|
||||||
|
};
|
||||||
|
sops = {
|
||||||
|
path0 = "${sopsPath}/${name}";
|
||||||
|
};
|
||||||
|
domains = {
|
||||||
|
url0 = domain;
|
||||||
|
};
|
||||||
|
subdomain = subdomain;
|
||||||
|
tags = [
|
||||||
|
name
|
||||||
|
"email"
|
||||||
|
];
|
||||||
|
paths = {
|
||||||
|
path0 = "${servicePath}/${label}";
|
||||||
|
};
|
||||||
|
ports = {
|
||||||
|
port0 = 9999;
|
||||||
|
};
|
||||||
|
ssl = {
|
||||||
|
cert = "${sslPath}/${domain}/fullchain.pem";
|
||||||
|
key = "${sslPath}/${domain}/key.pem";
|
||||||
|
};
|
||||||
|
}
|
||||||
0
modules/home/cli/utilities/rsync/default.nix
Normal file → Executable file
0
modules/home/cli/utilities/rsync/default.nix
Normal file → Executable file
0
modules/home/gui/apps/browsers/floorp/config/extensions/settings/socialfocus.txt
Normal file → Executable file
0
modules/home/gui/apps/browsers/floorp/config/extensions/settings/socialfocus.txt
Normal file → Executable file
0
modules/home/gui/apps/browsers/floorp/config/extensions/settings/untrapforyoutube.txt
Normal file → Executable file
0
modules/home/gui/apps/browsers/floorp/config/extensions/settings/untrapforyoutube.txt
Normal file → Executable file
0
modules/home/gui/apps/messaging/thunderbird/default.nix
Normal file → Executable file
0
modules/home/gui/apps/messaging/thunderbird/default.nix
Normal file → Executable file
0
modules/home/gui/apps/messaging/thunderbird/themes/macchiato-mauve.xpi
Normal file → Executable file
0
modules/home/gui/apps/messaging/thunderbird/themes/macchiato-mauve.xpi
Normal file → Executable file
0
modules/home/gui/apps/messaging/thunderbird/themes/mocha-mauve.xpi
Normal file → Executable file
0
modules/home/gui/apps/messaging/thunderbird/themes/mocha-mauve.xpi
Normal file → Executable file
0
modules/home/gui/apps/tools/ivpn/default.nix
Normal file → Executable file
0
modules/home/gui/apps/tools/ivpn/default.nix
Normal file → Executable file
0
modules/nixos/services/ivpn/default.nix
Normal file → Executable file
0
modules/nixos/services/ivpn/default.nix
Normal file → Executable file
55
modules/nixos/services/roundcube/default.nix
Executable file
55
modules/nixos/services/roundcube/default.nix
Executable file
|
|
@ -0,0 +1,55 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
flake,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (flake.config.services.instances) roundcube web;
|
||||||
|
|
||||||
|
service = roundcube;
|
||||||
|
host = service.domains.address0;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
services = {
|
||||||
|
roundcube = {
|
||||||
|
enable = true;
|
||||||
|
configureNginx = false;
|
||||||
|
dicts = builtins.attrValues {
|
||||||
|
inherit (pkgs.aspellDicts)
|
||||||
|
en
|
||||||
|
;
|
||||||
|
};
|
||||||
|
plugins = [
|
||||||
|
];
|
||||||
|
# hostName = host;
|
||||||
|
database = {
|
||||||
|
host = web.localhost.address1;
|
||||||
|
dbname = service.name;
|
||||||
|
username = "";
|
||||||
|
passwordFile = config.sops.secrets."${service.name}-pass".path;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
sops =
|
||||||
|
let
|
||||||
|
sopsPath = secret: {
|
||||||
|
path = "${service.sops.path0}/${service.name}-${secret}";
|
||||||
|
owner = "root";
|
||||||
|
mode = "600";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
secrets = builtins.listToAttrs (
|
||||||
|
map
|
||||||
|
(secret: {
|
||||||
|
name = "${service.name}-${secret}";
|
||||||
|
value = sopsPath secret;
|
||||||
|
})
|
||||||
|
[
|
||||||
|
"pass"
|
||||||
|
]
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
0
modules/nixos/services/zookeeper/default.nix
Normal file → Executable file
0
modules/nixos/services/zookeeper/default.nix
Normal file → Executable file
|
|
@ -53,6 +53,7 @@ wifi-home: ENC[AES256_GCM,data:5NYSCUyalDf7gZF7WaRQJCo=,iv:RkVZKsmVEBg5M28DSkBD4
|
||||||
firefly-iii-pass: ENC[AES256_GCM,data:gy7CuAy2PqKyr/+fHjHuKosj7Mi2cfOop4bLew0vZtH9i6IbTs+3wQb1bk5OMmQgMTbm,iv:R+IK4mEuZMhAz5R+9HyL2zscISc+yrSoipcwMiwNL18=,tag:2GF+O7YKXKgFCUGvbZyQKQ==,type:str]
|
firefly-iii-pass: ENC[AES256_GCM,data:gy7CuAy2PqKyr/+fHjHuKosj7Mi2cfOop4bLew0vZtH9i6IbTs+3wQb1bk5OMmQgMTbm,iv:R+IK4mEuZMhAz5R+9HyL2zscISc+yrSoipcwMiwNL18=,tag:2GF+O7YKXKgFCUGvbZyQKQ==,type:str]
|
||||||
firefly-iii-data: ENC[AES256_GCM,data:EY/CNiSrnmUjotIshk4KqJ2P7IMpiXYyBr7NeYcI69k=,iv:bocGJHNLMAfHFjs3/6wwxwYqq0qar/uNrwppK+MQjBg=,tag:2H5TD6bd9PUgN7BWkwNuzA==,type:str]
|
firefly-iii-data: ENC[AES256_GCM,data:EY/CNiSrnmUjotIshk4KqJ2P7IMpiXYyBr7NeYcI69k=,iv:bocGJHNLMAfHFjs3/6wwxwYqq0qar/uNrwppK+MQjBg=,tag:2H5TD6bd9PUgN7BWkwNuzA==,type:str]
|
||||||
firefly-iii-smtp: ENC[AES256_GCM,data:B4DK2AMxnCvcrsxSHeYVhw==,iv:eS5s+ir0iXYDOI/Wu4Hx3twlvgIpYlAdgYtuMRKRZaE=,tag:CPy8chfW8doxeubmbSdDUg==,type:str]
|
firefly-iii-smtp: ENC[AES256_GCM,data:B4DK2AMxnCvcrsxSHeYVhw==,iv:eS5s+ir0iXYDOI/Wu4Hx3twlvgIpYlAdgYtuMRKRZaE=,tag:CPy8chfW8doxeubmbSdDUg==,type:str]
|
||||||
|
roundcube-pass: ENC[AES256_GCM,data:vLvNVgiOQKIIoBhFD2if4Ct/1qugwe6i9OG8rB4sv4o=,iv:iJJlzgIocPe3ty67C39MF09FkU+p7hqd+GLnE0PBJAA=,tag:kzPVQP55YwMeYHrrsHFHJQ==,type:str]
|
||||||
sops:
|
sops:
|
||||||
age:
|
age:
|
||||||
- recipient: age19dpncsdphdt2tmknjs99eghk527pvdrw0m29qjn2z2gg3et5tdtqycqhl0
|
- recipient: age19dpncsdphdt2tmknjs99eghk527pvdrw0m29qjn2z2gg3et5tdtqycqhl0
|
||||||
|
|
@ -64,7 +65,7 @@ sops:
|
||||||
bXBOa1VSakoyaWxpODJEOU11QUZCaUEK8Ch9Ten3DdrPHF1DTH2qei85AlHUOaLD
|
bXBOa1VSakoyaWxpODJEOU11QUZCaUEK8Ch9Ten3DdrPHF1DTH2qei85AlHUOaLD
|
||||||
aNfzakake7ej+MxJYdKEU0bcWofNMKzIlZa2uM10KZSENDP8d8qlig==
|
aNfzakake7ej+MxJYdKEU0bcWofNMKzIlZa2uM10KZSENDP8d8qlig==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2025-10-21T00:28:55Z"
|
lastmodified: "2025-10-22T04:01:59Z"
|
||||||
mac: ENC[AES256_GCM,data:XE14EOcNeBJLY8wvLiJEk1mrkF6T1xCQ1Qwm7WnM/vkb/hjuqs9/Tf561If7+/Kg01R2L+VAWrDRAJOiw0sBYEb6JvFttefHXc7xmX6RPlcM4yRbQ3wuSAdfKptwn1IE1xRH5atSngh+I2P9UYA8C9sEXTGoIyGq4kDtChM+faY=,iv:oh1LQl8F32fGBZbd4eNf4kaSHp2Qgn6y0yWVFs4/aDY=,tag:BBfgbYNVMTy++1q5MMnDOQ==,type:str]
|
mac: ENC[AES256_GCM,data:SFkPPrRy+Ezp/iKYKiFq9V2a0LDnP6RIznqwPSZ5RDz+7yXXTR0vyyphSPnSC7y28GEkP9OaFlNyH19G9SoEo1z/A1gCqWUqBK1RN06+k3LKbxIdkvynmPBZl/4/A2L/qGixyWoaG6UylzsQkzq9HVAntaADwB42zX3thkd7wlk=,iv:Oslk/YFON3F3BnlOgOofI2nSxLAvyc1uyq6OpCcTfuI=,tag:Jk4mgv7hEG5UZxTCZGmSbQ==,type:str]
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.11.0
|
version: 3.11.0
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue