52 lines
1.7 KiB
Nix
52 lines
1.7 KiB
Nix
![]() |
{
|
||
|
config,
|
||
|
lib,
|
||
|
pkgs,
|
||
|
...
|
||
|
}:
|
||
|
|
||
|
{
|
||
|
environment.systemPackages = with pkgs; [
|
||
|
(lib.mkIf config.beancloud.software.nextcloud.client nextcloud-client)
|
||
|
(lib.mkIf config.beancloud.software.nextcloud.talk-desktop nextcloud-talk-desktop)
|
||
|
];
|
||
|
|
||
|
# in production use https://wiki.nixos.org/wiki/Comparison_of_secret_managing_schemes like https://github.com/Mic92/sops-nix
|
||
|
environment.etc = {
|
||
|
"nextcloud-admin-pass" = {
|
||
|
enable = config.beancloud.software.nextcloud.server.enable;
|
||
|
text = "demo123456";
|
||
|
target = "nextcloud/admin.password";
|
||
|
};
|
||
|
"nextcloud-secrets" = {
|
||
|
enable = config.beancloud.software.nextcloud.server.enable;
|
||
|
text = ''
|
||
|
{
|
||
|
"passwordsalt": "qXILOyHFVeOhoChoUodPfxWQhEUMcomBpyeyzZfBQYWwqBtguvKQOJQQiCrUWokP",
|
||
|
"secret": "WKXGlKIkvMhyTbJssZiLrcjBnWoHYkWOTgSAIIBGyaqjLuOsYTmyYXdsAIroskpk",
|
||
|
"instanceid": "nc1234567890"
|
||
|
}
|
||
|
'';
|
||
|
target = "nextcloud/secrets";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
# https://search.nixos.org/options?channel=25.05&show=services.nextcloud.secretFile&from=0&size=50&sort=relevance&type=packages&query=services.nextcloud.
|
||
|
services = {
|
||
|
nextcloud = {
|
||
|
enable = config.beancloud.software.nextcloud.server.enable;
|
||
|
package = pkgs.nextcloud30;
|
||
|
hostName = "localhost";
|
||
|
caching.redis = config.beancloud.software.nextcloud.server.enable;
|
||
|
configureRedis = config.beancloud.software.nextcloud.server.enable;
|
||
|
config = {
|
||
|
dbtype = "mysql";
|
||
|
adminpassFile = "/etc/" + config.environment.etc."nextcloud-admin-pass".target;
|
||
|
};
|
||
|
secretFile = "/etc/" + config.environment.etc."nextcloud-secrets".target;
|
||
|
database.createLocally = true;
|
||
|
autoUpdateApps.enable = true;
|
||
|
};
|
||
|
};
|
||
|
}
|