summary refs log tree commit diff
diff options
context:
space:
mode:
authorBob van der Linden <bobvanderlinden@gmail.com>2017-10-02 21:04:32 +0200
committerBob van der Linden <bobvanderlinden@gmail.com>2017-10-02 22:11:46 +0200
commit9d841295f3da4e02d7b7e87fac86b25cd1081f36 (patch)
tree306f068eacf32e59313458935be23e9013103dd5
parent6dc9d21cc8675becf323159d5f3880075550c098 (diff)
downloadnixpkgs-9d841295f3da4e02d7b7e87fac86b25cd1081f36.tar
nixpkgs-9d841295f3da4e02d7b7e87fac86b25cd1081f36.tar.gz
nixpkgs-9d841295f3da4e02d7b7e87fac86b25cd1081f36.tar.bz2
nixpkgs-9d841295f3da4e02d7b7e87fac86b25cd1081f36.tar.lz
nixpkgs-9d841295f3da4e02d7b7e87fac86b25cd1081f36.tar.xz
nixpkgs-9d841295f3da4e02d7b7e87fac86b25cd1081f36.tar.zst
nixpkgs-9d841295f3da4e02d7b7e87fac86b25cd1081f36.zip
gogs: avoid creating symlinks each run
-rw-r--r--nixos/modules/services/misc/gogs.nix10
-rw-r--r--pkgs/applications/version-management/gogs/default.nix5
2 files changed, 11 insertions, 4 deletions
diff --git a/nixos/modules/services/misc/gogs.nix b/nixos/modules/services/misc/gogs.nix
index cf1fbc7bcfa..f6d326e43d9 100644
--- a/nixos/modules/services/misc/gogs.nix
+++ b/nixos/modules/services/misc/gogs.nix
@@ -25,6 +25,7 @@ let
     HTTP_ADDR = ${cfg.httpAddress}
     HTTP_PORT = ${toString cfg.httpPort}
     ROOT_URL = ${cfg.rootUrl}
+    STATIC_ROOT_PATH = ${cfg.staticRootPath}
 
     [session]
     COOKIE_NAME = session
@@ -175,6 +176,13 @@ in
         '';
       };
 
+      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 = "";
@@ -195,6 +203,8 @@ in
         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
diff --git a/pkgs/applications/version-management/gogs/default.nix b/pkgs/applications/version-management/gogs/default.nix
index d3705758307..5553a759894 100644
--- a/pkgs/applications/version-management/gogs/default.nix
+++ b/pkgs/applications/version-management/gogs/default.nix
@@ -33,10 +33,7 @@ buildGoPackage rec {
     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";