Skip to content

Commit

Permalink
Add integration with nixpkgs-terraform
Browse files Browse the repository at this point in the history
  • Loading branch information
oscar-izval committed Feb 21, 2024
1 parent f5d594f commit 683597e
Showing 1 changed file with 23 additions and 1 deletion.
24 changes: 23 additions & 1 deletion src/modules/languages/terraform.nix
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
{ pkgs, config, lib, ... }:
{ pkgs, config, lib, inputs, ... }:

let
cfg = config.languages.terraform;

nixpkgs-terraform = inputs.nixpkgs-terraform or (throw ''
To use languages.terraform.version, you need to add the following to your devenv.yaml:
inputs:
nixpkgs-terraform:
url: github:stackbuilders/nixpkgs-terraform
'');
in
{
options.languages.terraform = {
Expand All @@ -13,9 +21,23 @@ in
defaultText = lib.literalExpression "pkgs.terraform";
description = "The Terraform package to use.";
};

version = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
description = ''
The Terraform version to use.
This automatically sets the `languages.terraform.package` using [nixpkgs-terraform](https://github.com/stackbuilders/nixpkgs-terraform).
'';
example = "1.5.0 or 1.6.2";
};
};

config = lib.mkIf cfg.enable {
languages.terraform.package = lib.mkMerge [
(lib.mkIf (cfg.version != null) (nixpkgs-terraform.packages.${pkgs.stdenv.system}.${cfg.version} or (throw "Unsupported Terraform version, see https://github.com/stackbuilders/nixpkgs-terraform#available-versions")))
];

packages = with pkgs; [
cfg.package
terraform-ls
Expand Down

0 comments on commit 683597e

Please sign in to comment.