| author | |
| committer | |
| log | 10453abfb1d3dd180ecef7c8951f1a88d391c4eb |
| tree | 9b2caa7e161c38750c04703669c705c08c86ac1a |
| parent | 69e9b167cbf154160adcdd28dcc7f6c4f901ee97 |
| signature | Commit is signed but in an unrecognized format. |
9 files changed, 270 insertions(+), 174 deletions(-)
flake.nix+114-104| ... | ... | @@ -39,71 +39,79 @@ |
| 39 | 39 | nix-index-database.url = "github:nix-community/nix-index-database"; |
| 40 | 40 | nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; |
| 41 | 41 | }; |
| 42 | outputs = { | |
| 43 | self, | |
| 44 | nixpkgs, | |
| 45 | nixos-cosmic, | |
| 46 | darwin, | |
| 47 | ... | |
| 48 | } @ inputs: let | |
| 49 | lib = nixpkgs.lib; | |
| 50 | ||
| 51 | # TODO: apply these overlays sooner and remove uses of legacyPackages elsewhere. | |
| 52 | overlays = [ | |
| 53 | inputs.zig.overlays.default | |
| 54 | inputs.rust-overlay.overlays.default | |
| 55 | inputs.nh.overlays.default | |
| 56 | ||
| 57 | # https://github.com/LnL7/nix-darwin/issues/1041 | |
| 58 | (_: prev: { | |
| 59 | karabiner-elements = prev.karabiner-elements.overrideAttrs (old: { | |
| 60 | version = "14.13.0"; | |
| 61 | ||
| 62 | src = prev.fetchurl { | |
| 63 | inherit (old.src) url; | |
| 64 | hash = "sha256-gmJwoht/Tfm5qMecmq1N6PSAIfWOqsvuHU8VDJY8bLw="; | |
| 65 | }; | |
| 66 | }); | |
| 67 | }) | |
| 68 | ]; | |
| 69 | ||
| 70 | # Users of this flake currently use x86_64 Linux and Apple Silicon | |
| 71 | systems = [ | |
| 72 | "x86_64-linux" | |
| 73 | "aarch64-darwin" | |
| 74 | ]; | |
| 75 | forAllSystems = f: | |
| 76 | builtins.listToAttrs ( | |
| 77 | builtins.map (system: { | |
| 78 | name = system; | |
| 79 | value = f ( | |
| 80 | inputs | |
| 81 | // { | |
| 82 | inherit system; | |
| 83 | pkgs = nixpkgs.legacyPackages.${system}; | |
| 84 | } | |
| 85 | ); | |
| 42 | outputs = | |
| 43 | { | |
| 44 | self, | |
| 45 | nixpkgs, | |
| 46 | nixos-cosmic, | |
| 47 | darwin, | |
| 48 | ... | |
| 49 | }@inputs: | |
| 50 | let | |
| 51 | lib = nixpkgs.lib; | |
| 52 | ||
| 53 | # TODO: apply these overlays sooner and remove uses of legacyPackages elsewhere. | |
| 54 | overlays = [ | |
| 55 | inputs.zig.overlays.default | |
| 56 | inputs.rust-overlay.overlays.default | |
| 57 | inputs.nh.overlays.default | |
| 58 | ||
| 59 | # https://github.com/LnL7/nix-darwin/issues/1041 | |
| 60 | (_: prev: { | |
| 61 | karabiner-elements = prev.karabiner-elements.overrideAttrs (old: { | |
| 62 | version = "14.13.0"; | |
| 63 | ||
| 64 | src = prev.fetchurl { | |
| 65 | inherit (old.src) url; | |
| 66 | hash = "sha256-gmJwoht/Tfm5qMecmq1N6PSAIfWOqsvuHU8VDJY8bLw="; | |
| 67 | }; | |
| 68 | }); | |
| 86 | 69 | }) |
| 87 | systems | |
| 88 | ); | |
| 70 | ]; | |
| 89 | 71 | |
| 90 | mkSystem = import ./lib/mkSystem.nix { | |
| 91 | inherit | |
| 92 | overlays | |
| 93 | nixpkgs | |
| 94 | inputs | |
| 95 | mkNeovim | |
| 96 | ; | |
| 97 | }; | |
| 98 | mkNeovim = import ./lib/mkNeovim.nix { | |
| 99 | inherit self overlays nixpkgs inputs; | |
| 100 | }; | |
| 101 | in rec { | |
| 102 | inherit self; | |
| 103 | # "nix fmt" | |
| 104 | formatter = forAllSystems (inputs: inputs.pkgs.nixfmt-tree); | |
| 105 | packages = forAllSystems ( | |
| 106 | {system, ...}: | |
| 72 | # Users of this flake currently use x86_64 Linux and Apple Silicon | |
| 73 | systems = [ | |
| 74 | "x86_64-linux" | |
| 75 | "aarch64-darwin" | |
| 76 | ]; | |
| 77 | forAllSystems = | |
| 78 | f: | |
| 79 | builtins.listToAttrs ( | |
| 80 | builtins.map (system: { | |
| 81 | name = system; | |
| 82 | value = f ( | |
| 83 | inputs | |
| 84 | // { | |
| 85 | inherit system; | |
| 86 | pkgs = nixpkgs.legacyPackages.${system}; | |
| 87 | } | |
| 88 | ); | |
| 89 | }) systems | |
| 90 | ); | |
| 91 | ||
| 92 | mkSystem = import ./lib/mkSystem.nix { | |
| 93 | inherit | |
| 94 | overlays | |
| 95 | nixpkgs | |
| 96 | inputs | |
| 97 | mkNeovim | |
| 98 | ; | |
| 99 | }; | |
| 100 | mkNeovim = import ./lib/mkNeovim.nix { | |
| 101 | inherit | |
| 102 | self | |
| 103 | overlays | |
| 104 | nixpkgs | |
| 105 | inputs | |
| 106 | ; | |
| 107 | }; | |
| 108 | in | |
| 109 | rec { | |
| 110 | inherit self; | |
| 111 | # "nix fmt" | |
| 112 | formatter = forAllSystems (inputs: inputs.pkgs.nixfmt-tree); | |
| 113 | packages = forAllSystems ( | |
| 114 | { system, ... }: | |
| 107 | 115 | { |
| 108 | 116 | nvim-chloe = mkNeovim "chloe" system; |
| 109 | 117 | nvim-natalie = mkNeovim "natalie" system; |
| ... | ... | @@ -112,47 +120,49 @@ |
| 112 | 120 | # "nix run .#darwin-rebuild" |
| 113 | 121 | darwin-rebuild = darwin.packages.aarch64-darwin.darwin-rebuild; |
| 114 | 122 | } |
| 115 | ); | |
| 116 | ||
| 117 | # natalie's desktop computer | |
| 118 | nixosConfigurations.nixos = mkSystem "nixos" { | |
| 119 | user = "natalie"; | |
| 120 | host = "desktop"; | |
| 121 | system = "x86_64-linux"; | |
| 122 | extraModules = [ | |
| 123 | nixos-cosmic.nixosModules.default | |
| 124 | ]; | |
| 125 | }; | |
| 126 | # natalie's laptop | |
| 127 | darwinConfigurations."Natalies-MacBook-Air" = mkSystem "Natalies-MacBook-Air" { | |
| 128 | user = "natalie"; | |
| 129 | host = "laptop"; | |
| 130 | system = "aarch64-darwin"; | |
| 131 | }; | |
| 123 | ); | |
| 132 | 124 | |
| 133 | # chloe's mac studio "sandwich" | |
| 134 | darwinConfigurations.sandwich = mkSystem "sandwich" { | |
| 135 | user = "chloe"; | |
| 136 | host = "sandwich"; | |
| 137 | system = "aarch64-darwin"; | |
| 138 | }; | |
| 139 | # chloe's macbook air "paperback" | |
| 140 | darwinConfigurations.paperback = mkSystem "paperback" { | |
| 141 | user = "chloe"; | |
| 142 | host = "paperback"; | |
| 143 | system = "aarch64-darwin"; | |
| 125 | # natalie's desktop computer | |
| 126 | nixosConfigurations.nixos = mkSystem "nixos" { | |
| 127 | user = "natalie"; | |
| 128 | host = "desktop"; | |
| 129 | system = "x86_64-linux"; | |
| 130 | extraModules = [ | |
| 131 | nixos-cosmic.nixosModules.default | |
| 132 | ]; | |
| 133 | }; | |
| 134 | # natalie's laptop | |
| 135 | darwinConfigurations."Natalies-MacBook-Air" = mkSystem "Natalies-MacBook-Air" { | |
| 136 | user = "natalie"; | |
| 137 | host = "laptop"; | |
| 138 | system = "aarch64-darwin"; | |
| 139 | }; | |
| 140 | ||
| 141 | # chloe's mac studio "sandwich" | |
| 142 | darwinConfigurations.sandwich = mkSystem "sandwich" { | |
| 143 | user = "chloe"; | |
| 144 | host = "sandwich"; | |
| 145 | system = "aarch64-darwin"; | |
| 146 | }; | |
| 147 | # chloe's macbook air "paperback" | |
| 148 | darwinConfigurations.paperback = mkSystem "paperback" { | |
| 149 | user = "chloe"; | |
| 150 | host = "paperback"; | |
| 151 | system = "aarch64-darwin"; | |
| 152 | }; | |
| 153 | ||
| 154 | # generate checks for "nix flake check --all-systems --no-build" | |
| 155 | checks.aarch64-darwin = builtins.listToAttrs ( | |
| 156 | builtins.map ( | |
| 157 | name: | |
| 158 | let | |
| 159 | d = darwinConfigurations.${name}.system; | |
| 160 | in | |
| 161 | { | |
| 162 | name = "darwinConfiguration-" + d.name; | |
| 163 | value = d; | |
| 164 | } | |
| 165 | ) (builtins.attrNames darwinConfigurations) | |
| 166 | ); | |
| 144 | 167 | }; |
| 145 | ||
| 146 | # generate checks for "nix flake check --all-systems --no-build" | |
| 147 | checks.aarch64-darwin = builtins.listToAttrs ( | |
| 148 | builtins.map ( | |
| 149 | name: let | |
| 150 | d = darwinConfigurations.${name}.system; | |
| 151 | in { | |
| 152 | name = "darwinConfiguration-" + d.name; | |
| 153 | value = d; | |
| 154 | } | |
| 155 | ) (builtins.attrNames darwinConfigurations) | |
| 156 | ); | |
| 157 | }; | |
| 158 | 168 | } |
modules/neovim/default.nix+1-2| ... | ... | @@ -74,7 +74,7 @@ |
| 74 | 74 | }; |
| 75 | 75 | filetree = { |
| 76 | 76 | neo-tree = { |
| 77 | enable = true; | |
| 77 | enable = false; | |
| 78 | 78 | }; |
| 79 | 79 | }; |
| 80 | 80 | tabline = { |
| ... | ... | @@ -133,7 +133,6 @@ |
| 133 | 133 | indent = 2; |
| 134 | 134 | padding = 1; |
| 135 | 135 | } |
| 136 | {section = "startup";} | |
| 137 | 136 | ]; |
| 138 | 137 | }; |
| 139 | 138 | image.enable = true; |
modules/shared/nix.nix+4-3| ... | ... | @@ -1,14 +1,14 @@ |
| 1 | { inputs, ... }: | |
| 2 | { | |
| 1 | {inputs, ...}: { | |
| 3 | 2 | nixpkgs.config = { |
| 4 | 3 | allowUnfree = true; |
| 5 | 4 | }; |
| 6 | 5 | |
| 7 | 6 | nix = { |
| 8 | nixPath = [ "nixpkgs = ${inputs.nixpkgs}" ]; | |
| 7 | # nixPath = ["nixpkgs = ${inputs.nixpkgs}"]; | |
| 9 | 8 | extraOptions = '' |
| 10 | 9 | warn-dirty = false |
| 11 | 10 | ''; |
| 11 | channel.enable = false; | |
| 12 | 12 | |
| 13 | 13 | optimise = { |
| 14 | 14 | automatic = true; |
| ... | ... | @@ -19,6 +19,7 @@ |
| 19 | 19 | "nix-command" |
| 20 | 20 | "flakes" |
| 21 | 21 | ]; |
| 22 | extra-nix-path = "nixpkgs=flake:nixpkgs"; | |
| 22 | 23 | substituters = [ |
| 23 | 24 | "https://cache.nixos.org/?priority=10" |
| 24 | 25 |
users/natalie/packages.nix+3-5| ... | ... | @@ -1,7 +1,6 @@ |
| 1 | 1 | # Packages installed with home-manager |
| 2 | { pkgs, ... }: | |
| 3 | with pkgs; | |
| 4 | [ | |
| 2 | {pkgs, ...}: | |
| 3 | with pkgs; [ | |
| 5 | 4 | #general development |
| 6 | 5 | just |
| 7 | 6 | pkg-config |
| ... | ... | @@ -36,7 +35,7 @@ with pkgs; |
| 36 | 35 | nh |
| 37 | 36 | |
| 38 | 37 | #terminal stuff |
| 39 | (btop.override { cudaSupport = true; }) | |
| 38 | (btop.override {cudaSupport = true;}) | |
| 40 | 39 | tmux |
| 41 | 40 | zellij |
| 42 | 41 | lazygit |
| ... | ... | @@ -83,7 +82,6 @@ with pkgs; |
| 83 | 82 | lua51Packages.lua |
| 84 | 83 | lua51Packages.luarocks-nix |
| 85 | 84 | codespell |
| 86 | typst | |
| 87 | 85 | tree-sitter |
| 88 | 86 | |
| 89 | 87 | #python |
users/natalie/vim.nix+1| ... | ... | @@ -7,5 +7,6 @@ |
| 7 | 7 | name = "catppuccin"; |
| 8 | 8 | style = "mocha"; |
| 9 | 9 | }; |
| 10 | hideSearchHighlight = true; | |
| 10 | 11 | }; |
| 11 | 12 | } |
users/natalie/vim/default.nix+2| ... | ... | @@ -2,5 +2,7 @@ |
| 2 | 2 | imports = [ |
| 3 | 3 | ./keybinds.nix |
| 4 | 4 | ./languages.nix |
| 5 | ./latex.nix | |
| 5 | 6 | ]; |
| 7 | ||
| 6 | 8 | } |
users/natalie/vim/keybinds.nix+7-16| ... | ... | @@ -10,25 +10,16 @@ |
| 10 | 10 | in { |
| 11 | 11 | vim = { |
| 12 | 12 | keymaps = [ |
| 13 | (mkKeymap "n" "<leader>e" "<cmd>lua require('snacks').explorer()<cr>" "File Explorer") | |
| 13 | (mkKeymap "n" "<leader>e" ":lua require('snacks').explorer()<CR>" "File Explorer") | |
| 14 | 14 | |
| 15 | 15 | # Snacks Picker Replaces Telescope!? |
| 16 | (mkKeymap "n" "<leader><space>" "<cmd>lua require('snacks').picker.smart()" "Smart Find Files") | |
| 17 | (mkKeymap "n" "<leader>ff" "<cmd>lua require('snacks').picker.files()<cr>" "Find File") | |
| 18 | # (mkKeymap "n" "<leader>fr" "<cmd>lua require('snacks').picker.recent()<cr>" "Open Recent File") | |
| 19 | (mkKeymap "n" "<leader>fg" "<cmd>lua require('snacks').picker.grep()<cr>" "Grep Files") | |
| 20 | # (mkKeymap "n" "<leader>fb" "<cmd>lua require('snacks').picker.buffers()<cr>" "Grep Buffers") | |
| 21 | # (mkKeymap "n" "<leader>fh" "<cmd>lua require('snacks').picker.help()<cr>" "Grep Help Tags") | |
| 22 | # (mkKeymap "n" "<leader>fg" "<cmd>lua require('snacks').picker.git_files()<cr>" "Grep Git Files") | |
| 23 | # (mkKeymap "n" "<leader>fd" "<cmd>lua require('snacks').picker.diagnostics()<cr>" "Grep Diagnostics") | |
| 24 | # (mkKeymap "n" "<leader>fc" "<cmd>lua require('aerial').snacks_picker()<cr>" "Code Outline") | |
| 25 | ||
| 16 | (mkKeymap "n" "<leader><space>" ":lua require('snacks').picker.smart()<CR>" "Smart Find Files") | |
| 17 | (mkKeymap "n" "<leader>ff" ":lua require('snacks').picker.files()<CR>" "Find File") | |
| 18 | (mkKeymap "n" "<leader>fg" ":lua require('snacks').picker.grep()<CR>" "Grep Files") | |
| 26 | 19 | # Lsp |
| 27 | (mkKeymap "n" "gd" "<cmd>lua require('snacks').picker.lsp_definitions<cr>" "Goto Definition") | |
| 28 | (mkKeymap "n" "gD" "<cmd>lua require('snacks').picker.lsp_declarations<cr>" "Goto Declarations") | |
| 29 | (mkKeymap "n" "gI" "<cmd>lua require('snacks').picker.lsp_implementations<cr>" "Goto Implementation") | |
| 30 | (mkKeymap "n" "gr" "<cmd>lua require('snacks').picker.lsp_references<cr>" "Goto References") | |
| 31 | (mkKeymap "n" "gy" "<cmd>lua require('snacks').picker.lsp_type_definitions<cr>" "Goto T[y]pe Definition") | |
| 20 | (mkKeymap "n" "K" ":lua vim.lsp.buf.hover()<CR>" "Hover docs") | |
| 21 | (mkKeymap "n" "lr" ":lua vim.lsp.buf.rename()<CR>" "Rename") | |
| 22 | # (mkKeymap "n" "<leader>th" ":lua function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) end<CR>" "Toggle Inlay Hints") | |
| 32 | 23 | ]; |
| 33 | 24 | }; |
| 34 | 25 | } |
users/natalie/vim/languages.nix+83-44| ... | ... | @@ -1,54 +1,61 @@ |
| 1 | {flake, ...}: { | |
| 1 | { | |
| 2 | flake, | |
| 3 | userConfig, | |
| 4 | pkgs, | |
| 5 | ... | |
| 6 | }: { | |
| 2 | 7 | vim = { |
| 3 | lsp.servers.nixd.settings = { | |
| 4 | nixd.nixpkgs.expr = "import '${flake.inputs.nixpkgs}' { }"; | |
| 8 | extraPackages = with pkgs; [ | |
| 9 | python312Packages.pylatexenc | |
| 10 | ]; | |
| 11 | lsp = { | |
| 12 | nvim-docs-view.enable = true; | |
| 13 | inlayHints.enable = true; | |
| 14 | servers.nixd.settings = { | |
| 15 | nixd.nixpkgs.expr = ''import "${flake.inputs.nixpkgs}" { }''; | |
| 16 | options = { | |
| 17 | nixos = { | |
| 18 | expr = '' | |
| 19 | (let pkgs = import "${flake.inputs.nixpkgs}" {}; inherit (pkgs) lib; in (lib.evalModules { modules = (import "${flake.inputs.nixpkgs}/nixos/modules/module-list.nix"); check = false;})).options''; | |
| 20 | }; | |
| 21 | nix_darwin = { | |
| 22 | expr = '' | |
| 23 | (let pkgs = import "${flake.inputs.nixpkgs}" {}; inherit (pkgs) lib; in (lib.evalModules { modules = import ("${flake.inputs.darwin}/modules/module-list.nix"); check = false;})).options''; | |
| 24 | }; | |
| 25 | home_manager = { | |
| 26 | expr = '' | |
| 27 | (let pkgs = import "${flake.inputs.nixpkgs}" {}; lib = import "${flake.inputs.home-manager}/modules/lib/stdlib-extended.nix" pkgs.lib; in (lib.evalModules { modules = (import "${flake.inputs.home-manager}/modules/modules.nix") { inherit lib pkgs; check = false; };})).options''; | |
| 28 | }; | |
| 29 | }; | |
| 30 | mappings = { | |
| 31 | codeAction = "<leader>ca"; | |
| 32 | goToDeclaration = "gD"; | |
| 33 | goToDefinition = "gd"; | |
| 34 | listReferences = "gr"; | |
| 35 | goToType = "gy"; | |
| 36 | hover = "K"; | |
| 37 | nextDiagnostic = "<leader>d"; | |
| 38 | openDiagnosticFloat = "<leader>df"; | |
| 39 | renameSymbol = "rn"; | |
| 40 | documentHighlight = null; | |
| 41 | listDocumentSymbols = null; | |
| 42 | listImplementations = null; | |
| 43 | listWorkspaceFolders = null; | |
| 44 | previousDiagnostic = null; | |
| 45 | removeWorkspaceFolder = null; | |
| 46 | signatureHelp = null; | |
| 47 | toggleFormatOnSave = null; | |
| 48 | }; | |
| 49 | }; | |
| 5 | 50 | }; |
| 6 | 51 | languages = { |
| 7 | 52 | enableDAP = true; |
| 8 | haskell.enable = true; | |
| 53 | # haskell.enable = true; | |
| 9 | 54 | lua.enable = true; |
| 10 | 55 | python.enable = true; |
| 11 | 56 | python.format.type = "ruff"; |
| 12 | # markdown.extensions.markview-nvim = { | |
| 13 | # enable = true; | |
| 14 | # setupOpts = { | |
| 15 | # }; | |
| 16 | # }; | |
| 17 | nix = { | |
| 18 | lsp = { | |
| 19 | server = "nixd"; | |
| 20 | options = { | |
| 21 | nixos = { | |
| 22 | expr = "(let | |
| 23 | pkgs = import '${flake.inputs.nixpkgs}' {}; | |
| 24 | inherit (pkgs) lib; | |
| 25 | in (lib.evalModules { | |
| 26 | modules = import '${flake.inputs.nixpkgs}/nixos/modules/module-list.nix'; | |
| 27 | check = false; | |
| 28 | })).options"; | |
| 29 | }; | |
| 30 | nix_darwin = { | |
| 31 | expr = "(let | |
| 32 | pkgs = import ''${flake.inputs.nixpkgs}' {}; | |
| 33 | inherit (pkgs) lib; | |
| 34 | in (lib.evalModules { | |
| 35 | modules = import '${flake.inputs.darwin}/modules/module-list.nix'; | |
| 36 | check = false; | |
| 37 | })).options"; | |
| 38 | }; | |
| 39 | home_manager = { | |
| 40 | expr = "(let | |
| 41 | pkgs = import '${flake.inputs.nixpkgs}' {}; | |
| 42 | lib = import '${flake.inputs.home-manager}/modules/lib/stdlib-extended.nix' pkgs.lib; | |
| 43 | in (lib.evalModules { | |
| 44 | modules = (import '${flake.inputs.home-manager}/modules/modules.nix') { | |
| 45 | inherit lib pkgs; | |
| 46 | check = false; | |
| 47 | }; | |
| 48 | })).options"; | |
| 49 | }; | |
| 50 | }; | |
| 51 | }; | |
| 57 | markdown.extensions.render-markdown-nvim = { | |
| 58 | enable = true; | |
| 52 | 59 | }; |
| 53 | 60 | }; |
| 54 | 61 | formatter.conform-nvim = { |
| ... | ... | @@ -69,5 +76,37 @@ |
| 69 | 76 | haskell = ["hlint"]; |
| 70 | 77 | }; |
| 71 | 78 | }; |
| 79 | treesitter = { | |
| 80 | enable = true; | |
| 81 | fold = true; | |
| 82 | addDefaultGrammars = true; | |
| 83 | highlight = { | |
| 84 | additionalVimRegexHighlighting = true; | |
| 85 | }; | |
| 86 | ||
| 87 | context.enable = true; | |
| 88 | highlight.enable = true; | |
| 89 | indent.enable = true; | |
| 90 | }; | |
| 91 | ||
| 92 | visuals = { | |
| 93 | fidget-nvim = { | |
| 94 | setupOpts = { | |
| 95 | logger.level = "trace"; | |
| 96 | }; | |
| 97 | }; | |
| 98 | }; | |
| 99 | autocomplete.blink-cmp = { | |
| 100 | enable = true; | |
| 101 | # mappings = { | |
| 102 | # }; | |
| 103 | ||
| 104 | setupOpts = { | |
| 105 | completion = { | |
| 106 | ghost_text.enabled = false; | |
| 107 | list.selection.preselect = true; | |
| 108 | }; | |
| 109 | }; | |
| 110 | }; | |
| 72 | 111 | }; |
| 73 | 112 | } |
users/natalie/vim/latex.nix created+55| ... | ... | @@ -0,0 +1,55 @@ |
| 1 | {pkgs, ...}: { | |
| 2 | vim = { | |
| 3 | lazy.plugins.vimtex = { | |
| 4 | enabled = true; | |
| 5 | package = pkgs.vimPlugins.vimtex; | |
| 6 | lazy = true; | |
| 7 | ft = "tex"; | |
| 8 | }; | |
| 9 | ||
| 10 | globals = { | |
| 11 | tex_flavor = "latex"; | |
| 12 | maplocalleader = "\\"; | |
| 13 | vimtex_compiler_method = "latexmk"; | |
| 14 | vimtex_view_method = "zathura"; | |
| 15 | vimtex_compiler_latexmk = { | |
| 16 | callback = 1; | |
| 17 | continuous = 1; | |
| 18 | executable = "latexmk"; | |
| 19 | hooks = []; | |
| 20 | options = [ | |
| 21 | "-verbose" | |
| 22 | "-file-line-error" | |
| 23 | "-synctex=1" | |
| 24 | "-interaction=nonstopmode" | |
| 25 | "-shell-escape" | |
| 26 | ]; | |
| 27 | }; | |
| 28 | vimtex_log_ignore = [ | |
| 29 | "Underfull" | |
| 30 | "Overfull" | |
| 31 | "specifier changed to" | |
| 32 | "Token not allowed in a PDF string" | |
| 33 | ]; | |
| 34 | vimtex_quickfix_ignore_filters = [ | |
| 35 | "Underfull" | |
| 36 | "Overfull" | |
| 37 | ]; | |
| 38 | }; | |
| 39 | ||
| 40 | lsp = { | |
| 41 | servers = { | |
| 42 | texlab = { | |
| 43 | enable = true; | |
| 44 | cmd = ["${pkgs.texlab}/bin/texlab"]; | |
| 45 | filetypes = ["tex"]; | |
| 46 | }; | |
| 47 | }; | |
| 48 | }; | |
| 49 | treesitter = { | |
| 50 | grammars = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [ | |
| 51 | latex | |
| 52 | ]; | |
| 53 | }; | |
| 54 | }; | |
| 55 | } |