diff options
| author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-07-30 14:05:39 +0200 |
|---|---|---|
| committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-07-30 14:05:39 +0200 |
| commit | c153a351659e4596acfc31f00bf594343cbfcd68 (patch) | |
| tree | a9ed83de07711d6424fbea09aad28891bae5bfe4 /modules/by-name/ne/nextcloud | |
| parent | hosts/server3: Setup prometheus server in agent mode (diff) | |
| download | nixos-server-c153a351659e4596acfc31f00bf594343cbfcd68.zip | |
modules: Use namespaces
That might make it easier in the future to merge different server
configs together (and thusly facilitate code-reuse.).
Diffstat (limited to 'modules/by-name/ne/nextcloud')
| -rw-r--r-- | modules/by-name/ne/nextcloud/module.nix | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/modules/by-name/ne/nextcloud/module.nix b/modules/by-name/ne/nextcloud/module.nix deleted file mode 100644 index f91ddae..0000000 --- a/modules/by-name/ne/nextcloud/module.nix +++ /dev/null @@ -1,87 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: let - cfg = config.vhack.nextcloud; -in { - options.vhack.nextcloud = { - enable = lib.mkEnableOption "a sophisticated nextcloud setup"; - package = lib.mkOption { - type = lib.types.package; - default = pkgs.nextcloud32; - description = "The nextcloud package to use"; - }; - hostname = lib.mkOption { - type = lib.types.str; - description = "The nextcloud hostname (fqdn)"; - }; - adminpassFile = lib.mkOption { - type = lib.types.path; - description = "The age encrypted admin password file"; - }; - }; - - config = lib.mkIf cfg.enable { - vhack = { - nginx.enable = true; - postgresql.enable = true; - persist.directories = [ - "/var/lib/nextcloud" - ]; - }; - age.secrets = { - adminpassFile = { - file = cfg.adminpassFile; - mode = "0700"; - owner = "nextcloud"; - group = "nextcloud"; - }; - }; - - services = { - nextcloud = { - enable = true; - inherit (cfg) package; - - extraApps = { - inherit (cfg.package.packages.apps) calendar contacts tasks; - }; - extraAppsEnable = true; - configureRedis = true; - config = { - adminuser = "admin"; - adminpassFile = config.age.secrets.adminpassFile.path; - dbname = "nextcloud"; - dbuser = "nextcloud"; - dbtype = "pgsql"; - }; - database.createLocally = true; - hostName = cfg.hostname; - https = true; - maxUploadSize = "5G"; - settings = { - default_phone_region = "DE"; - }; - }; - nginx.virtualHosts.${cfg.hostname} = { - forceSSL = true; - enableACME = true; - }; - }; - users = { - users = { - "nextcloud".uid = config.vhack.constants.ids.uids.nextcloud; - "redis-nextcloud" = { - uid = config.vhack.constants.ids.uids.redis-nextcloud; - group = "redis-nextcloud"; - }; - }; - groups = { - "nextcloud".gid = config.vhack.constants.ids.gids.nextcloud; - "redis-nextcloud".gid = config.vhack.constants.ids.gids.redis-nextcloud; - }; - }; - }; -} |
