diff --git a/lib/mkNeovim.nix b/lib/mkNeovim.nix index 5602fae..72e6d9c 100644 --- a/lib/mkNeovim.nix +++ b/lib/mkNeovim.nix @@ -4,7 +4,9 @@ # TODO: apply overlays here overlays, inputs, -}: user: system: let +}: +user: system: +let darwin = nixpkgs.lib.strings.hasSuffix "-darwin" system; host = { @@ -15,15 +17,15 @@ userDir = ../users + "/${user}"; userConfig = import (userDir + "/user.nix"); in - (inputs.nvf.lib.neovimConfiguration { - pkgs = nixpkgs.legacyPackages.${system}; - modules = builtins.filter (f: f != null) [ - (../users + ("/" + user + "/vim.nix")) - ../modules/neovim - ]; - extraSpecialArgs = { - inherit host; - flake = self; - user = userConfig; - }; - }).neovim +(inputs.nvf.lib.neovimConfiguration { + pkgs = nixpkgs.legacyPackages.${system}; + modules = builtins.filter (f: f != null) [ + (../users + ("/" + user + "/vim.nix")) + ../modules/neovim + ]; + extraSpecialArgs = { + inherit host; + flake = self; + user = userConfig; + }; +}).neovim diff --git a/modules/neovim/default.nix b/modules/neovim/default.nix index 121df04..56566f8 100644 --- a/modules/neovim/default.nix +++ b/modules/neovim/default.nix @@ -1,4 +1,9 @@ -{ config, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { # based on default options from upstream: # https://github.com/NotAShelf/nvf/blob/main/configuration.nix @@ -8,7 +13,7 @@ # # override level 999 is used to not conflict with mkDefault as used by nvf. # which allows user configurations to disable/override anything here. - vim = lib.mkOverride 999 { + config.vim = lib.mkOverride 999 { theme = { enable = true; }; @@ -70,8 +75,21 @@ zig.enable = true; # sort-lines: off + ts.format.enable = false; # deno fmt is enabled elsewhere nix.format.type = "nixfmt"; # looks so much nicer }; + formatter.conform-nvim = { + enable = true; + setupOpts.formatters_by_ft = { + typescript = [ "deno_fmt" ]; + typescriptreact = [ "deno_fmt" ]; + javascript = [ "deno_fmt" ]; + javascriptreact = [ "deno_fmt" ]; + }; + setupOpts.formatters.deno_fmt = { + command = lib.meta.getExe pkgs.deno; + }; + }; filetree = { neo-tree = { enable = false; diff --git a/users/chloe/vim.nix b/users/chloe/vim.nix index 29e23ce..121bd1e 100644 --- a/users/chloe/vim.nix +++ b/users/chloe/vim.nix @@ -1,5 +1,6 @@ _: { vim = { + languages.astro.enable = true; options = { tabstop = 2; softtabstop = 2; @@ -13,7 +14,6 @@ _: { foldenable = true; linebreak = true; }; - binds = { hardtime-nvim.setupOpts = { restriction_mode = "block"; @@ -33,7 +33,6 @@ _: { }; }; }; - keymaps = let mkKeymap = mode: key: action: desc: {