authorgravatar for git@paperclover.netclover caruso <git@paperclover.net> 2025-07-04 21:29:59-07:00
committergravatar for git@paperclover.netclover caruso <git@paperclover.net> 2025-07-04 21:29:59-07:00
logac6a00196705a795ac82a59eeacd7eee59587cee
treed10cac04a5b4b7f9fd6c419ab70f5895be7ff8c9
parent926f53011d593219726d6432324071a2d589df96
parentab7dc1a69776f3bde087126d89f6e6eac17d56e0

Merge paperclover.dev:clo/config into chloe


3 files changed, 36 insertions(+), 17 deletions(-)

lib/mkNeovim.nix+15-13
......@@ -4,7 +4,9 @@
44 # TODO: apply overlays here
55 overlays,
66 inputs,
7}: user: system: let
7}:
8user: system:
9let
810 darwin = nixpkgs.lib.strings.hasSuffix "-darwin" system;
911
1012 host = {
......@@ -15,15 +17,15 @@
1517 userDir = ../users + "/${user}";
1618 userConfig = import (userDir + "/user.nix");
1719in
18 (inputs.nvf.lib.neovimConfiguration {
19 pkgs = nixpkgs.legacyPackages.${system};
20 modules = builtins.filter (f: f != null) [
21 (../users + ("/" + user + "/vim.nix"))
22 ../modules/neovim
23 ];
24 extraSpecialArgs = {
25 inherit host;
26 flake = self;
27 user = userConfig;
28 };
29 }).neovim
20(inputs.nvf.lib.neovimConfiguration {
21 pkgs = nixpkgs.legacyPackages.${system};
22 modules = builtins.filter (f: f != null) [
23 (../users + ("/" + user + "/vim.nix"))
24 ../modules/neovim
25 ];
26 extraSpecialArgs = {
27 inherit host;
28 flake = self;
29 user = userConfig;
30 };
31}).neovim
modules/neovim/default.nix+20-2
......@@ -1,4 +1,9 @@
1{ config, lib, ... }:
1{
2 config,
3 pkgs,
4 lib,
5 ...
6}:
27{
38 # based on default options from upstream:
49 # https://github.com/NotAShelf/nvf/blob/main/configuration.nix
......@@ -8,7 +13,7 @@
813 #
914 # override level 999 is used to not conflict with mkDefault as used by nvf.
1015 # which allows user configurations to disable/override anything here.
11 vim = lib.mkOverride 999 {
16 config.vim = lib.mkOverride 999 {
1217 theme = {
1318 enable = true;
1419 };
......@@ -70,8 +75,21 @@
7075 zig.enable = true;
7176 # sort-lines: off
7277
78 ts.format.enable = false; # deno fmt is enabled elsewhere
7379 nix.format.type = "nixfmt"; # looks so much nicer
7480 };
81 formatter.conform-nvim = {
82 enable = true;
83 setupOpts.formatters_by_ft = {
84 typescript = [ "deno_fmt" ];
85 typescriptreact = [ "deno_fmt" ];
86 javascript = [ "deno_fmt" ];
87 javascriptreact = [ "deno_fmt" ];
88 };
89 setupOpts.formatters.deno_fmt = {
90 command = lib.meta.getExe pkgs.deno;
91 };
92 };
7593 filetree = {
7694 neo-tree = {
7795 enable = false;
users/chloe/vim.nix+1-2
......@@ -1,5 +1,6 @@
11_: {
22 vim = {
3 languages.astro.enable = true;
34 options = {
45 tabstop = 2;
56 softtabstop = 2;
......@@ -13,7 +14,6 @@ _: {
1314 foldenable = true;
1415 linebreak = true;
1516 };
16
1717 binds = {
1818 hardtime-nvim.setupOpts = {
1919 restriction_mode = "block";
......@@ -33,7 +33,6 @@ _: {
3333 };
3434 };
3535 };
36
3736 keymaps =
3837 let
3938 mkKeymap = mode: key: action: desc: {