diff --git a/pkgs/by-name/na/nav/package.nix b/pkgs/by-name/na/nav/package.nix
new file mode 100644
index 0000000000000..f5aeaa069db49
--- /dev/null
+++ b/pkgs/by-name/na/nav/package.nix
@@ -0,0 +1,62 @@
+{
+  stdenv,
+  lib,
+  fetchzip,
+  nix-update-script,
+  autoPatchelfHook,
+  libxcrypt-legacy,
+}:
+
+let
+  system = stdenv.hostPlatform.parsed.cpu.name;
+  platform = "${system}-unknown-linux-gnu";
+in
+stdenv.mkDerivation rec {
+  pname = "nav";
+  version = "1.2.1";
+
+  src = fetchzip {
+    url = "https://github.com/Jojo4GH/nav/releases/download/v${version}/nav-${platform}.tar.gz";
+    sha256 =
+      {
+        x86_64-linux = "sha256-ihn5wlagmujHlSfJpgojQNqa4NjLF1wk2pt8wHi60DY=";
+        aarch64-linux = "sha256-l3rKu3OU/TUUjmx3p06k9V5eN3ZDNcxbxObLqVQ2B7U=";
+      }
+      .${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
+  };
+
+  nativeBuildInputs = [ autoPatchelfHook ];
+  buildInputs = [
+    stdenv.cc.cc.lib
+    libxcrypt-legacy
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    cp nav $out/bin
+
+    runHook postInstall
+  '';
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "Interactive and stylish replacement for ls & cd";
+    longDescription = ''
+      To make use of nav, add the following lines to your configuration:
+      `programs.bash.shellInit = "eval \"$(nav --init bash)\"";` and
+      `programs.zsh.shellInit = "eval \"$(nav --init zsh)\"";`
+    '';
+    homepage = "https://github.com/Jojo4GH/nav";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [
+      David-Kopczynski
+      Jojo4GH
+    ];
+    platforms = lib.platforms.linux;
+    sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
+    mainProgram = "nav";
+  };
+}