nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ stdenv, lib, callPackage, fetchurl }:
2
3let
4 inherit (stdenv.hostPlatform) system;
5 throwSystem = throw "Unsupported system: ${system}";
6
7 plat = {
8 x86_64-linux = "linux_amd64";
9 x86_64-darwin = "darwin_amd64";
10 aarch64-linux = "linux_arm64";
11 aarch64-darwin = "darwin_arm64";
12 }.${system} or throwSystem;
13
14 archive_fmt = "tar.gz";
15
16 sha256 = {
17 x86_64-linux = "194akxb692xpqppakw49aywp5ma43yfcwv5imw4pm05cna0n06b1";
18 x86_64-darwin = "0bgjx54c00v0nb88rzdv09g92yw9qsf2fxd8565g6fsw591va1pa";
19 aarch64-linux = "0z07aikjhk9055apbvyaxdp8cgjl291fqgwgfbp9y3826q7s0riq";
20 aarch64-darwin = "0garlx458jy6dpqbfd0y2p7xj9hagm815cflybbbxf5yz2v9da01";
21 }.${system} or throwSystem;
22in
23 stdenv.mkDerivation (finalAttrs: {
24 pname = "infisical";
25 version = "0.3.7";
26
27 src = fetchurl {
28 url = "https://github.com/Infisical/infisical/releases/download/v${finalAttrs.version}/infisical_${finalAttrs.version}_${plat}.tar.gz";
29 inherit sha256;
30 };
31
32 sourceRoot = ".";
33 installPhase = ''
34 mkdir -p $out/bin/ $out/share/completions/ $out/share/man/
35 cp completions/* $out/share/completions/
36 cp manpages/* $out/share/man/
37 cp infisical $out/bin
38 '';
39
40 postInstall = ''
41 installManPage share/man/infisical.1.gz
42 installShellCompletion share/completions/infisical.{bash,fish,zsh}
43 chmod +x bin/infisical
44 '';
45
46 meta = with lib; {
47 description = "The official Infisical CLI";
48 longDescription = ''
49 Infisical is an Open Source, End-to-End encrypted platform that lets you
50 securely sync secrets and configs across your team, devices, and infrastructure
51 '';
52 mainProgram = "infisical";
53 homepage = "https://infisical.com/";
54 downloadPage = "https://github.com/Infisical/infisical/releases/";
55 license = licenses.mit;
56 maintainers = [ maintainers.ivanmoreau ];
57 platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ];
58 };
59 })