about summary refs log tree commit diff stats
path: root/modules/home.legacy/conf/nvim/default.nix
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-10-18 17:07:46 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-10-18 17:07:46 +0200
commitc52c7f314ccadcc2fcd91e28c8fd1b88f6d5ce0c (patch)
treee8b947710b467b32740598ff574982097836f66c /modules/home.legacy/conf/nvim/default.nix
parentchore(pkgs/yt): 1.2.1 -> 1.3.0 (diff)
downloadnixos-config-c52c7f314ccadcc2fcd91e28c8fd1b88f6d5ce0c.tar.gz
nixos-config-c52c7f314ccadcc2fcd91e28c8fd1b88f6d5ce0c.zip
refactor(modules): Move all system modules to `by-name`
From now on all modules should be added to the new `by-name` directory.
This should help remove the (superficial and utterly useless)
distinction between `home-manager` and `NixOS` modules.
Diffstat (limited to 'modules/home.legacy/conf/nvim/default.nix')
-rw-r--r--modules/home.legacy/conf/nvim/default.nix55
1 files changed, 55 insertions, 0 deletions
diff --git a/modules/home.legacy/conf/nvim/default.nix b/modules/home.legacy/conf/nvim/default.nix
new file mode 100644
index 00000000..2da80c22
--- /dev/null
+++ b/modules/home.legacy/conf/nvim/default.nix
@@ -0,0 +1,55 @@
+{pkgs, ...}: {
+  imports = [
+    ./autocmds
+    ./clipboard
+    ./files
+    ./mappings
+    ./options
+    ./plgs
+  ];
+  home.sessionVariables = {
+    EDITOR = "nvim";
+    VISUAL = "nvim";
+    CODEEDITOR = "nvim";
+  };
+  programs.nixvim = {
+    enable = true;
+
+    # source: https://www.patorjk.com/software/taag/#p=display&f=ANSI%20Shadow&t=Neovim
+    extraConfigLuaPre =
+      /*
+       FIXME: Update the merge function to support that: <2023-08-29>
+
+      lib.mkBefore
+      */
+      ''
+        ---------------------------------------------------------------------------
+        --
+        --     ███╗   ██╗███████╗ ██████╗ ██╗   ██╗██╗███╗   ███╗
+        --     ████╗  ██║██╔════╝██╔═══██╗██║   ██║██║████╗ ████║
+        --     ██╔██╗ ██║█████╗  ██║   ██║██║   ██║██║██╔████╔██║
+        --     ██║╚██╗██║██╔══╝  ██║   ██║╚██╗ ██╔╝██║██║╚██╔╝██║
+        --     ██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║
+        --     ╚═╝  ╚═══╝╚══════╝ ╚═════╝   ╚═══╝  ╚═╝╚═╝     ╚═╝
+        --
+        ---------------------------------------------------------------------------
+      '';
+
+    extraPackages = with pkgs; [
+      /*
+      These are mostly linters and formatters used for different file types.
+      Including them here is fine, as they are not necessarily sync able to different people.
+      */
+      # nix
+      alejandra
+      statix
+
+      # yaml
+      yamllint
+
+      # shell
+      shellcheck
+      shfmt
+    ];
+  };
+}