diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 6c732b312882..7c5b83464242 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -6750,6 +6750,12 @@ fingerprint = "6BD3 7248 30BD 941E 9180 C1A3 3A33 FA4C 82ED 674F"; }]; }; + ivanmoreau = { + email = "Iván Molina Rebolledo"; + github = "ivanmoreau"; + githubId = 10843250; + name = "ivan@ivmoreau.com"; + }; ivan-timokhin = { email = "nixpkgs@ivan.timokhin.name"; name = "Ivan Timokhin"; diff --git a/pkgs/development/tools/infisical/default.nix b/pkgs/development/tools/infisical/default.nix new file mode 100644 index 000000000000..99411a0904d2 --- /dev/null +++ b/pkgs/development/tools/infisical/default.nix @@ -0,0 +1,59 @@ +{ stdenv, lib, callPackage, fetchurl }: + +let + inherit (stdenv.hostPlatform) system; + throwSystem = throw "Unsupported system: ${system}"; + + plat = { + x86_64-linux = "linux_amd64"; + x86_64-darwin = "darwin_amd64"; + aarch64-linux = "linux_arm64"; + aarch64-darwin = "darwin_arm64"; + }.${system} or throwSystem; + + archive_fmt = "tar.gz"; + + sha256 = { + x86_64-linux = "194akxb692xpqppakw49aywp5ma43yfcwv5imw4pm05cna0n06b1"; + x86_64-darwin = "0bgjx54c00v0nb88rzdv09g92yw9qsf2fxd8565g6fsw591va1pa"; + aarch64-linux = "0z07aikjhk9055apbvyaxdp8cgjl291fqgwgfbp9y3826q7s0riq"; + aarch64-darwin = "0garlx458jy6dpqbfd0y2p7xj9hagm815cflybbbxf5yz2v9da01"; + }.${system} or throwSystem; +in + stdenv.mkDerivation (finalAttrs: { + pname = "infisical"; + version = "0.3.7"; + + src = fetchurl { + url = "https://github.com/Infisical/infisical/releases/download/v${finalAttrs.version}/infisical_${finalAttrs.version}_${plat}.tar.gz"; + inherit sha256; + }; + + sourceRoot = "."; + installPhase = '' + mkdir -p $out/bin/ $out/share/completions/ $out/share/man/ + cp completions/* $out/share/completions/ + cp manpages/* $out/share/man/ + cp infisical $out/bin + ''; + + postInstall = '' + installManPage share/man/infisical.1.gz + installShellCompletion share/completions/infisical.{bash,fish,zsh} + chmod +x bin/infisical + ''; + + meta = with lib; { + description = "The official Infisical CLI"; + longDescription = '' + Infisical is an Open Source, End-to-End encrypted platform that lets you + securely sync secrets and configs across your team, devices, and infrastructure + ''; + mainProgram = "infisical"; + homepage = "https://infisical.com/"; + downloadPage = "https://github.com/Infisical/infisical/releases/"; + license = licenses.mit; + maintainers = [ maintainers.ivanmoreau ]; + platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ]; + }; + }) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 202ecfa73755..833d1f2a2019 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8583,6 +8583,8 @@ with pkgs; inferno = callPackage ../development/tools/inferno { }; + infisical = callPackage ../development/tools/infisical { }; + inform6 = callPackage ../development/compilers/inform6 { }; inform7 = callPackage ../development/compilers/inform7 { };