]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - nixops/modules/task/taskwarrior-web.nix
Add taskwarrior-web
[perso/Immae/Config/Nix.git] / nixops / modules / task / taskwarrior-web.nix
diff --git a/nixops/modules/task/taskwarrior-web.nix b/nixops/modules/task/taskwarrior-web.nix
new file mode 100644 (file)
index 0000000..49d6946
--- /dev/null
@@ -0,0 +1,24 @@
+{ env, ruby_2_5, bundlerEnv, defaultGemConfig, fetchedGithub, stdenv, writeText, pkgs }:
+let
+  varDir = "/var/lib/taskwarrior-web";
+  socketsDir = "/run/taskwarrior-web";
+  rubyRoot = stdenv.mkDerivation (fetchedGithub ./taskwarrior-web.json // rec {
+    phases = [ "unpackPhase" "patchPhase" "installPhase" ];
+    patches = [ ./fixes.patch ./thin.patch ];
+    installPhase = ''
+      cp -a . $out
+      cp ${./Gemfile.lock} $out/Gemfile.lock
+      '';
+  });
+  gems = bundlerEnv {
+    name = "taskwarrior-web-env";
+    ruby = ruby_2_5;
+    pname = "taskwarrior-web";
+    gemset = ./gemset.nix;
+    gemdir = rubyRoot.out;
+    groups = [ "default" "local" "development" ];
+  };
+in
+  {
+    inherit gems varDir socketsDir rubyRoot;
+  }