summary refs log tree commit diff
path: root/pkgs/tools/misc/daktilo/default.nix
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-11-21 16:12:21 +0100
committerAlyssa Ross <hi@alyssa.is>2023-11-21 16:12:48 +0100
commit048a4cd441a59cbf89defb18bb45c9f0b4429b35 (patch)
treef8f5850ff05521ab82d65745894714a8796cbfb6 /pkgs/tools/misc/daktilo/default.nix
parent030c5028b07afcedce7c5956015c629486cc79d9 (diff)
parent4c2d05dd6435d449a3651a6dd314d9411b5f8146 (diff)
downloadnixpkgs-048a4cd441a59cbf89defb18bb45c9f0b4429b35.tar
nixpkgs-048a4cd441a59cbf89defb18bb45c9f0b4429b35.tar.gz
nixpkgs-048a4cd441a59cbf89defb18bb45c9f0b4429b35.tar.bz2
nixpkgs-048a4cd441a59cbf89defb18bb45c9f0b4429b35.tar.lz
nixpkgs-048a4cd441a59cbf89defb18bb45c9f0b4429b35.tar.xz
nixpkgs-048a4cd441a59cbf89defb18bb45c9f0b4429b35.tar.zst
nixpkgs-048a4cd441a59cbf89defb18bb45c9f0b4429b35.zip
Rebase onto e4ad989506ec7d71f7302cc3067abd82730a4beb HEAD rootfs
Signed-off-by: Alyssa Ross <hi@alyssa.is>
Diffstat (limited to 'pkgs/tools/misc/daktilo/default.nix')
-rw-r--r--pkgs/tools/misc/daktilo/default.nix66
1 files changed, 66 insertions, 0 deletions
diff --git a/pkgs/tools/misc/daktilo/default.nix b/pkgs/tools/misc/daktilo/default.nix
new file mode 100644
index 00000000000..b28f3b08f8c
--- /dev/null
+++ b/pkgs/tools/misc/daktilo/default.nix
@@ -0,0 +1,66 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, installShellFiles
+, stdenv
+, darwin
+, unixtools
+, pkg-config
+, alsa-lib
+, xorg
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "daktilo";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner = "orhun";
+    repo = "daktilo";
+    rev = "v${version}";
+    hash = "sha256-kbJwBOUODtHdngbfa6HbbQJ0kgW6f64c0EG3y8wLymw=";
+  };
+
+  cargoHash = "sha256-u9vL2HAUgP43ZDwIEK2u/I+KUEjQsfXda03gnGJ1Krc=";
+
+  nativeBuildInputs = [
+    installShellFiles
+    pkg-config
+  ];
+
+  buildInputs = [
+    alsa-lib
+    xorg.libX11
+    xorg.libXi
+    xorg.libXtst
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Security
+  ];
+
+  nativeCheckInputs = [
+    unixtools.script
+  ];
+
+  postInstall = ''
+    mkdir -p man completions
+
+    OUT_DIR=man $out/bin/daktilo-mangen
+    OUT_DIR=completions $out/bin/daktilo-completions
+
+    installManPage man/daktilo.1
+    installShellCompletion \
+      completions/daktilo.{bash,fish} \
+      --zsh completions/_daktilo
+
+    rm $out/bin/daktilo-{completions,mangen}
+  '';
+
+  meta = with lib; {
+    description = "Turn your keyboard into a typewriter";
+    homepage = "https://github.com/orhun/daktilo";
+    changelog = "https://github.com/orhun/daktilo/blob/${src.rev}/CHANGELOG.md";
+    license = with licenses; [ asl20 mit ];
+    maintainers = with maintainers; [ orhun ];
+    mainProgram = "daktilo";
+  };
+}