From d3de8874bc9b8937314d05234d701ab265cafc69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thea=20Sch=C3=B6bl?= Date: Fri, 20 Jun 2025 17:11:43 +0200 Subject: [PATCH] refactor: restructure --- flake.nix | 13 +- modules/home-manager/default.nix | 5 +- .../presets => modules/nixvim}/aerial.nix | 0 .../nixvim}/auto-format.nix | 0 .../presets => modules/nixvim}/auto-save.nix | 0 .../nixvim}/base/completion.nix | 0 .../nixvim}/base/coverage.nix | 0 .../nixvim}/base/diagnostics.nix | 9 +- .../presets => modules/nixvim}/base/find.nix | 0 .../nixvim}/base/formatting.nix | 0 .../nixvim}/base/minimap.nix | 0 .../nixvim}/base/spellcheck.nix | 0 .../nixvim}/base/status-line.nix | 0 .../nixvim}/base/syntax.nix | 0 .../presets => modules/nixvim}/base/tree.nix | 0 .../presets => modules/nixvim}/default.nix | 10 +- .../presets => modules/nixvim}/harpoon.nix | 0 .../nixvim}/languages/angular.nix | 0 .../nixvim}/languages/c.nix | 0 .../nixvim}/languages/css.nix | 0 .../nixvim}/languages/dart.nix | 0 .../nixvim}/languages/js.nix | 0 .../nixvim}/languages/lua.nix | 0 .../modules/nixvim/languages/nix.nix | 48 ++++++++ .../nixvim}/languages/python.nix | 0 .../nixvim}/languages/rust.nix | 0 .../nixvim}/languages/shell.nix | 0 .../nixvim}/languages/svelte.nix | 0 .../presets => modules/nixvim}/lazygit.nix | 0 .../presets => modules/nixvim}/mergetool.nix | 0 .../nixvim}/remaps/half-page-scroll.nix | 0 .../nixvim}/remaps/no-accidental-macro.nix | 0 .../nixvim}/remaps/paste-keep-buffer.nix | 0 .../nixvim}/remaps/wrapped-line-nav.nix | 0 .../presets => modules/nixvim}/trouble.nix | 0 .../presets => modules/nixvim}/undotree.nix | 0 modules/home-manager/programs/default.nix | 2 - modules/home-manager/programs/git.nix | 39 +++--- modules/home-manager/programs/nixvim.nix | 116 ++++++++++++++++++ .../home-manager/programs/nixvim/default.nix | 115 ----------------- .../programs/nixvim/presets/languages/nix.nix | 27 ---- 41 files changed, 212 insertions(+), 172 deletions(-) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/aerial.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/auto-format.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/auto-save.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/base/completion.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/base/coverage.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/base/diagnostics.nix (94%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/base/find.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/base/formatting.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/base/minimap.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/base/spellcheck.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/base/status-line.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/base/syntax.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/base/tree.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/default.nix (92%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/harpoon.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/languages/angular.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/languages/c.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/languages/css.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/languages/dart.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/languages/js.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/languages/lua.nix (100%) create mode 100644 modules/home-manager/modules/nixvim/languages/nix.nix rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/languages/python.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/languages/rust.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/languages/shell.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/languages/svelte.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/lazygit.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/mergetool.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/remaps/half-page-scroll.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/remaps/no-accidental-macro.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/remaps/paste-keep-buffer.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/remaps/wrapped-line-nav.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/trouble.nix (100%) rename modules/home-manager/{programs/nixvim/presets => modules/nixvim}/undotree.nix (100%) create mode 100644 modules/home-manager/programs/nixvim.nix delete mode 100644 modules/home-manager/programs/nixvim/default.nix delete mode 100644 modules/home-manager/programs/nixvim/presets/languages/nix.nix diff --git a/flake.nix b/flake.nix index 6d1bb41..3382fa3 100644 --- a/flake.nix +++ b/flake.nix @@ -86,20 +86,25 @@ if config.hardware.nvidia.prime.offload.enable then GPUOffloadApp pkg desktopName else pkg; in { - inherit username gpu-offload; + inherit username hostname gpu-offload; }; + nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; networking.hostName = hostname; services.flatpak.enable = true; home-manager = { useGlobalPkgs = true; useUserPackages = true; extraSpecialArgs = { - inherit username inputs; + inherit username hostname inputs; }; + sharedModules = [ + matugen.homeManagerModules.default + nix-flatpak.homeManagerModules.nix-flatpak + inputs.nixvim.homeManagerModules.nixvim + ./modules/home-manager/modules/nixvim + ]; users.${username} = { imports = [ - matugen.homeManagerModules.default - nix-flatpak.homeManagerModules.nix-flatpak ./modules/home-manager ./hosts/${hostname}/home.nix ]; diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index efa3ad2..8f56641 100755 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -1,7 +1,6 @@ { username, osConfig, - inputs, ... }: { @@ -11,9 +10,9 @@ homeDirectory = "/home/${username}"; }; imports = [ - inputs.nixvim.homeManagerModules.nixvim - ./programs/nixvim/presets ./programs/neovide.nix + ./programs/nixvim.nix + ./programs/git.nix ./packages ./programs ./services diff --git a/modules/home-manager/programs/nixvim/presets/aerial.nix b/modules/home-manager/modules/nixvim/aerial.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/aerial.nix rename to modules/home-manager/modules/nixvim/aerial.nix diff --git a/modules/home-manager/programs/nixvim/presets/auto-format.nix b/modules/home-manager/modules/nixvim/auto-format.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/auto-format.nix rename to modules/home-manager/modules/nixvim/auto-format.nix diff --git a/modules/home-manager/programs/nixvim/presets/auto-save.nix b/modules/home-manager/modules/nixvim/auto-save.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/auto-save.nix rename to modules/home-manager/modules/nixvim/auto-save.nix diff --git a/modules/home-manager/programs/nixvim/presets/base/completion.nix b/modules/home-manager/modules/nixvim/base/completion.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/base/completion.nix rename to modules/home-manager/modules/nixvim/base/completion.nix diff --git a/modules/home-manager/programs/nixvim/presets/base/coverage.nix b/modules/home-manager/modules/nixvim/base/coverage.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/base/coverage.nix rename to modules/home-manager/modules/nixvim/base/coverage.nix diff --git a/modules/home-manager/programs/nixvim/presets/base/diagnostics.nix b/modules/home-manager/modules/nixvim/base/diagnostics.nix similarity index 94% rename from modules/home-manager/programs/nixvim/presets/base/diagnostics.nix rename to modules/home-manager/modules/nixvim/base/diagnostics.nix index a2951e7..0643487 100644 --- a/modules/home-manager/programs/nixvim/presets/base/diagnostics.nix +++ b/modules/home-manager/modules/nixvim/base/diagnostics.nix @@ -40,6 +40,13 @@ in action.__raw = # lua "function() vim.diagnostic.open_float(nil) end"; } + { + key = "sa"; + mode = "n"; + options.silent = true; + action.__raw = # lua + "require('actions-preview').code_actions"; + } { key = "sx"; mode = "n"; @@ -67,6 +74,7 @@ in } ]; plugins = { + actions-preview.enable = true; lsp = { enable = true; inlayHints = false; @@ -79,7 +87,6 @@ in "si" = "lsp_implementations"; "sw" = "lsp_workspace_symbols"; "st" = "lsp_type_definitions"; - "sa" = "quickfix"; }; }; inc-rename.enable = true; diff --git a/modules/home-manager/programs/nixvim/presets/base/find.nix b/modules/home-manager/modules/nixvim/base/find.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/base/find.nix rename to modules/home-manager/modules/nixvim/base/find.nix diff --git a/modules/home-manager/programs/nixvim/presets/base/formatting.nix b/modules/home-manager/modules/nixvim/base/formatting.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/base/formatting.nix rename to modules/home-manager/modules/nixvim/base/formatting.nix diff --git a/modules/home-manager/programs/nixvim/presets/base/minimap.nix b/modules/home-manager/modules/nixvim/base/minimap.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/base/minimap.nix rename to modules/home-manager/modules/nixvim/base/minimap.nix diff --git a/modules/home-manager/programs/nixvim/presets/base/spellcheck.nix b/modules/home-manager/modules/nixvim/base/spellcheck.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/base/spellcheck.nix rename to modules/home-manager/modules/nixvim/base/spellcheck.nix diff --git a/modules/home-manager/programs/nixvim/presets/base/status-line.nix b/modules/home-manager/modules/nixvim/base/status-line.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/base/status-line.nix rename to modules/home-manager/modules/nixvim/base/status-line.nix diff --git a/modules/home-manager/programs/nixvim/presets/base/syntax.nix b/modules/home-manager/modules/nixvim/base/syntax.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/base/syntax.nix rename to modules/home-manager/modules/nixvim/base/syntax.nix diff --git a/modules/home-manager/programs/nixvim/presets/base/tree.nix b/modules/home-manager/modules/nixvim/base/tree.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/base/tree.nix rename to modules/home-manager/modules/nixvim/base/tree.nix diff --git a/modules/home-manager/programs/nixvim/presets/default.nix b/modules/home-manager/modules/nixvim/default.nix similarity index 92% rename from modules/home-manager/programs/nixvim/presets/default.nix rename to modules/home-manager/modules/nixvim/default.nix index 22ab889..47f6453 100644 --- a/modules/home-manager/programs/nixvim/presets/default.nix +++ b/modules/home-manager/modules/nixvim/default.nix @@ -1,9 +1,15 @@ -{ lib, pkgs, ... }: +{ + lib, + pkgs, + hostname, + username, + ... +}: { options.programs.nixvim = lib.mkOption { type = pkgs.lib.types.submoduleWith { specialArgs = { - inherit pkgs; + inherit pkgs hostname username; }; modules = [ ./aerial.nix diff --git a/modules/home-manager/programs/nixvim/presets/harpoon.nix b/modules/home-manager/modules/nixvim/harpoon.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/harpoon.nix rename to modules/home-manager/modules/nixvim/harpoon.nix diff --git a/modules/home-manager/programs/nixvim/presets/languages/angular.nix b/modules/home-manager/modules/nixvim/languages/angular.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/languages/angular.nix rename to modules/home-manager/modules/nixvim/languages/angular.nix diff --git a/modules/home-manager/programs/nixvim/presets/languages/c.nix b/modules/home-manager/modules/nixvim/languages/c.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/languages/c.nix rename to modules/home-manager/modules/nixvim/languages/c.nix diff --git a/modules/home-manager/programs/nixvim/presets/languages/css.nix b/modules/home-manager/modules/nixvim/languages/css.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/languages/css.nix rename to modules/home-manager/modules/nixvim/languages/css.nix diff --git a/modules/home-manager/programs/nixvim/presets/languages/dart.nix b/modules/home-manager/modules/nixvim/languages/dart.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/languages/dart.nix rename to modules/home-manager/modules/nixvim/languages/dart.nix diff --git a/modules/home-manager/programs/nixvim/presets/languages/js.nix b/modules/home-manager/modules/nixvim/languages/js.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/languages/js.nix rename to modules/home-manager/modules/nixvim/languages/js.nix diff --git a/modules/home-manager/programs/nixvim/presets/languages/lua.nix b/modules/home-manager/modules/nixvim/languages/lua.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/languages/lua.nix rename to modules/home-manager/modules/nixvim/languages/lua.nix diff --git a/modules/home-manager/modules/nixvim/languages/nix.nix b/modules/home-manager/modules/nixvim/languages/nix.nix new file mode 100644 index 0000000..7482474 --- /dev/null +++ b/modules/home-manager/modules/nixvim/languages/nix.nix @@ -0,0 +1,48 @@ +{ + lib, + pkgs, + hostname, + config, + ... +}: +let + cfg = config.presets.languages.nix; +in +{ + options.presets.languages.nix = { + enable = lib.mkEnableOption "Nix"; + }; + + config = lib.mkIf cfg.enable { + plugins = { + conform-nvim.settings.formatters_by_ft.nix = [ "nixfmt" ]; + lsp.servers = { + nixd = { + enable = true; + settings = { + nixpkgs.expr = # nix + "import (builtins.getFlake (builtins.toString ./.)).inputs.nixpkgs { }"; + formatting.command = [ "nixfmt" ]; + options = { + nixos.expr = # nix + "(builtins.getFlake (builtins.toString ./.)).nixosConfigurations.${hostname}.options"; + home-manager.expr = # nix + "(builtins.getFlake (builtins.toString ./.)).nixosConfigurations.${hostname}.options.home-manager.users.type.getSubOptions []"; + }; + }; + }; + nil_ls = { + enable = false; + settings = { + formatting.command = [ "nixfmt" ]; + nix = { + maxMemoryMB = 8192; + flake.autoEvalInputs = true; + }; + }; + }; + }; + }; + extraPackages = [ pkgs.nixfmt-rfc-style ]; + }; +} diff --git a/modules/home-manager/programs/nixvim/presets/languages/python.nix b/modules/home-manager/modules/nixvim/languages/python.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/languages/python.nix rename to modules/home-manager/modules/nixvim/languages/python.nix diff --git a/modules/home-manager/programs/nixvim/presets/languages/rust.nix b/modules/home-manager/modules/nixvim/languages/rust.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/languages/rust.nix rename to modules/home-manager/modules/nixvim/languages/rust.nix diff --git a/modules/home-manager/programs/nixvim/presets/languages/shell.nix b/modules/home-manager/modules/nixvim/languages/shell.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/languages/shell.nix rename to modules/home-manager/modules/nixvim/languages/shell.nix diff --git a/modules/home-manager/programs/nixvim/presets/languages/svelte.nix b/modules/home-manager/modules/nixvim/languages/svelte.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/languages/svelte.nix rename to modules/home-manager/modules/nixvim/languages/svelte.nix diff --git a/modules/home-manager/programs/nixvim/presets/lazygit.nix b/modules/home-manager/modules/nixvim/lazygit.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/lazygit.nix rename to modules/home-manager/modules/nixvim/lazygit.nix diff --git a/modules/home-manager/programs/nixvim/presets/mergetool.nix b/modules/home-manager/modules/nixvim/mergetool.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/mergetool.nix rename to modules/home-manager/modules/nixvim/mergetool.nix diff --git a/modules/home-manager/programs/nixvim/presets/remaps/half-page-scroll.nix b/modules/home-manager/modules/nixvim/remaps/half-page-scroll.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/remaps/half-page-scroll.nix rename to modules/home-manager/modules/nixvim/remaps/half-page-scroll.nix diff --git a/modules/home-manager/programs/nixvim/presets/remaps/no-accidental-macro.nix b/modules/home-manager/modules/nixvim/remaps/no-accidental-macro.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/remaps/no-accidental-macro.nix rename to modules/home-manager/modules/nixvim/remaps/no-accidental-macro.nix diff --git a/modules/home-manager/programs/nixvim/presets/remaps/paste-keep-buffer.nix b/modules/home-manager/modules/nixvim/remaps/paste-keep-buffer.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/remaps/paste-keep-buffer.nix rename to modules/home-manager/modules/nixvim/remaps/paste-keep-buffer.nix diff --git a/modules/home-manager/programs/nixvim/presets/remaps/wrapped-line-nav.nix b/modules/home-manager/modules/nixvim/remaps/wrapped-line-nav.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/remaps/wrapped-line-nav.nix rename to modules/home-manager/modules/nixvim/remaps/wrapped-line-nav.nix diff --git a/modules/home-manager/programs/nixvim/presets/trouble.nix b/modules/home-manager/modules/nixvim/trouble.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/trouble.nix rename to modules/home-manager/modules/nixvim/trouble.nix diff --git a/modules/home-manager/programs/nixvim/presets/undotree.nix b/modules/home-manager/modules/nixvim/undotree.nix similarity index 100% rename from modules/home-manager/programs/nixvim/presets/undotree.nix rename to modules/home-manager/modules/nixvim/undotree.nix diff --git a/modules/home-manager/programs/default.nix b/modules/home-manager/programs/default.nix index e785076..4b7974d 100644 --- a/modules/home-manager/programs/default.nix +++ b/modules/home-manager/programs/default.nix @@ -14,8 +14,6 @@ pinentry = pkgs.pinentry-gnome3; }; }; - git = import ./git.nix; - nixvim = import ./nixvim { inherit pkgs; }; gpg.enable = true; btop = { enable = true; diff --git a/modules/home-manager/programs/git.nix b/modules/home-manager/programs/git.nix index db66dbf..218b339 100644 --- a/modules/home-manager/programs/git.nix +++ b/modules/home-manager/programs/git.nix @@ -1,23 +1,26 @@ +{ ... }: { - enable = true; - userName = "Thea Schöbl"; - userEmail = "dev@theaninova.de"; - signing = { - key = "6C9E EFC5 1AE0 0131 78DE B9C8 68FF FB1E C187 88CA"; - signByDefault = true; - }; - extraConfig = { - pull.rebase = true; - init.defaultBranch = "main"; - merge = { - tool = "nvim-mergetool"; - conflictstyle = "diff3"; + programs.git = { + enable = true; + userName = "Thea Schöbl"; + userEmail = "dev@theaninova.de"; + signing = { + key = "6C9E EFC5 1AE0 0131 78DE B9C8 68FF FB1E C187 88CA"; + signByDefault = true; }; - mergetool.nvim-mergetool = { - cmd = # sh - ''nvim -f -c "MergetoolStart" "$MERGED" "$BASE" "$LOCAL" "$REMOTE"''; - trustExitCode = true; + extraConfig = { + pull.rebase = true; + init.defaultBranch = "main"; + merge = { + tool = "nvim-mergetool"; + conflictstyle = "diff3"; + }; + mergetool.nvim-mergetool = { + cmd = # sh + ''nvim -f -c "MergetoolStart" "$MERGED" "$BASE" "$LOCAL" "$REMOTE"''; + trustExitCode = true; + }; + mergetool.prompt = false; }; - mergetool.prompt = false; }; } diff --git a/modules/home-manager/programs/nixvim.nix b/modules/home-manager/programs/nixvim.nix new file mode 100644 index 0000000..7fbfb05 --- /dev/null +++ b/modules/home-manager/programs/nixvim.nix @@ -0,0 +1,116 @@ +{ ... }: +{ + programs.nixvim = { + enable = true; + defaultEditor = true; + vimAlias = true; + + opts = { + number = true; + relativenumber = true; + + tabstop = 2; + softtabstop = 2; + shiftwidth = 2; + expandtab = true; + smartindent = true; + signcolumn = "yes"; + + scrolloff = 12; + + hlsearch = false; + incsearch = true; + + updatetime = 50; + + fillchars.eob = " "; + }; + clipboard = { + register = "unnamedplus"; + providers.wl-copy.enable = true; + }; + globals.mapleader = ";"; + + presets = { + auto-save.enable = true; + auto-format.enable = true; + harpoon.enable = false; + lazygit.enable = true; + mergetool.enable = true; + trouble.enable = false; + undotree.enable = true; + aerial.enable = true; + base = { + completion = { + enable = true; + copilot = true; + }; + diagnostics.enable = true; + coverage.enable = true; + find.enable = true; + formatting = { + enable = true; + prettier = true; + }; + spellcheck.enable = true; + status-line.enable = true; + syntax.enable = true; + tree.enable = true; + }; + languages = { + angular.enable = true; + c = { + enable = true; + }; + css = { + enable = true; + stylelint = true; + }; + dart.enable = true; + js = { + enable = true; + eslint = true; + npm = true; + }; + lua.enable = true; + nix.enable = true; + python.enable = true; + rust.enable = true; + shell.enable = true; + svelte.enable = true; + }; + remaps = { + half-page-scroll.enable = true; + no-accidental-macro.enable = true; + paste-keep-buffer.enable = true; + wrapped-line-nav.enable = true; + }; + }; + + plugins = { + vim-surround.enable = true; + which-key.enable = true; + schemastore.enable = true; + comment.enable = true; + debugprint.enable = true; + todo-comments.enable = true; + treesitter-context = { + enable = false; # TODO: looks weird with Neovide + settings = { + line_numbers = false; + }; + }; + + lsp.servers = { + html.enable = true; + svelte.enable = true; + + dockerls.enable = true; + + yamlls.enable = true; + jsonls.enable = true; + taplo.enable = true; + }; + }; + }; +} diff --git a/modules/home-manager/programs/nixvim/default.nix b/modules/home-manager/programs/nixvim/default.nix deleted file mode 100644 index d724207..0000000 --- a/modules/home-manager/programs/nixvim/default.nix +++ /dev/null @@ -1,115 +0,0 @@ -{ pkgs }: -{ - enable = true; - defaultEditor = true; - vimAlias = true; - - opts = { - number = true; - relativenumber = true; - - tabstop = 2; - softtabstop = 2; - shiftwidth = 2; - expandtab = true; - smartindent = true; - signcolumn = "yes"; - - scrolloff = 12; - - hlsearch = false; - incsearch = true; - - updatetime = 50; - - fillchars.eob = " "; - }; - clipboard = { - register = "unnamedplus"; - providers.wl-copy.enable = true; - }; - globals.mapleader = ";"; - - presets = { - auto-save.enable = true; - auto-format.enable = true; - # harpoon.enable = true; - lazygit.enable = true; - mergetool.enable = true; - trouble.enable = true; - undotree.enable = true; - aerial.enable = true; - base = { - completion = { - enable = true; - copilot = true; - }; - diagnostics.enable = true; - coverage.enable = true; - find.enable = true; - formatting = { - enable = true; - prettier = true; - }; - spellcheck.enable = false; - status-line.enable = true; - syntax.enable = true; - tree.enable = true; - }; - languages = { - angular.enable = true; - c = { - enable = true; - # cppcheck = true; - }; - css = { - enable = true; - stylelint = true; - }; - dart.enable = true; - js = { - enable = true; - eslint = true; - npm = true; - }; - lua.enable = true; - nix.enable = true; - python.enable = true; - rust.enable = true; - shell.enable = true; - svelte.enable = true; - }; - remaps = { - half-page-scroll.enable = true; - no-accidental-macro.enable = true; - paste-keep-buffer.enable = true; - wrapped-line-nav.enable = true; - }; - }; - - plugins = { - vim-surround.enable = true; - which-key.enable = true; - schemastore.enable = true; - comment.enable = true; - debugprint.enable = true; - todo-comments.enable = true; - treesitter-context = { - enable = false; # TODO: looks weird with Neovide - settings = { - line_numbers = false; - }; - }; - - lsp.servers = { - html.enable = true; - svelte.enable = true; - - dockerls.enable = true; - - yamlls.enable = true; - jsonls.enable = true; - taplo.enable = true; - }; - }; -} diff --git a/modules/home-manager/programs/nixvim/presets/languages/nix.nix b/modules/home-manager/programs/nixvim/presets/languages/nix.nix deleted file mode 100644 index f71cd30..0000000 --- a/modules/home-manager/programs/nixvim/presets/languages/nix.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ - lib, - pkgs, - config, - ... -}: -let - cfg = config.presets.languages.nix; -in -{ - options.presets.languages.nix = { - enable = lib.mkEnableOption "Nix"; - }; - - config = lib.mkIf cfg.enable { - plugins = { - conform-nvim.settings.formatters_by_ft.nix = [ "nixfmt" ]; - none-ls = { - enable = true; - sources.diagnostics.statix.enable = true; - }; - lsp.servers.nil_ls.enable = true; - nix.enable = true; - }; - extraPackages = [ pkgs.nixfmt-rfc-style ]; - }; -}