💾 Archived View for ait.place › dot › makefile.txt captured on 2023-07-22 at 16:33:09.

View Raw

More Information

⬅️ Previous capture (2023-01-29)

-=-=-=-=-=-=-


## https://github.com/masasam/dotfiles

MKDIR = mkdir -p
LN = ln -vf

XDG_CONFIG_HOME ?= "${HOME}/.config"
XDG_DATA_HOME ?= "${HOME}/.local/share"

BIN_HOME ?= "${HOME}/.local/bin"
BIN_PATH ?= "${CURDIR}/bin"

.DEFAULT_GOAL := help
.PHONY: all

help:
	@grep -E '^[a-zA-Z_-]+:.*?## .*$' $(MAKEFILE_LIST) \
	| sort \
	| awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $1, $2}'

all: \
	alacritty \
	bin \
	leftwm \
	mutt \
	neovim \
	newsboat \
	mpv \
	rofi \
	x11 \
	zathura \
	qutebrowser \
	zsh \
	applications

alacritty:
	$(eval dest = "$(XDG_CONFIG_HOME)/alacritty")
	$(MKDIR) "$(dest)"
	$(LN) "${CURDIR}/alacritty.yml" "$(dest)"

arch: ## Installs packages for arch linux
	sudo pacman --noconfirm --needed -S - < ${CURDIR}/install/pacmanlist

arch-backup: ## Backup arch linux packages
	mkdir -p ${CURDIR}/install/
	pacman -Qqen > ${CURDIR}/install/pacmanlist
	pacman -Qqem > ${CURDIR}/install/aurlist

arch-extra: ## Adds some arch/pacman options
	sudo sed -i "s/^#Color/Color/"
	sudo sed -i "/#VerbosePkgLists/a ILoveCandy/"

system-tweaks: ## Enables autologin and passwordless sudo
	sudo sed -i "s/^# %wheel ALL=(ALL:ALL) NOPASSWD: ALL/%wheel ALL=(ALL:ALL) NOPASSWD: ALL/"
	$(eval path = "${CURDIR}/systemd")
	$(eval dest = "/etc/systemd/system/getty@tty1.service.d")
	sudo $(MKDIR) "$(dest)"
	sudo $(LN) "$(path)/autologin" "$(dest)/override.conf"


bin:
	$(MKDIR) "$(BIN_HOME)"
	$(LN) "$(BIN_PATH)/1337x" "$(BIN_HOME)"
	$(LN) "$(BIN_PATH)/cams" "$(BIN_HOME)"
	$(LN) "$(BIN_PATH)/dlocate" "$(BIN_HOME)"
	$(LN) "$(BIN_PATH)/dpass" "$(BIN_HOME)"
	$(LN) "$(BIN_PATH)/dhandler" "$(BIN_HOME)"
	$(LN) "$(BIN_PATH)/gemup" "$(BIN_HOME)"
	$(LN) "$(BIN_PATH)/uploadscreen" "$(BIN_HOME)"
	$(LN) "$(BIN_PATH)/linkhandler" "$(BIN_HOME)"
	$(LN) "$(BIN_PATH)/twitch" "$(BIN_HOME)"
	$(LN) "$(BIN_PATH)/twitch.py" "$(BIN_HOME)"

git: ## My git config
	$(eval path = "${CURDIR}/git")
	$(eval dest = "$(XDG_CONFIG_HOME)/git")
	$(MKDIR) "$(dest)"
	$(LN) "$(path)/config" "$(dest)"
	$(LN) "$(path)/ignore" "$(dest)"

lynx:
	$(eval dest = "$(XDG_CONFIG_HOME)/lynx")
	$(MKDIR) "$(dest)"
	$(LN) "${CURDIR}/lynx" "$(dest)/config"

leftwm:
	$(eval path = "${CURDIR}/leftwm")
	$(eval dest = "$(XDG_CONFIG_HOME)/leftwm")
	$(eval theme = "$(dest)/themes/current")
	$(MKDIR) "$(theme)"
	$(LN) "$(path)/config.toml" "$(dest)"
	$(LN) "$(path)/theme.toml" "$(theme)"
	$(LN) "$(path)/up" "$(theme)"
	$(LN) "$(path)/down" "$(theme)"
	$(LN) "$(BIN_PATH)/leftwm-toggleborder" "$(BIN_HOME)"


ncmpc:
	$(eval path = "${CURDIR}/ncmpc")
	$(eval dest = "$(XDG_CONFIG_HOME)/ncmpc")
	$(MKDIR) "$(dest)"
	$(LN) "$(path)/config" "$(dest)"
	$(LN) "$(path)/keys" "$(dest)"

neovim:
	$(MKDIR) "$(XDG_CONFIG_HOME)/nvim"
	$(LN) "${CURDIR}/neovim.vim" "$(XDG_CONFIG_HOME)/nvim/init.vim"

newsboat:
	$(eval path = "${CURDIR}/newsboat")
	$(eval dest = "$(XDG_CONFIG_HOME)/newsboat")
	$(MKDIR) "$(dest)"
	$(LN) "$(path)/config" "$(dest)"
	$(LN) "$(path)/urls" "$(dest)"

mpd:
	$(eval dest = "$(XDG_CONFIG_HOME)/mpd")
	$(MKDIR) "$(dest)"
	$(LN) "${CURDIR}/mpd.conf" "$(dest)"

mpv:
	$(eval path = "${CURDIR}/mpv")
	$(eval dest = "$(XDG_CONFIG_HOME)/mpv")
	$(MKDIR) "$(dest)"
	$(MKDIR) "$(dest)/scripts"
	$(LN) "$(path)/input.conf" "$(dest)"
	$(LN) "$(path)/mpv.conf" "$(dest)"
	$(LN) "$(path)/scripts/history.lua" "$(dest)/scripts"
	$(LN) "$(path)/scripts/yank.lua" "$(dest)/scripts"
	$(LN) "$(path)/scripts/autocrop.lua" "$(dest)/scripts"
	$(LN) "$(BIN_PATH)/mpvlast" "$(BIN_HOME)"

mutt:
	$(eval path = "${CURDIR}/mutt")
	$(eval dest = "$(XDG_CONFIG_HOME)/mutt")
	$(MKDIR) "$(dest)"
	$(LN) "$(path)/muttrc" "$(dest)"
	$(LN) "$(path)/mailcap" "$(dest)"

rofi:
	$(eval dest = "$(XDG_CONFIG_HOME)/rofi")
	$(MKDIR) "$(dest)"
	$(LN) "${CURDIR}/rofi.rasi" "$(dest)/config.rasi"

x11:
	$(eval path = "${CURDIR}/x11")
	$(eval dest = "$(XDG_CONFIG_HOME)/x11")
	$(MKDIR) "$(dest)"
	$(LN) "$(path)/xinitrc" "$(dest)"
	$(LN) "$(path)/xprofile" "$(dest)"
	$(LN) "$(path)/xresources" "$(dest)"

qutebrowser:
	$(eval dest = "$(XDG_CONFIG_HOME)/qutebrowser")
	$(MKDIR) "$(dest)"
	$(LN) "${CURDIR}/qutebrowser.py" "$(dest)/config.py"

zathura:
	$(eval dest = "$(XDG_CONFIG_HOME)/zathura")
	$(MKDIR) "$(dest)"
	$(LN) "${CURDIR}/zathurarc" "$(dest)"

zsh:
	$(eval dest = "$(XDG_CONFIG_HOME)/zsh")
	$(MKDIR) "$(dest)"
	$(MKDIR) "${HOME}/.cache/zsh"
	$(LN) "${CURDIR}/zshrc" "$(dest)/.zshrc"
	$(eval dest = "$(XDG_CONFIG_HOME)/shell")
	$(LN) "${CURDIR}/shell/env" "$(dest)"
	$(LN) "${CURDIR}/shell/aliasrc" "$(dest)"

applications:
	$(eval path = "${CURDIR}/applications")
	$(eval dest = "$(XDG_DATA_HOME)/applications")
	$(MKDIR) "$(dest)"
	$(LN) "$(path)/file.desktop" "$(dest)"
	$(LN) "$(path)/img.desktop" "$(dest)"
	$(LN) "$(path)/mail.desktop" "$(dest)"
	$(LN) "$(path)/pdf.desktop" "$(dest)"
	$(LN) "$(path)/rss.desktop" "$(dest)"
	$(LN) "$(path)/text.desktop" "$(dest)"
	$(LN) "$(path)/torrent.desktop" "$(dest)"
	$(LN) "$(path)/video.desktop" "$(dest)"

local:
	$(eval path = "${CURDIR}/local")
	$(eval dest = "/usr/local/bin")
	@ln -sv "$(path)/code" "$(dest)"
	@ln -sv "$(path)/nvidia-settings" "$(dest)"
	@ln -sv "$(path)/picom" "$(dest)"
	@ln -sv "$(path)/ssh" "$(dest)"
	@ln -sv "$(path)/steam" "$(dest)"
	@ln -sv "$(path)/wget" "$(dest)"