| ... | @@ -1,9 +1,12 @@ | ... | @@ -1,9 +1,12 @@ |
| 1 | { | 1 | { |
| 2 | config, | 2 | config, |
| | 3 | pkgs, |
| 3 | lib, | 4 | lib, |
| 4 | host, | | |
| 5 | ... | 5 | ... |
| 6 | }: | 6 | }: |
| | 7 | let |
| | 8 | allowExe = config.shared.allowExe; |
| | 9 | in |
| 7 | { | 10 | { |
| 8 | # based on default options from upstream: | 11 | # based on default options from upstream: |
| 9 | # https://github.com/NotAShelf/nvf/blob/main/configuration.nix | 12 | # https://github.com/NotAShelf/nvf/blob/main/configuration.nix |
| ... | @@ -13,7 +16,7 @@ | ... | @@ -13,7 +16,7 @@ |
| 13 | # | 16 | # |
| 14 | # override level 999 is used to not conflict with mkDefault as used by nvf. | 17 | # override level 999 is used to not conflict with mkDefault as used by nvf. |
| 15 | # which allows user configurations to disable/override anything here. | 18 | # which allows user configurations to disable/override anything here. |
| 16 | vim = lib.mkOverride 999 { | 19 | config.vim = lib.mkOverride 999 { |
| 17 | theme = { | 20 | theme = { |
| 18 | enable = true; | 21 | enable = true; |
| 19 | }; | 22 | }; |
| ... | @@ -34,7 +37,7 @@ | ... | @@ -34,7 +37,7 @@ |
| 34 | }; | 37 | }; |
| 35 | lsp = { | 38 | lsp = { |
| 36 | # Must be enabled for language modules to hook into the LSP API. | 39 | # Must be enabled for language modules to hook into the LSP API. |
| 37 | enable = true; | 40 | enable = allowExe; |
| 38 | formatOnSave = true; | 41 | formatOnSave = true; |
| 39 | # show errors inline | 42 | # show errors inline |
| 40 | # https://github.com/folke/trouble.nvim | 43 | # https://github.com/folke/trouble.nvim |
| ... | @@ -48,30 +51,43 @@ | ... | @@ -48,30 +51,43 @@ |
| 48 | }; | 51 | }; |
| 49 | debugger = { | 52 | debugger = { |
| 50 | nvim-dap = { | 53 | nvim-dap = { |
| 51 | enable = true; | 54 | enable = allowExe; |
| 52 | ui.enable = true; | 55 | ui.enable = true; |
| 53 | }; | 56 | }; |
| 54 | }; | 57 | }; |
| 55 | languages = { | 58 | languages = { |
| 56 | enableFormat = true; | 59 | enableFormat = true; |
| 57 | enableTreesitter = true; | 60 | enableTreesitter = allowExe; |
| 58 | enableExtraDiagnostics = true; | 61 | enableExtraDiagnostics = true; |
| 59 | | 62 | |
| 60 | # sort-lines: on | 63 | # sort-lines: on |
| 61 | assembly.enable = true; | 64 | assembly.enable = allowExe; |
| 62 | bash.enable = true; | 65 | bash.enable = allowExe; |
| 63 | clang.enable = true; | 66 | clang.enable = allowExe; |
| 64 | css.enable = true; | 67 | css.enable = allowExe; |
| 65 | html.enable = true; | 68 | html.enable = allowExe; |
| 66 | nix.enable = true; | 69 | nix.enable = allowExe; |
| 67 | rust.crates.enable = true; | 70 | rust.crates.enable = allowExe; |
| 68 | rust.enable = true; | 71 | rust.enable = allowExe; |
| 69 | ts.enable = true; | 72 | ts.enable = allowExe; |
| 70 | zig.enable = true; | 73 | zig.enable = allowExe; |
| 71 | # sort-lines: off | 74 | # sort-lines: off |
| 72 | | 75 | |
| | 76 | ts.format.enable = false; # deno fmt is enabled elsewhere |
| 73 | nix.format.type = "nixfmt"; # looks so much nicer | 77 | nix.format.type = "nixfmt"; # looks so much nicer |
| 74 | }; | 78 | }; |
| | 79 | formatter.conform-nvim = { |
| | 80 | enable = true; |
| | 81 | setupOpts.formatters_by_ft = { |
| | 82 | typescript = [ "deno_fmt" ]; |
| | 83 | typescriptreact = [ "deno_fmt" ]; |
| | 84 | javascript = [ "deno_fmt" ]; |
| | 85 | javascriptreact = [ "deno_fmt" ]; |
| | 86 | }; |
| | 87 | setupOpts.formatters.deno_fmt = { |
| | 88 | command = lib.meta.getExe pkgs.deno; |
| | 89 | }; |
| | 90 | }; |
| 75 | filetree = { | 91 | filetree = { |
| 76 | neo-tree = { | 92 | neo-tree = { |
| 77 | enable = true; | 93 | enable = true; |
| ... | @@ -81,7 +97,7 @@ | ... | @@ -81,7 +97,7 @@ |
| 81 | nvimBufferline.enable = true; | 97 | nvimBufferline.enable = true; |
| 82 | }; | 98 | }; |
| 83 | autocomplete = { | 99 | autocomplete = { |
| 84 | blink-cmp.enable = true; | 100 | blink-cmp.enable = allowExe; |
| 85 | }; | 101 | }; |
| 86 | statusline = { | 102 | statusline = { |
| 87 | lualine = { | 103 | lualine = { |
| ... | @@ -132,8 +148,8 @@ | ... | @@ -132,8 +148,8 @@ |
| 132 | todo-comments.enable = true; | 148 | todo-comments.enable = true; |
| 133 | }; | 149 | }; |
| 134 | git = { | 150 | git = { |
| 135 | enable = true; | 151 | enable = allowExe; |
| 136 | gitsigns.enable = true; | 152 | gitsigns.enable = allowExe; |
| 137 | gitsigns.codeActions.enable = false; # throws an annoying debug message | 153 | gitsigns.codeActions.enable = false; # throws an annoying debug message |
| 138 | }; | 154 | }; |
| 139 | }; | 155 | }; |