From afa5122a49c149ff56f96987a5b1ead4aa475cfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zal=C3=A1n=20Meggyesi?= Date: Mon, 12 Mar 2018 15:52:13 +0100 Subject: [PATCH] Parameterized install script (#337) Make Awesome install script parameterizable for central VIMRC management --- README.md | 16 +++++++++---- install_awesome_parameterized.sh | 41 ++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 4 deletions(-) create mode 100755 install_awesome_parameterized.sh diff --git a/README.md b/README.md index e3f7ae1d..a2597cf6 100644 --- a/README.md +++ b/README.md @@ -13,12 +13,21 @@ I would, of course, recommend using the awesome version. ## How to install the Awesome version? - +### Install for your own user only The awesome version includes a lot of great plugins, configurations and color schemes that make Vim a lot better. To install it simply do following from your terminal: - git clone --depth=1 https://github.com/amix/vimrc.git ~/.vim_runtime - sh ~/.vim_runtime/install_awesome_vimrc.sh + git clone --depth=1 https://github.com/amix/vimrc.git ~/.vim_runtime + sh ~/.vim_runtime/install_awesome_vimrc.sh + +### Install for multiple users +To install for multiple users, the repository needs to be cloned to a location accessible for all the intended users. + git clone --depth=1 https://github.com/amix/vimrc.git /opt/vim_runtime + sh ~/.vim_runtime/install_awesome_parameterized.sh /opt/vim_runtime user0 user1 user2 + # to install for all users with home directories + sh ~/.vim_runtime/install_awesome_parameterized.sh /opt/vim_runtime --all + +Naturally, `/opt/vim_runtime` can be any directory, as long as all the users specified have read access. ## Fonts @@ -29,7 +38,6 @@ Some other fonts that Awesome will try to use: * [Hack](http://sourcefoundry.org/hack/) * [Source Code Pro](https://adobe-fonts.github.io/source-code-pro/) - ## How to install the Basic version? The basic version is just one file and no plugins. Just copy [basic.vim](https://github.com/amix/vimrc/blob/master/vimrcs/basic.vim) and paste it into your vimrc. diff --git a/install_awesome_parameterized.sh b/install_awesome_parameterized.sh new file mode 100755 index 00000000..d83f6dc6 --- /dev/null +++ b/install_awesome_parameterized.sh @@ -0,0 +1,41 @@ +#!/bin/bash +set -e + +echo 'Installing Awesome Vim from '$1 +cd $1 + +VIMRC="set runtimepath+=$1 + +source $1/vimrcs/basic.vim +source $1/vimrcs/filetypes.vim +source $1/vimrcs/plugins_config.vim +source $1/vimrcs/extended.vim + +try +source $1/my_configs.vim +catch +endtry" + +if [ $2 == "--all" ]; then + USERS=($(ls -l /home | awk '{if(NR>1)print $9}')) + for user in ${USERS[*]}; do + homepath=$(eval echo "~$user") + IFS='' + echo $VIMRC > ${homepath}/.vimrc + unset IFS + echo "Installed the Ultimate Vim configuration for user $user successfully! Enjoy :-)" + done + echo "Installed the Ultimate Vim configuration successfully! Enjoy :-)" + exit 0 +else + SELECTED_USERS=(${@:2}) + echo "Selected users: ${SELECTED_USERS[@]}" + for user in ${SELECTED_USERS[@]}; do + homepath=$(eval echo "~$user") + IFS='' + echo $VIMRC > ${homepath}/.vimrc + unset IFS + echo "Installed the Ultimate Vim configuration for user $user successfully! Enjoy :-)" + done + exit 0 +fi