diff --git a/modules/config/instances/config/roundcube.nix b/modules/config/instances/config/roundcube.nix new file mode 100755 index 0000000..980d508 --- /dev/null +++ b/modules/config/instances/config/roundcube.nix @@ -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"; + }; +} diff --git a/modules/home/cli/utilities/rsync/default.nix b/modules/home/cli/utilities/rsync/default.nix old mode 100644 new mode 100755 diff --git a/modules/home/gui/apps/browsers/floorp/config/extensions/settings/socialfocus.txt b/modules/home/gui/apps/browsers/floorp/config/extensions/settings/socialfocus.txt old mode 100644 new mode 100755 diff --git a/modules/home/gui/apps/browsers/floorp/config/extensions/settings/untrapforyoutube.txt b/modules/home/gui/apps/browsers/floorp/config/extensions/settings/untrapforyoutube.txt old mode 100644 new mode 100755 diff --git a/modules/home/gui/apps/messaging/thunderbird/default.nix b/modules/home/gui/apps/messaging/thunderbird/default.nix old mode 100644 new mode 100755 diff --git a/modules/home/gui/apps/messaging/thunderbird/themes/macchiato-mauve.xpi b/modules/home/gui/apps/messaging/thunderbird/themes/macchiato-mauve.xpi old mode 100644 new mode 100755 diff --git a/modules/home/gui/apps/messaging/thunderbird/themes/mocha-mauve.xpi b/modules/home/gui/apps/messaging/thunderbird/themes/mocha-mauve.xpi old mode 100644 new mode 100755 diff --git a/modules/home/gui/apps/tools/ivpn/default.nix b/modules/home/gui/apps/tools/ivpn/default.nix old mode 100644 new mode 100755 diff --git a/modules/nixos/services/ivpn/default.nix b/modules/nixos/services/ivpn/default.nix old mode 100644 new mode 100755 diff --git a/modules/nixos/services/roundcube/default.nix b/modules/nixos/services/roundcube/default.nix new file mode 100755 index 0000000..768f528 --- /dev/null +++ b/modules/nixos/services/roundcube/default.nix @@ -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" + ] + ); + }; + +} diff --git a/modules/nixos/services/zookeeper/default.nix b/modules/nixos/services/zookeeper/default.nix old mode 100644 new mode 100755 diff --git a/secrets/secrets.yaml b/secrets/secrets.yaml index c0a5dcd..2bc7031 100755 --- a/secrets/secrets.yaml +++ b/secrets/secrets.yaml @@ -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-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] +roundcube-pass: ENC[AES256_GCM,data:vLvNVgiOQKIIoBhFD2if4Ct/1qugwe6i9OG8rB4sv4o=,iv:iJJlzgIocPe3ty67C39MF09FkU+p7hqd+GLnE0PBJAA=,tag:kzPVQP55YwMeYHrrsHFHJQ==,type:str] sops: age: - recipient: age19dpncsdphdt2tmknjs99eghk527pvdrw0m29qjn2z2gg3et5tdtqycqhl0 @@ -64,7 +65,7 @@ sops: bXBOa1VSakoyaWxpODJEOU11QUZCaUEK8Ch9Ten3DdrPHF1DTH2qei85AlHUOaLD aNfzakake7ej+MxJYdKEU0bcWofNMKzIlZa2uM10KZSENDP8d8qlig== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-10-21T00:28:55Z" - mac: ENC[AES256_GCM,data:XE14EOcNeBJLY8wvLiJEk1mrkF6T1xCQ1Qwm7WnM/vkb/hjuqs9/Tf561If7+/Kg01R2L+VAWrDRAJOiw0sBYEb6JvFttefHXc7xmX6RPlcM4yRbQ3wuSAdfKptwn1IE1xRH5atSngh+I2P9UYA8C9sEXTGoIyGq4kDtChM+faY=,iv:oh1LQl8F32fGBZbd4eNf4kaSHp2Qgn6y0yWVFs4/aDY=,tag:BBfgbYNVMTy++1q5MMnDOQ==,type:str] + lastmodified: "2025-10-22T04:01:59Z" + mac: ENC[AES256_GCM,data:SFkPPrRy+Ezp/iKYKiFq9V2a0LDnP6RIznqwPSZ5RDz+7yXXTR0vyyphSPnSC7y28GEkP9OaFlNyH19G9SoEo1z/A1gCqWUqBK1RN06+k3LKbxIdkvynmPBZl/4/A2L/qGixyWoaG6UylzsQkzq9HVAntaADwB42zX3thkd7wlk=,iv:Oslk/YFON3F3BnlOgOofI2nSxLAvyc1uyq6OpCcTfuI=,tag:Jk4mgv7hEG5UZxTCZGmSbQ==,type:str] unencrypted_suffix: _unencrypted version: 3.11.0