summaryrefslogtreecommitdiff
path: root/modules/common/vim/default.nix
diff options
context:
space:
mode:
authorAzat Bahawi <azat@bahawi.net>2023-02-19 17:50:35 +0300
committerAzat Bahawi <azat@bahawi.net>2023-02-19 17:50:35 +0300
commit91fb4f28ef5d87e8bcf7749928d30ba4a9cbbd34 (patch)
treee07291fcb1cf62a561ffe58d1fd8e2968ff6fcb3 /modules/common/vim/default.nix
parentf1e8dc736a904703eaa97ccf3d5cde3f69101c38 (diff)
2023-02-19
Diffstat (limited to 'modules/common/vim/default.nix')
-rw-r--r--modules/common/vim/default.nix50
1 files changed, 50 insertions, 0 deletions
diff --git a/modules/common/vim/default.nix b/modules/common/vim/default.nix
new file mode 100644
index 0000000..0328e10
--- /dev/null
+++ b/modules/common/vim/default.nix
@@ -0,0 +1,50 @@
+{
+ config,
+ lib,
+ pkgs,
+ this,
+ ...
+}:
+with lib; let
+ cfg = config.nixfiles.modules.vim;
+in {
+ options.nixfiles.modules.vim.enable = mkEnableOption "Vim";
+
+ config = mkIf cfg.enable {
+ programs.vim.package = with pkgs;
+ (vim_configurable.override {
+ features = "normal";
+ cscopeSupport = false;
+ darwinSupport = pkgs.stdenv.isDarwin;
+ guiSupport = false;
+ luaSupport = false;
+ multibyteSupport = false;
+ netbeansSupport = false;
+ nlsSupport = false;
+ perlSupport = false;
+ pythonSupport = false;
+ rubySupport = false;
+ tclSupport = false;
+ ximSupport = false;
+ })
+ .customize {
+ name = "vim";
+ vimrcConfig = {
+ customRC = readFile ./rc.vim;
+ packages.myVimPackage.start = with vimPlugins; [
+ editorconfig-vim
+ vim-eunuch
+ vim-nix
+ vim-sleuth
+ vim-surround
+ vim-unimpaired
+ ];
+ };
+ };
+
+ environment = {
+ systemPackages = [config.programs.vim.package];
+ variables.EDITOR = mkOverride 100 "vim";
+ };
+ };
+}