summary refs log tree commit diff
path: root/nixos/modules/services/misc/gitea.nix
diff options
context:
space:
mode:
authorElis Hirwing <elis@hirwing.se>2018-08-24 23:17:18 +0200
committerElis Hirwing <elis@hirwing.se>2018-08-25 09:19:53 +0200
commita098cc98d9da60692cb41d5f3f417708de00a9e4 (patch)
treeb35db257471d4467f1a47be64b15668f8cba4a15 /nixos/modules/services/misc/gitea.nix
parentbd1ebb0fa05fbf2a7bcce268debf9c98c4454ed4 (diff)
downloadnixpkgs-a098cc98d9da60692cb41d5f3f417708de00a9e4.tar
nixpkgs-a098cc98d9da60692cb41d5f3f417708de00a9e4.tar.gz
nixpkgs-a098cc98d9da60692cb41d5f3f417708de00a9e4.tar.bz2
nixpkgs-a098cc98d9da60692cb41d5f3f417708de00a9e4.tar.lz
nixpkgs-a098cc98d9da60692cb41d5f3f417708de00a9e4.tar.xz
nixpkgs-a098cc98d9da60692cb41d5f3f417708de00a9e4.tar.zst
nixpkgs-a098cc98d9da60692cb41d5f3f417708de00a9e4.zip
nixos/gitea: Symlink gitea locales to match running gitea version
This prevents issues when gitea adds new locales etc. And if they
change locale values in future versions. Or if you rollback to a
previous version of gitea it might be a good idea to use the previous
locale files.
Diffstat (limited to 'nixos/modules/services/misc/gitea.nix')
-rw-r--r--nixos/modules/services/misc/gitea.nix11
1 files changed, 7 insertions, 4 deletions
diff --git a/nixos/modules/services/misc/gitea.nix b/nixos/modules/services/misc/gitea.nix
index 5d664728e0b..dc63f1a6c05 100644
--- a/nixos/modules/services/misc/gitea.nix
+++ b/nixos/modules/services/misc/gitea.nix
@@ -261,7 +261,8 @@ in
         runConfig = "${cfg.stateDir}/custom/conf/app.ini";
         secretKey = "${cfg.stateDir}/custom/conf/secret_key";
       in ''
-        mkdir -p ${cfg.stateDir}
+        # Make sure that the stateDir exists, as well as the conf dir in there
+        mkdir -p ${cfg.stateDir}/conf
 
         # copy custom configuration and generate a random secret key if needed
         ${optionalString (cfg.useWizard == false) ''
@@ -290,11 +291,13 @@ in
           sed -ri 's,/nix/store/[a-z0-9.-]+/bin/bash,${pkgs.bash}/bin/bash,g' $HOOKS
           sed -ri 's,/nix/store/[a-z0-9.-]+/bin/perl,${pkgs.perl}/bin/perl,g' $HOOKS
         fi
-        if [ ! -d ${cfg.stateDir}/conf/locale ]
+        # If we have a folder or symlink with gitea locales, remove it
+        if [ -e ${cfg.stateDir}/conf/locale ]
         then
-          mkdir -p ${cfg.stateDir}/conf
-          cp -r ${gitea.out}/locale ${cfg.stateDir}/conf/locale
+          rm -r ${cfg.stateDir}/conf/locale
         fi
+        # And symlink the current gitea locales in place
+        ln -s ${gitea.out}/locale ${cfg.stateDir}/conf/locale
         # update command option in authorized_keys
         if [ -r ${cfg.stateDir}/.ssh/authorized_keys ]
         then