62 lines
1.5 KiB
Nix
62 lines
1.5 KiB
Nix
|
{ stdenv
|
||
|
, lib
|
||
|
, fetchFromGitHub
|
||
|
, bash
|
||
|
, coreutils
|
||
|
, gnugrep
|
||
|
, gnused
|
||
|
, jq
|
||
|
, curl
|
||
|
, makeWrapper
|
||
|
}:
|
||
|
stdenv.mkDerivation {
|
||
|
pname = "lldap-cli";
|
||
|
version = "0-unstable-2024-02-24";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "Zepmann";
|
||
|
repo = "lldap-cli";
|
||
|
rev = "d1fe50006c4a3a1796d4fb2d73d8c8dcfc875fd5";
|
||
|
hash = "sha256-ZKRTYdgtOfV7TgpaVKLhYrCttYvB/bUexMshmmF8NyY=";
|
||
|
};
|
||
|
|
||
|
nativeBuildInputs = [ makeWrapper ];
|
||
|
|
||
|
patchPhase = ''
|
||
|
runHook prePatch
|
||
|
|
||
|
# fix .lldap-cli-wrapped showing up in usage
|
||
|
substituteInPlace lldap-cli \
|
||
|
--replace-fail '$(basename $0)' lldap-cli
|
||
|
|
||
|
runHook postPatch
|
||
|
'';
|
||
|
|
||
|
dontConfigure = true;
|
||
|
dontBuild = true;
|
||
|
|
||
|
installPhase = ''
|
||
|
install -Dm555 lldap-cli -t $out/bin
|
||
|
wrapProgram $out/bin/lldap-cli \
|
||
|
--prefix PATH : ${lib.makeBinPath [ bash coreutils gnugrep gnused jq curl ]}
|
||
|
'';
|
||
|
|
||
|
meta = {
|
||
|
description = "Command line tool for managing LLDAP";
|
||
|
longDescription = ''
|
||
|
LDAP-CLI is a command line interface for LLDAP.
|
||
|
|
||
|
LLDAP uses GraphQL to offer an HTTP-based API.
|
||
|
This API is used by an included web-based user interface.
|
||
|
Unfortunately, LLDAP lacks a command-line interface,
|
||
|
which is a necessity for any serious administrator.
|
||
|
LLDAP-CLI translates CLI commands to GraphQL API calls.
|
||
|
'';
|
||
|
homepage = "https://github.com/Zepmann/lldap-cli";
|
||
|
license = lib.licenses.gpl3Only;
|
||
|
maintainers = [ lib.maintainers.nw ];
|
||
|
mainProgram = "lldap-cli";
|
||
|
platforms = lib.platforms.unix;
|
||
|
};
|
||
|
}
|