Use GNU stow to manage symlinks

This commit is contained in:
Andrew Tomaka 2021-05-13 09:35:10 -04:00
parent e395c6d49b
commit 4e5e48c64a
Signed by: atomaka
GPG key ID: 61209BF70A5B18BE
19 changed files with 13 additions and 30 deletions

2
.gitignore vendored
View file

@ -1,2 +0,0 @@
oh-my-zsh/
vim/

0
.gitmodules vendored
View file

View file

@ -1,19 +1,7 @@
excludes = -I Makefile -I README.md
symlinks = $(shell find . -maxdepth 1 \( ! -iname "Makefile" ! -iname "README.md" ! -iname ".*" ! -name "bin" ! -iname "nvim" \) | sed 's|./||')
.PHONY: $(symlinks) nvim
all: install
install: install-bin plug-vim $(symlinks)
install-bin:
mkdir -p $$HOME/bin
cp bin/* $$HOME/bin
nvim:
mkdir -p ~/.config/nvim
cp nvim/init.vim ~/.config/nvim/
install: plug-vim
stow bin git nvim ruby tmux vim zsh
plug-vim:
if test ! -f ~/.vim/autoload/plug.vim ; then \
@ -33,15 +21,7 @@ rbenv-build:
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build ; \
fi
$(symlinks):
test -e `pwd`/$@ \
&& ln -sfn `pwd`/$@ ~/.$@
update: update-repo $(symlinks)
update: update-repo
update-repo:
git pull --rebase
git submodule update
clean:
for file in $(symlinks); do rm ~/.$$file; done

View file

@ -3,6 +3,7 @@
## Dependencies
* [stow](https://www.gnu.org/software/stow/)
* [tmux](https://github.com/tmux/tmux)
* [zsh](https://github.com/zsh-users/zsh)
* [neovim](https://github.com/neovim/neovim)
@ -14,12 +15,11 @@
* Install dependencies
* Clone this repository
* Run `make`
* Will symlink files into parent
* Will overwrite existing files
* Uses GNU stow to generate symlinks
* Config files must already exist
* Install vim plugins
```
make nvim
nvim
,pi
```

View file

View file

View file

View file

View file

@ -36,12 +36,17 @@ if which rbenv > /dev/null; then
(rbenv rehash &) 2> /dev/null
fi
# init nodenv
# # init nodenv
if which nodenv > /dev/null; then
eval "$(nodenv init --no-rehash -)"
(nodenv rehash &) 2> /dev/null
fi
if [ -d $HOME/.asdf ]; then
source $HOME/.asdf/asdf.sh
fi
. ~/.asdf/plugins/java/set-java-home.zsh
# init direnv
if which direnv > /dev/null; then
eval "$(direnv hook zsh)"