dotfiles/Makefile

50 lines
1.5 KiB
Makefile

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 ~/.zshrc
~/.gitconfig:
@ln -s $(pwd)/git/config ~/.gitconfig || true
~/.gitignore:
@ln -s $(pwd)/git/ignore ~/.gitignore || true
~/.config/zsh:
@ln -s $(pwd)/zsh ~/.config/zsh || true
~/.zshrc:
@ln -s $(pwd)/zsh/zshrc ~/.zshrc || true