forked from mirrors/nixpkgs
tflint: add withPlugins passthru
This can be used to build a tflint with plugins like this: ``` tflint.withPlugins (cp: [ cp.tflint-ruleset-aws ]) ```
This commit is contained in:
parent
a7f9b63b5d
commit
5d30101409
|
@ -1,4 +1,12 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
, runCommand
|
||||
, makeWrapper
|
||||
, tflint
|
||||
, tflint-plugins
|
||||
, symlinkJoin
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "tflint";
|
||||
|
@ -19,6 +27,22 @@ buildGoModule rec {
|
|||
|
||||
ldflags = [ "-s" "-w" ];
|
||||
|
||||
passthru.withPlugins = plugins:
|
||||
let
|
||||
actualPlugins = plugins tflint-plugins;
|
||||
pluginDir = symlinkJoin {
|
||||
name = "tflint-plugin-dir";
|
||||
paths = [ actualPlugins ];
|
||||
};
|
||||
in
|
||||
runCommand "tflint-with-plugins"
|
||||
{
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
} ''
|
||||
makeWrapper ${tflint}/bin/tflint $out/bin/tflint \
|
||||
--set TFLINT_PLUGIN_DIR "${pluginDir}"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Terraform linter focused on possible errors, best practices, and so on";
|
||||
homepage = "https://github.com/terraform-linters/tflint";
|
||||
|
|
Loading…
Reference in a new issue