about summary refs log tree commit diff
path: root/pkgs/by-name
diff options
context:
space:
mode:
authorNick Cao <nickcao@nichi.co>2024-01-07 10:28:04 -0500
committerGitHub <noreply@github.com>2024-01-07 10:28:04 -0500
commit0b88c3d297db62082e9fa646427584cd302933a3 (patch)
treebc450f9d3c2cee81d999ae696251a12878fe33fb /pkgs/by-name
parent866ddabd0d99f92d427c487d44dcf6fa917a9d77 (diff)
parentf7c25138ea7d9019f0a34a19cfcfe05a1dac5ac2 (diff)
downloadnixlib-0b88c3d297db62082e9fa646427584cd302933a3.tar
nixlib-0b88c3d297db62082e9fa646427584cd302933a3.tar.gz
nixlib-0b88c3d297db62082e9fa646427584cd302933a3.tar.bz2
nixlib-0b88c3d297db62082e9fa646427584cd302933a3.tar.lz
nixlib-0b88c3d297db62082e9fa646427584cd302933a3.tar.xz
nixlib-0b88c3d297db62082e9fa646427584cd302933a3.tar.zst
nixlib-0b88c3d297db62082e9fa646427584cd302933a3.zip
Merge pull request #265783 from Silver-Golden/bitwarden-directory-connector_pkgs
Bitwarden directory connector: init
Diffstat (limited to 'pkgs/by-name')
-rw-r--r--pkgs/by-name/bi/bitwarden-directory-connector-cli/package.nix66
1 files changed, 66 insertions, 0 deletions
diff --git a/pkgs/by-name/bi/bitwarden-directory-connector-cli/package.nix b/pkgs/by-name/bi/bitwarden-directory-connector-cli/package.nix
new file mode 100644
index 000000000000..24376014a120
--- /dev/null
+++ b/pkgs/by-name/bi/bitwarden-directory-connector-cli/package.nix
@@ -0,0 +1,66 @@
+{
+  lib,
+  buildNpmPackage,
+  fetchFromGitHub,
+  buildPackages,
+  python3,
+  pkg-config,
+  libsecret,
+  nodejs_18,
+}:
+buildNpmPackage rec {
+  pname = "bitwarden-directory-connector-cli";
+  version = "2023.10.0";
+  nodejs = nodejs_18;
+
+  src = fetchFromGitHub {
+    owner = "bitwarden";
+    repo = "directory-connector";
+    rev = "v${version}";
+    hash = "sha256-PlOtTh+rpTxAv8ajHBDHZuL7yeeLVpbAfKEDPQlejIg=";
+  };
+
+  postPatch = ''
+    ${lib.getExe buildPackages.jq} 'del(.scripts.preinstall)' package.json > package.json.tmp
+    mv -f package.json{.tmp,}
+  '';
+
+  npmDepsHash = "sha256-jBAWWY12qeX2EDhUvT3TQpnQvYXRsIilRrXGpVzxYvw=";
+
+  env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
+
+  makeCacheWritable = true;
+  npmBuildScript = "build:cli:prod";
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/libexec/bitwarden-directory-connector
+    cp -R {build-cli,node_modules} $out/libexec/bitwarden-directory-connector
+    runHook postInstall
+  '';
+
+  # needs to be wrapped with nodejs so that it can be executed
+  postInstall = ''
+    chmod +x $out/libexec/bitwarden-directory-connector/build-cli/bwdc.js
+    mkdir -p $out/bin
+    ln -s $out/libexec/bitwarden-directory-connector/build-cli/bwdc.js $out/bin/bitwarden-directory-connector-cli
+  '';
+
+  buildInputs = [
+    libsecret
+  ];
+
+  nativeBuildInputs = [
+    python3
+    pkg-config
+  ];
+
+  meta = with lib; {
+    description = "LDAP connector for Bitwarden";
+    homepage = "https://github.com/bitwarden/directory-connector";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [Silver-Golden];
+    platforms = platforms.linux;
+    mainProgram = "bitwarden-directory-connector-cli";
+  };
+}