1{
2 mkDerivation,
3 HsOpenSSL,
4 QuickCheck,
5 aeson,
6 async,
7 base,
8 bytestring,
9 containers,
10 crypton-connection,
11 directory,
12 hpack,
13 hspec,
14 hspec-discover,
15 hspec-expectations,
16 http-client,
17 http-client-openssl,
18 http-conduit,
19 lib,
20 megaparsec,
21 network-uri,
22 optparse-applicative,
23 parser-combinators,
24 quickcheck-instances,
25 retry,
26 text,
27 unix,
28 unordered-containers,
29 utf8-string,
30 dotenv,
31 fetchFromGitHub,
32}:
33mkDerivation rec {
34 pname = "vaultenv";
35 version = "0.19.0";
36
37 src = fetchFromGitHub {
38 owner = "channable";
39 repo = "vaultenv";
40 rev = "v${version}";
41 hash = "sha256-x3c9TKrCF3tsEFofYAXfK6DWdirEUxWWTttNqU/sJSc=";
42 };
43
44 buildTools = [ hpack ];
45
46 prePatch = ''
47 substituteInPlace package.yaml \
48 --replace -Werror ""
49 '';
50
51 isLibrary = false;
52 isExecutable = true;
53 executableHaskellDepends = [
54 HsOpenSSL
55 aeson
56 async
57 base
58 bytestring
59 containers
60 crypton-connection
61 directory
62 dotenv
63 http-client
64 http-client-openssl
65 http-conduit
66 megaparsec
67 network-uri
68 optparse-applicative
69 optparse-applicative
70 parser-combinators
71 retry
72 text
73 unix
74 unordered-containers
75 utf8-string
76 ];
77 testHaskellDepends = executableHaskellDepends ++ [
78 QuickCheck
79 directory
80 hspec
81 hspec-discover
82 hspec-expectations
83 quickcheck-instances
84 ];
85 preConfigure = "hpack";
86 homepage = "https://github.com/channable/vaultenv#readme";
87 description = "Runs processes with secrets from HashiCorp Vault";
88 license = lib.licenses.bsd3;
89 maintainers = with lib.maintainers; [
90 lnl7
91 manveru
92 ];
93}