pwd = $(shell pwd) osver=$(shell lsb_release -sr) oscodename=$(shell lsb_release -sc) arch=$(shell dpkg --print-architecture) .PHONY: all all: /usr/bin/docker /usr/bin/go /usr/bin/nvim dotfiles golibs # Docker install .PHONY: /usr/bin/docker /usr/bin/docker: sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc echo "deb [arch=$(arch) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(oscodename) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # Go install .PHONY: /usr/bin/go /usr/bin/go: sudo add-apt-repository ppa:longsleep/golang-backports sudo apt install golang-go .PHONY: golibs golibs: /usr/bin/go go install github.com/goreleaser/goreleaser@latest go install github.com/mkchoi212/fac@latest # Neovim .PHONY: /usr/bin/nvim /usr/bin/nvim: sudo add-apt-repository -r ppa:neovim-ppa/stable sudo apt install neovim # dotfiles .PHONY: dotfiles dotfiles: ~/.gitconfig ~/.gitignore ~/.config/zsh ~/.config/nvim ~/.zshrc ~/.gitconfig: @ln -s $(pwd)/git/config ~/.gitconfig || true ~/.gitignore: @ln -s $(pwd)/git/ignore ~/.gitignore || true ~/.config/nvim: @ln -s $(pwd)/nvim ~/.config/nvim || true ~/.config/zsh: @ln -s $(pwd)/zsh ~/.config/zsh || true ~/.zshrc: @ln -s $(pwd)/zsh/zshrc ~/.zshrc || true