| ... | ... | @@ -5,49 +5,57 @@ |
| 5 | 5 | pkgs, |
| 6 | 6 | ... |
| 7 | 7 | }: |
| 8 | | let |
| 9 | | darwin = if host.darwin then "darwin" else "nixos"; |
| 10 | | flakePath = "/${if host.darwin then "Users" else "home"}/${user.username}/.dotfiles"; |
| 11 | | |
| 12 | | # BIG HACK DO NOT DO PLS |
| 13 | | |
| 14 | | hostname = if host.darwin then "Natalies-MacBook-Air" else "nixos"; |
| 15 | | in |
| 16 | 8 | { |
| 17 | 9 | vim = { |
| 18 | 10 | extraPackages = with pkgs; [ |
| 19 | 11 | python312Packages.pylatexenc |
| 12 | nixd |
| 20 | 13 | ]; |
| 21 | 14 | lsp = { |
| 22 | 15 | lightbulb.enable = false; |
| 23 | | lspsaga = { |
| 24 | | enable = true; |
| 25 | | setupOpts = { |
| 26 | | lightbulb = { |
| 27 | | virtual_text = false; |
| 16 | # lspsaga = { |
| 17 | # enable = true; |
| 18 | # setupOpts = { |
| 19 | # lightbulb = { |
| 20 | # virtual_text = false; |
| 21 | # }; |
| 22 | # }; |
| 23 | # }; |
| 24 | inlayHints.enable = true; |
| 25 | servers = { |
| 26 | nil = { |
| 27 | settings.nil.nix.flake = { |
| 28 | |
| 29 | autoArchive = true; |
| 30 | autoEvalInputs = true; |
| 31 | |
| 28 | 32 | }; |
| 29 | 33 | }; |
| 30 | | }; |
| 31 | | nvim-docs-view.enable = true; |
| 32 | | inlayHints.enable = true; |
| 33 | | servers.nixd.settings.nixd = { |
| 34 | | nixpkgs.expr = ''import "<nixpkgs>" { }''; |
| 35 | | options = |
| 36 | | { |
| 37 | | home-manager = { |
| 38 | | expr = ''(builtins.getFlake "${flakePath}").${darwin}Configurations.${hostname}.options.home-manager.users.type.getSubOptions [ ]''; |
| 39 | | }; |
| 40 | | } |
| 41 | | // pkgs.lib.optionalAttrs host.darwin { |
| 42 | | nix-darwin = { |
| 43 | | expr = ''(builtins.getFlake "${flakePath}").darwinConfigurations.${hostname}.options''; |
| 44 | | }; |
| 45 | | } |
| 46 | | // pkgs.lib.optionalAttrs host.linux { |
| 47 | | nixos = { |
| 48 | | expr = ''(builtins.getFlake "${flakePath}").nixosConfigurations.${hostname}.options''; |
| 49 | | }; |
| 34 | nixd = { |
| 35 | settings.nixd = { |
| 36 | nixpkgs.expr = ''import "${flake.inputs.nixpkgs}" { }''; |
| 37 | |
| 38 | options = |
| 39 | { |
| 40 | home-manager = { |
| 41 | expr = ''(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''; |
| 42 | # (builtins.getFlake "${flakePath}").${darwin}Configurations.${hostname}.options.home-manager.users.type.getSubOptions [ ]''; |
| 43 | }; |
| 44 | } |
| 45 | // pkgs.lib.optionalAttrs host.darwin { |
| 46 | nix-darwin = { |
| 47 | expr = ''(let pkgs = import "${flake.inputs.nixpkgs}" { }; in (pkgs.lib.evalModules { modules = (import "${flake.inputs.darwin}/modules/module-list.nix"); check = false;})).options''; |
| 48 | # (builtins.getFlake "${flakePath}").darwinConfigurations.${hostname}.options''; |
| 49 | }; |
| 50 | } |
| 51 | // pkgs.lib.optionalAttrs host.linux { |
| 52 | nixos = { |
| 53 | expr = ''(let pkgs = import "${flake.inputs.nixpkgs}" { }; in (pkgs.lib.evalModules { modules = (import "${flake.inputs.nixpkgs}/nixos/modules/module-list.nix"); check = false;})).options''; |
| 54 | # (builtins.getFlake "${flakePath}").nixosConfigurations.${hostname}.options''; |
| 55 | }; |
| 56 | }; |
| 50 | 57 | }; |
| 58 | }; |
| 51 | 59 | }; |
| 52 | 60 | mappings = { |
| 53 | 61 | codeAction = "<leader>ca"; |
| ... | ... | @@ -55,7 +63,7 @@ in |
| 55 | 63 | goToDefinition = "gd"; |
| 56 | 64 | listReferences = "gr"; |
| 57 | 65 | goToType = "gy"; |
| 58 | | hover = null; |
| 66 | hover = "K"; |
| 59 | 67 | nextDiagnostic = "<leader>d"; |
| 60 | 68 | openDiagnosticFloat = "<leader>df"; |
| 61 | 69 | renameSymbol = "rn"; |
| ... | ... | @@ -91,7 +99,6 @@ in |
| 91 | 99 | }; |
| 92 | 100 | }; |
| 93 | 101 | }; |
| 94 | | |
| 95 | 102 | diagnostics = { |
| 96 | 103 | enable = true; |
| 97 | 104 | config = { |
| ... | ... | @@ -177,5 +184,32 @@ in |
| 177 | 184 | }; |
| 178 | 185 | }; |
| 179 | 186 | }; |
| 187 | |
| 188 | lazy.plugins."blink.pairs" = { |
| 189 | enabled = true; |
| 190 | package = pkgs.vimPlugins.blink-pairs; |
| 191 | setupModule = "blink.pairs"; |
| 192 | setupOpts = { |
| 193 | mappings = { |
| 194 | # -- you can call require("blink.pairs.mappings").enable() and require("blink.pairs.mappings").disable() to enable/disable mappings at runtime |
| 195 | enabled = true; |
| 196 | # -- see the defaults: https://github.com/Saghen/blink.pairs/blob/main/lua/blink/pairs/config/mappings.lua#L10 |
| 197 | pairs = [ ]; |
| 198 | }; |
| 199 | highlights = { |
| 200 | enabled = true; |
| 201 | groups = [ |
| 202 | "BlinkPairsOrange" |
| 203 | "BlinkPairsPurple" |
| 204 | "BlinkPairsBlue" |
| 205 | ]; |
| 206 | matchparen = { |
| 207 | enabled = true; |
| 208 | group = "MatchParen"; |
| 209 | }; |
| 210 | }; |
| 211 | debug = false; |
| 212 | }; |
| 213 | }; |
| 180 | 214 | }; |
| 181 | 215 | } |