From 14bf297897a1ddfdf8aff21974af8bbb6188ed80 Mon Sep 17 00:00:00 2001 From: sora-ext Date: Wed, 3 Jun 2026 17:20:36 +0200 Subject: [PATCH] Update modules/shared/syscfg/server.nix --- modules/shared/syscfg/server.nix | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/modules/shared/syscfg/server.nix b/modules/shared/syscfg/server.nix index 0f9da90..d898b13 100644 --- a/modules/shared/syscfg/server.nix +++ b/modules/shared/syscfg/server.nix @@ -3,16 +3,32 @@ let in with lib; { domain = mkOption { type = types.str; }; - mailDomain = mkOption { type = types.str; }; - mailServer = mkOption { type = types.str; }; + mail = { + domain = mkOption { type = types.str; default = null;}; + server = mkOption { type = types.str; default = null;}; - configPath = mkOption { - type = types.str; - default = "/media/config"; }; - dataPath = mkOption { - type = types.str; - default = "/media/data"; + + path = mkOption { + type = types.submodule { + freeformType = types.attrsOf types.str; + options = { + config = mkOption { type = types.str; default = "/media/config"; }; + data = mkOption { type = types.str; default = "/media/data"; }; + download = mkOption { type = types.str; default = "/media/data/download"; }; + cloud = mkOption { type = types.str; default ="/media/media/cloud"; }; + film = mkOption { type = types.str; default ="/media/media/film"; }; + book = mkOption { type = types.str; default ="/media/media/book"; }; + manga = mkOption { type = types.str; default ="/media/media/manga"; }; + photo = mkOption { type = types.str; default ="/media/media/photo"; }; + # music = mkOption { type = types.str; default ="/media/media/music"; }; + + dlComplete = mkOption { type = types.str; default ="/media/download/complete"; }; + dlIncomplete = mkOption { type = types.str; default ="/media/download/incomplete"; }; + dlConverted = mkOption { type = types.str; default ="/media/download/converted"; }; + }; + }; + default = {}; }; colorScheme = mkOption {