diff --git a/modules/home/git.nix b/modules/home/git.nix index 0ffd68e..363ac4e 100644 --- a/modules/home/git.nix +++ b/modules/home/git.nix @@ -1,4 +1,5 @@ { + pkgs, ... }: { @@ -12,4 +13,6 @@ }; }; }; -} \ No newline at end of file + + home.packages = with pkgs; [ git-ignore ]; +} diff --git a/modules/home/nvf.nix b/modules/home/nvf.nix index 88d3426..7bc152f 100644 --- a/modules/home/nvf.nix +++ b/modules/home/nvf.nix @@ -75,7 +75,13 @@ key = ""; mode = [ "n" ]; silent = true; - action = "Neotree toggle"; + action = "Neotree focus"; + } + { + key = ""; + mode = [ "n" ]; + silent = true; + action = "Neotree close"; } { key = ""; @@ -131,6 +137,51 @@ enableTreesitter = true; enableFormat = true; + clang = { + enable = true; + cHeader = true; + dap.enable = true; + lsp = { + enable = true; + server = "clangd"; + }; + treesitter.enable = true; + }; + + css = { + enable = true; + format = { + enable = true; + type = "prettier"; + }; + lsp.enable = true; + treesitter.enable = true; + }; + + html = { + enable = true; + treesitter = { + enable = true; + autotagHtml = true; + }; + }; + + markdown = { + enable = true; + extensions = { + markview-nvim.enable = true; + }; + format = { + enable = true; + }; + lsp = { + enable = true; + }; + treesitter = { + enable = true; + }; + }; + nix = { enable = true; format = { @@ -170,28 +221,23 @@ treesitter.enable = true; }; - markdown = { + tailwind = { enable = true; - extensions = { - markview-nvim.enable = true; - }; - format = { - enable = true; - }; - lsp = { - enable = true; - }; - treesitter = { - enable = true; - }; + lsp.enable = true; }; - html = { + ts = { enable = true; - treesitter = { - enable = true; - autotagHtml = true; + extensions = { + ts-error-translator.enable = true; }; + extraDiagnostics.enable = true; + format = { + enable = true; + type = "prettier"; + }; + lsp.enable = true; + treesitter.enable = true; }; }; diff --git a/modules/home/vscode.nix b/modules/home/vscode.nix index 489b4b9..e61bb96 100644 --- a/modules/home/vscode.nix +++ b/modules/home/vscode.nix @@ -16,6 +16,7 @@ ritwickdey.liveserver aaron-bond.better-comments yzane.markdown-pdf + mechatroner.rainbow-csv # Remote development ms-vscode-remote.remote-ssh @@ -43,12 +44,20 @@ ]; userSettings = { # General + "editor.formatOnSave" = true; "workbench.iconTheme" = "material-icon-theme"; + # Prettier + "editor.defaultFormatter" = "esbenp.prettier-vscode"; + "prettier.bracketSpacing" = true; + "prettier.printWidth" = 100; + "prettier.semi" = false; + "prettier.singleQuote" = true; + "prettier.tabWidth" = 4; + # Python "[python]" = { "editor.defaultFormatter" = "ms-python.black-formatter"; - "editor.formatOnSave" = true; "editor.codeActionsOnSave" = { "source.organizeImports" = "explicit"; }; @@ -59,6 +68,20 @@ ]; "python.analysis.typeCheckingMode" = "strict"; "python.languageServer" = "Pylance"; + + # JSON + "[json]" = { + "prettier.tabWidth" = 2; + }; + "[jsonc]" = { + "prettier.tabWidth" = 2; + }; + + # Svelte + "svelte.enable-ts-plugin" = true; + + # C / C++ + "C_Cpp.clang_format_style" = "GNU"; # This is really just for cs361, I actually hate the GNU style }; }; };