Compare commits

...

2 commits

Author SHA1 Message Date
cy
3f68b25133
fix roundcube static files 2025-02-08 12:23:32 -05:00
cy
a1c82ab6f3
add roundcube 2025-02-08 01:30:04 -05:00
5 changed files with 54 additions and 1 deletions

View file

@ -111,7 +111,7 @@
nixpkgs-review nixpkgs-review
just just
hugo hugo
ghidra-bin ghidra
sequoia sequoia
sccache sccache
awscli2 awscli2

View file

@ -205,4 +205,6 @@
}; };
virtualisation.oci-containers.backend = "podman"; virtualisation.oci-containers.backend = "podman";
environment.enableAllTerminfo = true; environment.enableAllTerminfo = true;
my.roundcube.enable = true;
} }

View file

@ -177,6 +177,7 @@
sbctl # secure boot sbctl # secure boot
wine-wayland wine-wayland
wine64 wine64
solaar
]; ];
environment.sessionVariables = { environment.sessionVariables = {

View file

@ -3,5 +3,6 @@
imports = [ imports = [
./backup.nix ./backup.nix
./caddy.nix ./caddy.nix
./roundcube.nix
]; ];
} }

49
modules/roundcube.nix Normal file
View file

@ -0,0 +1,49 @@
{ config, lib, pkgs, ... }:
let
cfg = config.my.roundcube;
fpm = config.services.phpfpm.pools.roundcube;
roundcube = config.services.roundcube;
in
{
options.my.roundcube = {
enable = lib.mkEnableOption "roundcube webmail";
};
config = lib.mkIf cfg.enable {
services.roundcube = {
enable = true;
configureNginx = false;
package = pkgs.roundcube.withPlugins (p: with p; [
persistent_login
contextmenu
custom_from
thunderbird_labels
]);
plugins = [
"persistent_login"
"contextmenu"
"custom_from"
"thunderbird_labels"
];
dicts = with pkgs.aspellDicts; [ en ];
extraConfig = ''
$config['imap_host'] = "ssl://imap.migadu.com:993";
$config['smtp_host'] = "ssl://smtp.migadu.com:465";
$config['smtp_user'] = "%u";
$config['smtp_pass'] = "%p";
'';
};
services.phpfpm.pools.roundcube.settings = lib.mapAttrs (name: lib.mkForce) {
"listen.owner" = "caddy";
"listen.group" = "caddy";
};
services.caddy.virtualHosts."mail.cy7.sh".extraConfig = ''
import common
root ${roundcube.package}
php_fastcgi unix/${fpm.socket}
file_server
'';
};
}