diff options
| author | makefu <github@syntax-fehler.de> | 2016-02-11 21:31:15 +0100 |
|---|---|---|
| committer | makefu <github@syntax-fehler.de> | 2016-02-11 21:31:15 +0100 |
| commit | 107115dd1a126558c7befccf1dbe31b970324bed (patch) | |
| tree | 75449913737104b382b3e71ef0340a7af4eba402 /tv/2configs/vim.nix | |
| parent | 02efcd83eac9907b8d29145b53840868615d1543 (diff) | |
| parent | 75302b57df117828664a591ca672820deb216e41 (diff) | |
Merge remote-tracking branch 'cd/master'
Diffstat (limited to 'tv/2configs/vim.nix')
| -rw-r--r-- | tv/2configs/vim.nix | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index 23f90af..69a880d 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -13,9 +13,21 @@ let environment.variables.VIMINIT = ":so /etc/vimrc"; }; - extra-runtimepath = concatStringsSep "," [ - "${pkgs.vimPlugins.undotree}/share/vim-plugins/undotree" - ]; + extra-runtimepath = let + inherit (pkgs.vimUtils) buildVimPlugin rtpPath; + fromVimPlugins = pkgs: concatStringsSep "," + (mapAttrsToList (name: pkg: "${pkg}/${rtpPath}/${name}") pkgs); + in fromVimPlugins { + inherit (pkgs.vimPlugins) undotree; + file-line = buildVimPlugin { + name = "file-line-1.0"; + src = pkgs.fetchgit { + url = git://github.com/bogado/file-line; + rev = "refs/tags/1.0"; + sha256 = "0z47zq9rqh06ny0q8lpcdsraf3lyzn9xvb59nywnarf3nxrk6hx0"; + }; + }; + }; dirs = { backupdir = "$HOME/.cache/vim/backup"; @@ -32,12 +44,9 @@ let alldirs = attrValues dirs ++ map dirOf (attrValues files); in unique (sort lessThan alldirs); - vim = pkgs.writeScriptBin "vim" '' - #! ${pkgs.dash}/bin/dash - set -f - umask 0077 - ${concatStringsSep "\n" (map (x: "mkdir -p ${x}") mkdirs)} - umask 0022 + vim = pkgs.writeDashBin "vim" '' + set -efu + (umask 0077; exec ${pkgs.coreutils}/bin/mkdir -p ${toString mkdirs}) exec ${pkgs.vim}/bin/vim "$@" ''; |
