nixcfg/systems/x86_64-linux/mx/nextcloud.nix
Harald Hoyer 27d41ed91d feat(nextcloud): update service dependencies and apps
Include `config` in function parameters for better configurability. Removed unnecessary Nextcloud apps such as `files_texteditor`, `files_markdown`, `twofactor_backupcodes`, and `twofactor_totp` to streamline service setup.
2024-12-06 13:23:47 +01:00

72 lines
1.8 KiB
Nix

{ pkgs, lib, config, ... }:
{
systemd.services."nextcloud-setup".requires = [ "postgresql.service" ];
systemd.services."nextcloud-setup".after = [ "postgresql.service" ];
environment.systemPackages = with pkgs; [ ffmpeg ];
environment.etc."nextcloud-admin-pass".text = "test123";
services.nextcloud = {
enable = true;
package = pkgs.nextcloud30;
extraApps = {
inherit (config.services.nextcloud.package.packages.apps)
calendar
contacts
mail
notes
spreed
tasks
;
};
hostName = "nc.hoyer.xyz";
https = true;
configureRedis = true;
settings = {
maintenance_window_start = "1";
log_type = "file";
mail_smtpmode = "sendmail";
mail_sendmailmode = "pipe";
default_phone_region = "DE";
enabledPreviewProviders = [
"OC\\Preview\\BMP"
"OC\\Preview\\GIF"
"OC\\Preview\\HEIC"
"OC\\Preview\\JPEG"
"OC\\Preview\\JXL"
"OC\\Preview\\Krita"
"OC\\Preview\\MP3"
"OC\\Preview\\MP4"
"OC\\Preview\\MarkDown"
"OC\\Preview\\Movie"
"OC\\Preview\\OpenDocument"
"OC\\Preview\\PDF"
"OC\\Preview\\PNG"
"OC\\Preview\\TXT"
"OC\\Preview\\WEBP"
"OC\\Preview\\XBitmap"
];
};
phpOptions = {
upload_max_filesize = lib.mkForce "1G";
post_max_size = lib.mkForce "1G";
"opcache.interned_strings_buffer" = "16";
};
config.adminpassFile = "/etc/nextcloud-admin-pass";
config.dbtype = "pgsql";
config.dbname = "nextcloud";
config.dbhost = "/run/postgresql";
config.dbuser = "nextcloud";
};
services.postgresql = {
ensureDatabases = [ "nextcloud" ];
ensureUsers = [
{
name = "nextcloud";
ensureDBOwnership = true;
}
];
};
}