about summary refs log tree commit diff stats
path: root/pkgs/by-name/ts/tskm/package.nix
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--pkgs/by-name/ts/tskm/package.nix53
1 files changed, 53 insertions, 0 deletions
diff --git a/pkgs/by-name/ts/tskm/package.nix b/pkgs/by-name/ts/tskm/package.nix
new file mode 100644
index 00000000..3d320772
--- /dev/null
+++ b/pkgs/by-name/ts/tskm/package.nix
@@ -0,0 +1,53 @@
+{
+  rustPlatform,
+  installShellFiles,
+  makeWrapper,
+  lib,
+  # Dependencies
+  taskwarrior3,
+  git,
+  rofi,
+  firefox,
+  sqlite,
+}:
+rustPlatform.buildRustPackage (finalAttrs: {
+  pname = "tskm";
+  version = "0.1.0";
+
+  src = ./.;
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+  };
+
+  env = {
+    SHELL_COMPLETION_DIR = "./shell";
+  };
+
+  buildInputs = [
+    taskwarrior3
+    git
+    rofi
+    firefox
+    sqlite
+  ];
+
+  nativeBuildInputs = [
+    installShellFiles
+    makeWrapper
+  ];
+
+  postInstall = ''
+    installShellCompletion --cmd tskm \
+      --bash ./shell/tskm.bash \
+      --fish ./shell/tskm.fish \
+      --zsh ./shell/_tskm
+
+    # NOTE: We cannot clear the path, because we need access to the $EDITOR. <2025-04-04>
+    wrapProgram $out/bin/tskm \
+      --prefix PATH : ${lib.makeBinPath finalAttrs.buildInputs}
+  '';
+
+  meta = {
+    mainProgram = "tskm";
+  };
+})