about summary refs log tree commit diff
path: root/modules/nixos/vim/default.nix
diff options
context:
space:
mode:
authorAzat Bahawi <azat@bahawi.net>2023-07-03 11:27:19 +0300
committerAzat Bahawi <azat@bahawi.net>2023-07-03 11:27:19 +0300
commitc80598d4e4ffea73647b2ea8440a6080596968fe (patch)
treea6ca4bb82ec20df18022988fa359126fc877d5da /modules/nixos/vim/default.nix
parent2023-06-21 (diff)
2023-07-03
Diffstat (limited to '')
-rw-r--r--modules/nixos/vim/default.nix39
1 files changed, 39 insertions, 0 deletions
diff --git a/modules/nixos/vim/default.nix b/modules/nixos/vim/default.nix
new file mode 100644
index 0000000..16e2d51
--- /dev/null
+++ b/modules/nixos/vim/default.nix
@@ -0,0 +1,39 @@
+{
+  config,
+  lib,
+  pkgs,
+  this,
+  ...
+}:
+with lib; let
+  cfg = config.nixfiles.modules.vim;
+in {
+  config = mkIf cfg.enable {
+    programs.vim.package =
+      (pkgs.vim-full.override {
+        features = "normal";
+        cscopeSupport = false;
+        darwinSupport = false;
+        guiSupport =
+          if this.isHeadful
+          then "gtk3"
+          else false;
+        luaSupport = false;
+        multibyteSupport = false;
+        netbeansSupport = false;
+        nlsSupport = false;
+        perlSupport = false;
+        pythonSupport = false;
+        rubySupport = false;
+        tclSupport = false;
+        ximSupport = false;
+      })
+      .customize {
+        name = "vim";
+        vimrcConfig = with cfg; {
+          customRC = rc;
+          packages.myVimPackage.start = plugins;
+        };
+      };
+  };
+}

Consider giving Nix/NixOS a try! <3