summaryrefslogtreecommitdiff
path: root/home/neovim/config.nix
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2025-06-23 22:33:44 -0400
committerFreya Murphy <freya@freyacat.org>2025-06-23 22:33:44 -0400
commit328c741b1aac74020412e99e0dca7c728dbc92fa (patch)
tree461f4ebcd3252d542749a34668defd62de356c73 /home/neovim/config.nix
parentremoved unused packages (diff)
downloaddotfiles-nix-328c741b1aac74020412e99e0dca7c728dbc92fa.tar.gz
dotfiles-nix-328c741b1aac74020412e99e0dca7c728dbc92fa.tar.bz2
dotfiles-nix-328c741b1aac74020412e99e0dca7c728dbc92fa.zip
refactor
Diffstat (limited to 'home/neovim/config.nix')
-rw-r--r--home/neovim/config.nix94
1 files changed, 94 insertions, 0 deletions
diff --git a/home/neovim/config.nix b/home/neovim/config.nix
new file mode 100644
index 0000000..ae10243
--- /dev/null
+++ b/home/neovim/config.nix
@@ -0,0 +1,94 @@
+{
+ config,
+ inputs,
+}:
+inputs.self.lib.lua.fmt {
+ # Width of tabs in the editor
+ tabwidth = 4;
+ # If tabs should be expanded to spaces
+ expandtab = false;
+ keys = {
+ # NeoVIM leader key
+ leader = " ";
+ # Keybind to remove active hilighted content
+ noh = "<leader>h";
+ menus = {
+ # Open file browser
+ browser = "<leader>e";
+ # Show active buffers
+ buffers = "<leader>fb";
+ # Show LSP errors
+ error = "<leader>t";
+ # Find files in working directory
+ find = "<leader>ff";
+ # Grep files in working directory
+ grep = "<leader>fg";
+ # Search help menu
+ help = "<leader>fh";
+ # Voew undo tree
+ undo = "<leader>u";
+ };
+ lsp = {
+ # Open LSP hover menu on a value
+ hover = "K";
+ # Perform an LSP action on a value
+ action = "<leader>la";
+ # View all references of a value
+ references = "<leader>lr";
+ # Rename current and all references of a value
+ rename = "<leader>ln";
+ };
+ cmp = {
+ # Select previous value in completion engine
+ prev = "<C-p>";
+ # Select next value in completion engine
+ next = "<C-n>";
+ # Confirm current value in completion engine
+ confirm = "<CR>";
+ # Auto complete using completion engine
+ complete = "<C-space>";
+ };
+ };
+ # list of lsp servers to load
+ lsps = {
+ clangd = {};
+ jdtls = {};
+ kotlin_language_server = {};
+ phpactor = {};
+ rust_analyzer = {};
+ ts_ls = {};
+ zls = {};
+ };
+ highlight = {
+ # max file size in KiB to attempt to parse
+ max_size = 1024;
+ };
+ # colorscheme
+ theme = {
+ colors = {
+ base00 = "#${config.theme.colors.bg}";
+ base01 = "#${config.theme.colors.surface.bg}";
+ base02 = "#${config.theme.colors.surface.bg}";
+ base03 = "#${config.theme.colors.bright.white}";
+ base04 = "#${config.theme.colors.bright.black}";
+ base05 = "#${config.theme.colors.fg}";
+ base06 = "#${config.theme.colors.bright.white}";
+ base07 = "#${config.theme.colors.hover.bg}";
+ base08 = "#${config.theme.colors.bright.red}";
+ base09 = "#${config.theme.colors.bright.yellow}";
+ base0A = "#${config.theme.colors.bright.yellow}";
+ base0B = "#${config.theme.colors.bright.green}";
+ base0C = "#${config.theme.colors.bright.cyan}";
+ base0D = "#${config.theme.colors.bright.blue}";
+ base0E = "#${config.theme.colors.bright.magenta}";
+ base0F = "#${config.theme.colors.normal.yellow}";
+ };
+ transparent = true;
+ };
+ # max column width
+ col = {
+ # show a bar at `width` characters
+ show = true;
+ width = 80;
+ };
+}