about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPierre Bourdon <delroth@gmail.com>2023-10-28 22:23:21 +0200
committerGitHub <noreply@github.com>2023-10-28 22:23:21 +0200
commit0b9c0d5a5c5f3173de4abb138a09f6592b25a88d (patch)
tree9d8c1fcf51b32b29685c57711a62bb306ccf7bb3
parentfbf6643df90834d84e235ee91079d77487aec5dd (diff)
parent419c865d5b3a06ffd37449072979d134f35b0f62 (diff)
Merge pull request #263962 from orhun/add/daktilo
daktilo: init at 0.5.0
-rw-r--r--maintainers/maintainer-list.nix9
-rw-r--r--pkgs/tools/misc/daktilo/default.nix66
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 77 insertions, 0 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 75c6dd0b60e9d..997f8636f3969 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -13330,6 +13330,15 @@
     githubId = 75299;
     name = "Malcolm Matalka";
   };
+  orhun = {
+    email = "orhunparmaksiz@gmail.com";
+    github = "orhun";
+    githubId = 24392180;
+    name = "Orhun Parmaksız";
+    keys = [{
+      fingerprint = "165E 0FF7 C48C 226E 1EC3 63A7 F834 2482 4B3E 4B90";
+    }];
+  };
   orichter = {
     email = "richter-oliver@gmx.net";
     github = "ORichterSec";
diff --git a/pkgs/tools/misc/daktilo/default.nix b/pkgs/tools/misc/daktilo/default.nix
new file mode 100644
index 0000000000000..b28f3b08f8cd9
--- /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";
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 99bf72a34481a..92da00a960772 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -31042,6 +31042,8 @@ with pkgs;
 
   dablin = callPackage ../applications/radio/dablin { };
 
+  daktilo = callPackage ../tools/misc/daktilo { };
+
   darcs = haskell.lib.compose.overrideCabal (drv: {
     configureFlags = (lib.remove "-flibrary" drv.configureFlags or []) ++ ["-f-library"];
   }) (haskell.lib.compose.justStaticExecutables haskellPackages.darcs);