Compare commits

..

3 Commits

Author SHA1 Message Date
anmiller
37d71e1e43 Add distrobox 2025-02-21 20:28:23 +00:00
anmiller
7f0fd90dcc Add zk for zettelkansten notes 2025-02-21 20:28:13 +00:00
anmiller
33be0bbd0a Add terraform LSP/config 2025-02-21 20:27:55 +00:00
3 changed files with 32 additions and 2 deletions

View File

@ -10,8 +10,7 @@ nix_packages=(
"ranger"
"jq"
"yq"
"shellcheck"
"zk"
# Neovim + Plugin dependencies
"neovim"
@ -23,7 +22,11 @@ nix_packages=(
"yaml-language-server" # Yaml
"lua-language-server" # Lua
"solargraph" # Ruby
# Terraform
"terraform-ls"
"tflint"
"python3Packages.python-lsp-server" # Python
"shellcheck"
# ProgrammingLanguages
"lua52Packages.lua"
@ -44,6 +47,8 @@ nix_packages=(
"rancher"
"gitlab-ci-local"
"distrobox"
# Remote programming tools
"lemonade"
)

View File

@ -18,6 +18,7 @@ end
require('user.lspconfig')
require('user.indentblanklines')
require('user.luasnip')
require('user.terraform')
require('user.zk')
EOF

View File

@ -0,0 +1,24 @@
-- Enable terraform language server
local lsp = require('lspconfig')
lsp.tflint.setup{}
lsp.terraformls.setup{}
-- Enable filetype detection for terraform related files
vim.cmd([[silent! autocmd! filetypedetect BufRead,BufNewFile *.tf]])
vim.cmd([[autocmd BufRead,BufNewFile *.hcl set filetype=hcl]])
vim.cmd([[autocmd BufRead,BufNewFile .terraformrc,terraform.rc set filetype=hcl]])
vim.cmd([[autocmd BufRead,BufNewFile *.tf,*.tfvars set filetype=terraform]])
vim.cmd([[autocmd BufRead,BufNewFile *.tfstate,*.tfstate.backup set filetype=json]])
-- Automatically format on save
vim.cmd([[let g:terraform_fmt_on_save=1]])
vim.cmd([[let g:terraform_align=1]])
-- Shorten function name
local keymap = vim.api.nvim_set_keymap
local opts = { noremap = true, silent = true }
-- Open a terminal in a split to run commands rather than use !
keymap("n", "<leader>ti", ":split term://terraform init<CR>", opts)
keymap("n", "<leader>tv", ":split term://terraform validate<CR>", opts)
keymap("n", "<leader>tp", ":split term://terraform plan<CR>", opts)
keymap("n", "<leader>taa", ":split term://terraform apply -auto-approve<CR>", opts)