about summary refs log tree commit diff
path: root/machines/sternenseemann/vim-basic.nix
blob: 5f99414963d3c903c8f0dc498feb2891f7fd2c59 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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";
      };
    };
  };
}