gogs: avoid creating symlinks each run

+11 -4
+10
nixos/modules/services/misc/gogs.nix
··· 25 HTTP_ADDR = ${cfg.httpAddress} 26 HTTP_PORT = ${toString cfg.httpPort} 27 ROOT_URL = ${cfg.rootUrl} 28 29 [session] 30 COOKIE_NAME = session ··· 175 ''; 176 }; 177 178 extraConfig = mkOption { 179 type = types.str; 180 default = ""; ··· 195 runConfig = "${cfg.stateDir}/custom/conf/app.ini"; 196 secretKey = "${cfg.stateDir}/custom/conf/secret_key"; 197 in '' 198 # copy custom configuration and generate a random secret key if needed 199 ${optionalString (cfg.useWizard == false) '' 200 mkdir -p ${cfg.stateDir}/custom/conf
··· 25 HTTP_ADDR = ${cfg.httpAddress} 26 HTTP_PORT = ${toString cfg.httpPort} 27 ROOT_URL = ${cfg.rootUrl} 28 + STATIC_ROOT_PATH = ${cfg.staticRootPath} 29 30 [session] 31 COOKIE_NAME = session ··· 176 ''; 177 }; 178 179 + staticRootPath = mkOption { 180 + type = types.str; 181 + default = "${pkgs.gogs.data}"; 182 + example = "/var/lib/gogs/data"; 183 + description = "Upper level of template and static files path."; 184 + }; 185 + 186 extraConfig = mkOption { 187 type = types.str; 188 default = ""; ··· 203 runConfig = "${cfg.stateDir}/custom/conf/app.ini"; 204 secretKey = "${cfg.stateDir}/custom/conf/secret_key"; 205 in '' 206 + mkdir -p ${cfg.stateDir} 207 + 208 # copy custom configuration and generate a random secret key if needed 209 ${optionalString (cfg.useWizard == false) '' 210 mkdir -p ${cfg.stateDir}/custom/conf
+1 -4
pkgs/applications/version-management/gogs/default.nix
··· 33 cp -R $src/{public,templates} $data 34 35 wrapProgram $bin/bin/gogs \ 36 - --prefix PATH : ${makeBinPath [ bash git gzip openssh ]} \ 37 - --run 'export GOGS_WORK_DIR=''${GOGS_WORK_DIR:-$PWD}' \ 38 - --run 'mkdir -p "$GOGS_WORK_DIR" && cd "$GOGS_WORK_DIR"' \ 39 - --run "ln -fs $data/{public,templates} ." 40 ''; 41 42 goPackagePath = "github.com/gogits/gogs";
··· 33 cp -R $src/{public,templates} $data 34 35 wrapProgram $bin/bin/gogs \ 36 + --prefix PATH : ${makeBinPath [ bash git gzip openssh ]} 37 ''; 38 39 goPackagePath = "github.com/gogits/gogs";