52 lines
1.5 KiB
Makefile
52 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 ~/.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
|