diff --git a/roles/neovim/files/after/plugin/colorscheme.lua b/config/neovim/after/plugin/colorscheme.lua
similarity index 100%
rename from roles/neovim/files/after/plugin/colorscheme.lua
rename to config/neovim/after/plugin/colorscheme.lua
diff --git a/roles/neovim/files/after/plugin/comment.lua b/config/neovim/after/plugin/comment.lua
similarity index 100%
rename from roles/neovim/files/after/plugin/comment.lua
rename to config/neovim/after/plugin/comment.lua
diff --git a/roles/neovim/files/after/plugin/completion.lua b/config/neovim/after/plugin/completion.lua
similarity index 100%
rename from roles/neovim/files/after/plugin/completion.lua
rename to config/neovim/after/plugin/completion.lua
diff --git a/roles/neovim/files/after/plugin/dap.lua b/config/neovim/after/plugin/dap.lua
similarity index 100%
rename from roles/neovim/files/after/plugin/dap.lua
rename to config/neovim/after/plugin/dap.lua
diff --git a/roles/neovim/files/after/plugin/dial.lua b/config/neovim/after/plugin/dial.lua
similarity index 100%
rename from roles/neovim/files/after/plugin/dial.lua
rename to config/neovim/after/plugin/dial.lua
diff --git a/roles/neovim/files/after/plugin/fidget.lua b/config/neovim/after/plugin/fidget.lua
similarity index 100%
rename from roles/neovim/files/after/plugin/fidget.lua
rename to config/neovim/after/plugin/fidget.lua
diff --git a/roles/neovim/files/after/plugin/git.lua b/config/neovim/after/plugin/git.lua
similarity index 100%
rename from roles/neovim/files/after/plugin/git.lua
rename to config/neovim/after/plugin/git.lua
diff --git a/roles/neovim/files/after/plugin/gitsigns.lua b/config/neovim/after/plugin/gitsigns.lua
similarity index 100%
rename from roles/neovim/files/after/plugin/gitsigns.lua
rename to config/neovim/after/plugin/gitsigns.lua
diff --git a/roles/neovim/files/after/plugin/harpoon.lua b/config/neovim/after/plugin/harpoon.lua
similarity index 100%
rename from roles/neovim/files/after/plugin/harpoon.lua
rename to config/neovim/after/plugin/harpoon.lua
diff --git a/roles/neovim/files/after/plugin/indent-blankline.lua b/config/neovim/after/plugin/indent-blankline.lua
similarity index 100%
rename from roles/neovim/files/after/plugin/indent-blankline.lua
rename to config/neovim/after/plugin/indent-blankline.lua
diff --git a/roles/neovim/files/after/plugin/lir.lua b/config/neovim/after/plugin/lir.lua
similarity index 100%
rename from roles/neovim/files/after/plugin/lir.lua
rename to config/neovim/after/plugin/lir.lua
diff --git a/roles/neovim/files/after/plugin/lualine.lua b/config/neovim/after/plugin/lualine.lua
similarity index 100%
rename from roles/neovim/files/after/plugin/lualine.lua
rename to config/neovim/after/plugin/lualine.lua
diff --git a/roles/neovim/files/after/plugin/luasnip.lua b/config/neovim/after/plugin/luasnip.lua
similarity index 100%
rename from roles/neovim/files/after/plugin/luasnip.lua
rename to config/neovim/after/plugin/luasnip.lua
diff --git a/roles/neovim/files/after/plugin/markdown-preview.lua b/config/neovim/after/plugin/markdown-preview.lua
similarity index 100%
rename from roles/neovim/files/after/plugin/markdown-preview.lua
rename to config/neovim/after/plugin/markdown-preview.lua
diff --git a/roles/neovim/files/after/plugin/nvim-rest.lua b/config/neovim/after/plugin/nvim-rest.lua
similarity index 100%
rename from roles/neovim/files/after/plugin/nvim-rest.lua
rename to config/neovim/after/plugin/nvim-rest.lua
diff --git a/roles/neovim/files/after/plugin/refactoring.lua b/config/neovim/after/plugin/refactoring.lua
similarity index 100%
rename from roles/neovim/files/after/plugin/refactoring.lua
rename to config/neovim/after/plugin/refactoring.lua
diff --git a/roles/neovim/files/after/plugin/seiya.lua b/config/neovim/after/plugin/seiya.lua
similarity index 100%
rename from roles/neovim/files/after/plugin/seiya.lua
rename to config/neovim/after/plugin/seiya.lua
diff --git a/roles/neovim/files/after/plugin/statusline.lua b/config/neovim/after/plugin/statusline.lua
similarity index 100%
rename from roles/neovim/files/after/plugin/statusline.lua
rename to config/neovim/after/plugin/statusline.lua
diff --git a/roles/neovim/files/after/plugin/terminal.vim b/config/neovim/after/plugin/terminal.vim
similarity index 100%
rename from roles/neovim/files/after/plugin/terminal.vim
rename to config/neovim/after/plugin/terminal.vim
diff --git a/roles/neovim/files/after/plugin/todo-comments.lua b/config/neovim/after/plugin/todo-comments.lua
similarity index 100%
rename from roles/neovim/files/after/plugin/todo-comments.lua
rename to config/neovim/after/plugin/todo-comments.lua
diff --git a/roles/neovim/files/after/plugin/treesitter.lua b/config/neovim/after/plugin/treesitter.lua
similarity index 100%
rename from roles/neovim/files/after/plugin/treesitter.lua
rename to config/neovim/after/plugin/treesitter.lua
diff --git a/roles/neovim/files/after/plugin/twilight.lua b/config/neovim/after/plugin/twilight.lua
similarity index 100%
rename from roles/neovim/files/after/plugin/twilight.lua
rename to config/neovim/after/plugin/twilight.lua
diff --git a/roles/neovim/files/after/plugin/vim-test.lua b/config/neovim/after/plugin/vim-test.lua
similarity index 100%
rename from roles/neovim/files/after/plugin/vim-test.lua
rename to config/neovim/after/plugin/vim-test.lua
diff --git a/roles/neovim/files/after/plugin/zen-mode.lua b/config/neovim/after/plugin/zen-mode.lua
similarity index 100%
rename from roles/neovim/files/after/plugin/zen-mode.lua
rename to config/neovim/after/plugin/zen-mode.lua
diff --git a/roles/neovim/files/autoload/opdavies.vim b/config/neovim/autoload/opdavies.vim
similarity index 100%
rename from roles/neovim/files/autoload/opdavies.vim
rename to config/neovim/autoload/opdavies.vim
diff --git a/roles/neovim/files/init.lua b/config/neovim/init.lua
similarity index 100%
rename from roles/neovim/files/init.lua
rename to config/neovim/init.lua
diff --git a/roles/neovim/files/lua/opdavies/globals.lua b/config/neovim/lua/opdavies/globals.lua
similarity index 100%
rename from roles/neovim/files/lua/opdavies/globals.lua
rename to config/neovim/lua/opdavies/globals.lua
diff --git a/roles/neovim/files/lua/opdavies/keymap.lua b/config/neovim/lua/opdavies/keymap.lua
similarity index 100%
rename from roles/neovim/files/lua/opdavies/keymap.lua
rename to config/neovim/lua/opdavies/keymap.lua
diff --git a/roles/neovim/files/lua/opdavies/lsp/init.lua b/config/neovim/lua/opdavies/lsp/init.lua
similarity index 100%
rename from roles/neovim/files/lua/opdavies/lsp/init.lua
rename to config/neovim/lua/opdavies/lsp/init.lua
diff --git a/roles/neovim/files/lua/opdavies/lsp/null-ls.lua b/config/neovim/lua/opdavies/lsp/null-ls.lua
similarity index 100%
rename from roles/neovim/files/lua/opdavies/lsp/null-ls.lua
rename to config/neovim/lua/opdavies/lsp/null-ls.lua
diff --git a/roles/neovim/files/lua/opdavies/lsp/signature.lua b/config/neovim/lua/opdavies/lsp/signature.lua
similarity index 100%
rename from roles/neovim/files/lua/opdavies/lsp/signature.lua
rename to config/neovim/lua/opdavies/lsp/signature.lua
diff --git a/roles/neovim/files/lua/opdavies/options.lua b/config/neovim/lua/opdavies/options.lua
similarity index 100%
rename from roles/neovim/files/lua/opdavies/options.lua
rename to config/neovim/lua/opdavies/options.lua
diff --git a/roles/neovim/files/lua/opdavies/plugins.lua b/config/neovim/lua/opdavies/plugins.lua
similarity index 100%
rename from roles/neovim/files/lua/opdavies/plugins.lua
rename to config/neovim/lua/opdavies/plugins.lua
diff --git a/roles/neovim/files/lua/opdavies/snippets/ft/javascript.lua b/config/neovim/lua/opdavies/snippets/ft/javascript.lua
similarity index 100%
rename from roles/neovim/files/lua/opdavies/snippets/ft/javascript.lua
rename to config/neovim/lua/opdavies/snippets/ft/javascript.lua
diff --git a/roles/neovim/files/lua/opdavies/snippets/ft/lua.lua b/config/neovim/lua/opdavies/snippets/ft/lua.lua
similarity index 100%
rename from roles/neovim/files/lua/opdavies/snippets/ft/lua.lua
rename to config/neovim/lua/opdavies/snippets/ft/lua.lua
diff --git a/roles/neovim/files/lua/opdavies/snippets/ft/markdown.lua b/config/neovim/lua/opdavies/snippets/ft/markdown.lua
similarity index 100%
rename from roles/neovim/files/lua/opdavies/snippets/ft/markdown.lua
rename to config/neovim/lua/opdavies/snippets/ft/markdown.lua
diff --git a/roles/neovim/files/lua/opdavies/snippets/ft/php.lua b/config/neovim/lua/opdavies/snippets/ft/php.lua
similarity index 100%
rename from roles/neovim/files/lua/opdavies/snippets/ft/php.lua
rename to config/neovim/lua/opdavies/snippets/ft/php.lua
diff --git a/roles/neovim/files/lua/opdavies/snippets/ft/rst.lua b/config/neovim/lua/opdavies/snippets/ft/rst.lua
similarity index 100%
rename from roles/neovim/files/lua/opdavies/snippets/ft/rst.lua
rename to config/neovim/lua/opdavies/snippets/ft/rst.lua
diff --git a/roles/neovim/files/lua/opdavies/telescope/init.lua b/config/neovim/lua/opdavies/telescope/init.lua
similarity index 100%
rename from roles/neovim/files/lua/opdavies/telescope/init.lua
rename to config/neovim/lua/opdavies/telescope/init.lua
diff --git a/roles/neovim/files/lua/opdavies/telescope/mappings.lua b/config/neovim/lua/opdavies/telescope/mappings.lua
similarity index 100%
rename from roles/neovim/files/lua/opdavies/telescope/mappings.lua
rename to config/neovim/lua/opdavies/telescope/mappings.lua
diff --git a/roles/neovim/files/lua/opdavies/telescope/setup.lua b/config/neovim/lua/opdavies/telescope/setup.lua
similarity index 100%
rename from roles/neovim/files/lua/opdavies/telescope/setup.lua
rename to config/neovim/lua/opdavies/telescope/setup.lua
diff --git a/nixpkgs/home-manager/modules/common.nix b/nixpkgs/home-manager/modules/common.nix
index af4f75b3..4cc1489b 100644
--- a/nixpkgs/home-manager/modules/common.nix
+++ b/nixpkgs/home-manager/modules/common.nix
@@ -114,4 +114,9 @@
       vimPlugins.nightfox-nvim
     ];
   };
+
+  xdg.configFile.nvim = {
+    source = ../../../config/neovim;
+    recursive = true;
+  };
 }