keycloak-config-cli: refactor: move to pkgs/by-name

Previously nested under pkgs.keycloak.plugins, making it invisible
on search.nixos.org and unusable as a standalone CLI tool.

keycloak-config-cli is a standalone CLI, not a Keycloak server plugin.
Moving it to pkgs/by-name makes it a proper top-level attribute so users
can install it directly with nix profile install or systemPackages.

Also adds: makeWrapper for a `keycloak-config-cli` binary, meta.mainProgram,
meta.platforms, and passthru.updateScript.
This commit is contained in:
Vitor Pavan
2026-03-28 18:34:10 +01:00
parent c58cfdd9a5
commit bcb5c2b5f8
2 changed files with 14 additions and 3 deletions

View File

@@ -2,6 +2,9 @@
maven,
lib,
fetchFromGitHub,
jre_headless,
makeWrapper,
nix-update-script,
}:
maven.buildMavenPackage rec {
pname = "keycloak-config-cli";
@@ -19,19 +22,28 @@ maven.buildMavenPackage rec {
# Tests use MockServer which needs to bind to a local port
__darwinAllowLocalNetworking = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
install -Dm444 -t "$out" target/keycloak-config-cli.jar
install -Dm444 target/keycloak-config-cli.jar $out/share/keycloak-config-cli/keycloak-config-cli.jar
makeWrapper ${jre_headless}/bin/java $out/bin/keycloak-config-cli \
--add-flags "-jar $out/share/keycloak-config-cli/keycloak-config-cli.jar"
runHook postInstall
'';
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://github.com/adorsys/keycloak-config-cli/";
homepage = "https://github.com/adorsys/keycloak-config-cli";
description = "Import YAML/JSON-formatted configuration files into Keycloak";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
jefferyoo
anish
vitorpavani
];
mainProgram = "keycloak-config-cli";
platforms = jre_headless.meta.platforms;
};
}

View File

@@ -6,7 +6,6 @@
}:
{
keycloak-2fa-sms-authenticator = callPackage ./keycloak-2fa-sms-authenticator { };
keycloak-config-cli = callPackage ./keycloak-config-cli { };
keycloak-discord = callPackage ./keycloak-discord { };
keycloak-enforce-mfa-authenticator = callPackage ./keycloak-enforce-mfa-authenticator { };
keycloak-magic-link = callPackage ./keycloak-magic-link { };