summaryrefslogtreecommitdiff
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
parent8e048c489aed8b8b27695694e8d020358a081bd7 (diff)
2023-07-03
Diffstat (limited to 'modules/nixos/vim/default.nix')
-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;
+ };
+ };
+ };
+}