diff --git a/roles/neovim/files/lua/opdavies/lsp/init.lua b/roles/neovim/files/lua/opdavies/lsp/init.lua
index a38a0423..53c1e17b 100644
--- a/roles/neovim/files/lua/opdavies/lsp/init.lua
+++ b/roles/neovim/files/lua/opdavies/lsp/init.lua
@@ -136,3 +136,4 @@ for server, config in pairs(servers) do
 end
 
 require "opdavies.lsp.null-ls"
+require "opdavies.lsp.signature"
diff --git a/roles/neovim/files/lua/opdavies/lsp/signature.lua b/roles/neovim/files/lua/opdavies/lsp/signature.lua
new file mode 100644
index 00000000..365c9739
--- /dev/null
+++ b/roles/neovim/files/lua/opdavies/lsp/signature.lua
@@ -0,0 +1,6 @@
+local status_ok, lsp_signature = pcall(require, "lsp_signature")
+if not status_ok then
+  return
+end
+
+lsp_signature.setup {}
diff --git a/roles/neovim/files/lua/opdavies/plugins.lua b/roles/neovim/files/lua/opdavies/plugins.lua
index 58890c56..51ba127c 100644
--- a/roles/neovim/files/lua/opdavies/plugins.lua
+++ b/roles/neovim/files/lua/opdavies/plugins.lua
@@ -88,6 +88,7 @@ return packer.startup(function()
   use "jose-elias-alvarez/null-ls.nvim"
   use "neovim/nvim-lspconfig"
   use "nvim-lua/lsp-status.nvim"
+  use "ray-x/lsp_signature.nvim"
 
   -- Telescope
   use "nvim-telescope/telescope.nvim"