馃悷 My personal dotfiles
at main 83 lines 1.7 kB view raw
1symlinks = \ 2 bundle \ 3 config \ 4 local \ 5 gemrc \ 6 gitconfig \ 7 gitignore \ 8 tool-versions \ 9 vimrc \ 10 11default: | update clean 12 13install: | ln brew ruby vim_plug fisher 14 15update: | install 16 brew upgrade 17 gem update 18 fish -c "fisher update" 19 vim +PlugUpgrade +PlugInstall +PlugUpdate +qall 20 21clean: | install 22 brew cleanup 23 gem clean 24 vim +PlugClean +qall 25 26# brew 27 28brew: | $(homebrew) 29 30homebrew_root = /opt/homebrew 31homebrew = $(homebrew_root)/bin/brew 32$(homebrew): 33 @/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 34 /opt/homebrew/bin/brew bundle --file=$(PWD)/Brewfile 35 36# ln 37 38prefixed_symlinks = $(addprefix $(HOME)/.,$(symlinks)) 39ln: | $(prefixed_symlinks) 40 41$(prefixed_symlinks): 42 @ln -Fsv $(PWD)/$(patsubst .%,%,$(notdir $@)) $@ 43 44# ruby 45 46ruby_version := $(shell cat $(PWD)/tool-versions | awk -v tool=ruby '$$1 == tool { print $$2 }') 47 48ruby_versions = $(HOME)/.asdf/installs/ruby 49ruby = $(ruby_versions)/$(ruby_version) 50 51bundler = $(ruby)/bin/bundle 52 53ruby: | $(ruby) $(bundler) 54 55$(ruby): | $(brew) $(HOME)/.tool-versions 56 asdf plugin add ruby 57 asdf install ruby $(ruby_version) 58 59gem = $(ruby)/bin/gem 60 61$(bundler): | $(ruby) 62 $(gem) install bundler 63 64# vim 65 66vim_plug = $(HOME)/.vim/autoload/plug.vim 67vim_plug: | $(vim_plug) 68 69$(vim_plug): 70 curl -fLo $(vim_plug) --create-dirs \ 71 https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim 72 mkdir -p $(HOME)/.vim/tmp 73 74# fisher 75fisher = $(HOME)/.config/fish/functions/fisher.fish 76fisher: | $(fisher) 77 78$(fisher): 79 @/opt/homebrew/bin/fish -c "curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher" 80 81# make 82 83.PHONY: update