about summary refs log tree commit diff
path: root/machines/sternenseemann/vim-basic.nix
diff options
context:
space:
mode:
Diffstat (limited to 'machines/sternenseemann/vim-basic.nix')
-rw-r--r--machines/sternenseemann/vim-basic.nix28
1 files changed, 28 insertions, 0 deletions
diff --git a/machines/sternenseemann/vim-basic.nix b/machines/sternenseemann/vim-basic.nix
new file mode 100644
index 00000000..5f994149
--- /dev/null
+++ b/machines/sternenseemann/vim-basic.nix
@@ -0,0 +1,28 @@
+{ lib, pkgs, ... }:
+
+let
+  # Slightly modified version of
+  # https://leahneukirchen.org/blog/archive/2020/05/a-minimal-vimrc.html
+  vimrc = pkgs.writeText "vimrc" ''
+    set nocp bs=2 hid is ru sm t_te= t_ti= vb wim=longest,list
+    set ignorecase smartcase
+  '';
+
+  vim = pkgs.writeShellScriptBin "vim" ''
+    exec "${lib.getBin pkgs.vim}/bin/vim" -u "${vimrc}" "$@"
+  '';
+
+in
+
+{
+  config = {
+    environment = {
+      systemPackages = [ vim ];
+      variables = {
+        # on non-servers this will be set to emacs in base-laptop.nix
+        EDITOR = lib.mkDefault "${vim}/bin/vim";
+        VISUAL = lib.mkDefault "${vim}/bin/vim";
+      };
+    };
+  };
+}