Personal Nix setup

Add Terraform

Changed files
+26
home
modules
+1
home/development/default.nix
···
imports = [
./js.nix
];
}
···
imports = [
./js.nix
+
./terraform.nix
];
}
+19
home/development/terraform.nix
···
···
+
{ lib, config, pkgs, ... }:
+
+
with lib;
+
let
+
cfg = config.modules.development;
+
in {
+
options.modules.development.terraform = {
+
enable = mkOption {
+
default = cfg.enable;
+
example = true;
+
description = "Whether to enable Terraform configuration.";
+
type = types.bool;
+
};
+
};
+
+
config = mkIf cfg.terraform.enable {
+
home.packages = with pkgs; [ terraform ];
+
};
+
}
+1
modules/nvim/default.nix
···
initContents = "
\nlua <<EOF\n" + /* lua */ ''
nix_bins = {
tsserver = '${pkgs.typescript-language-server}/bin/typescript-language-server',
eslintls = '${pkgs.vscode-langservers-extracted}/bin/vscode-eslint-language-server',
cssls = '${pkgs.vscode-langservers-extracted}/bin/vscode-css-language-server',
···
initContents = "
\nlua <<EOF\n" + /* lua */ ''
nix_bins = {
+
terraformls = '${pkgs.terraform-ls}/bin/terraform-ls',
tsserver = '${pkgs.typescript-language-server}/bin/typescript-language-server',
eslintls = '${pkgs.vscode-langservers-extracted}/bin/vscode-eslint-language-server',
cssls = '${pkgs.vscode-langservers-extracted}/bin/vscode-css-language-server',
+5
modules/nvim/init.lua
···
flags = { debounce_text_changes = 200 },
})
-- treesitter
vim.opt.runtimepath:append("~/.local/share/nvim/site/parser")
···
flags = { debounce_text_changes = 200 },
})
+
lsp_setup('terraformls', {
+
cmd = { nix_bins.terraformls },
+
flags = { debounce_text_changes = 200 },
+
})
+
-- treesitter
vim.opt.runtimepath:append("~/.local/share/nvim/site/parser")