gogs: avoid creating symlinks each run

Changed files
+11 -4
nixos
modules
services
misc
pkgs
applications
version-management
+10
nixos/modules/services/misc/gogs.nix
···
HTTP_ADDR = ${cfg.httpAddress}
HTTP_PORT = ${toString cfg.httpPort}
ROOT_URL = ${cfg.rootUrl}
+
STATIC_ROOT_PATH = ${cfg.staticRootPath}
[session]
COOKIE_NAME = session
···
'';
};
+
staticRootPath = mkOption {
+
type = types.str;
+
default = "${pkgs.gogs.data}";
+
example = "/var/lib/gogs/data";
+
description = "Upper level of template and static files path.";
+
};
+
extraConfig = mkOption {
type = types.str;
default = "";
···
runConfig = "${cfg.stateDir}/custom/conf/app.ini";
secretKey = "${cfg.stateDir}/custom/conf/secret_key";
in ''
+
mkdir -p ${cfg.stateDir}
+
# copy custom configuration and generate a random secret key if needed
${optionalString (cfg.useWizard == false) ''
mkdir -p ${cfg.stateDir}/custom/conf
+1 -4
pkgs/applications/version-management/gogs/default.nix
···
cp -R $src/{public,templates} $data
wrapProgram $bin/bin/gogs \
-
--prefix PATH : ${makeBinPath [ bash git gzip openssh ]} \
-
--run 'export GOGS_WORK_DIR=''${GOGS_WORK_DIR:-$PWD}' \
-
--run 'mkdir -p "$GOGS_WORK_DIR" && cd "$GOGS_WORK_DIR"' \
-
--run "ln -fs $data/{public,templates} ."
+
--prefix PATH : ${makeBinPath [ bash git gzip openssh ]}
'';
goPackagePath = "github.com/gogits/gogs";