X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/fe0b3f4cc70ff890b67fca36c6d4ada71b916aec..refs/heads/lazyvim:/Makefile diff --git a/Makefile b/Makefile index 0671e47..a245778 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,18 @@ APATH := $(realpath .) XDG_CONFIG_HOME ?= ~/.config +XDG_CACHE_HOME ?= ~/.cache XDG_DATA_HOME ?= ~/.local/share FILES := bin -DOTFILES := goobookrc msmtp* profile tmux.conf weechat Xresources -CONFIGFILES := compton.conf mpv offlineimap ranger retroarch xbindkeys xkb +DOTFILES := goobookrc profile Xresources +CONFIGFILES := mpv offlineimap ranger retroarch xbindkeys xkb + +.PHONY: core_files +core_files: dircolors git nvim ranger ssh systemd tmux zsh + +.PHONY: desktop +desktop: core_files awesome kitty picom qutebrowser rofi xkb .PHONY: install $(FILES) $(DOTFILES) $(CONFIGFILES) install: $(FILES) $(DOTFILES) $(CONFIGFILES) @@ -13,38 +20,47 @@ install: $(FILES) $(DOTFILES) $(CONFIGFILES) $(XDG_DATA_HOME) $(XDG_CONFIG_HOME): mkdir -p $@ -task: $(XDG_CONFIG_HOME) - ln -sfT $(APATH)/taskrc $(XDG_CONFIG_HOME)/taskrc +awesome: $(XDG_CONFIG_HOME) xinit + ln -sfT $(APATH)/awesome $(XDG_CONFIG_HOME)/awesome + ln -sfT $(APATH)/zlogin ~/.zlogin + git submodule update --init \ + awesome/widgets/pomodoro \ + awesome/widgets/net_widgets +.PHONY: awesome + +dircolors: $(XDG_CONFIG_HOME) + ln -sfT $(APATH)/dircolors $(XDG_CONFIG_HOME)/dircolors +.PHONY: dircolors + +gdb: $(XDG_CACHE_HOME) $(XDG_DATA_HOME) + mkdir $(XDG_DATA_HOME)/gdb + ln -sfT $(APATH)/gdb $(XDG_CONFIG_HOME)/gdb +.PHONY: gdb git: $(XDG_CONFIG_HOME) ln -sfT $(APATH)/git $(XDG_CONFIG_HOME)/git ln -sfT $(APATH)/tig $(XDG_CONFIG_HOME)/tig .PHONY: git -vim: $(XDG_CONFIG_HOME) - ln -sfT $(APATH)/vim $(XDG_CONFIG_HOME)/vim - mkdir -p $(XDG_DATA_HOME)/vim - git clone https://github.com/gmarik/vundle $(XDG_DATA_HOME)/vim/vundle -.PHONY: vim - -mutt: $(XDG_CONFIG_HOME) - ln -sfT $(APATH)/mutt $(XDG_CONFIG_HOME)/mutt -.PHONY: mutt +gnupg: systemd + ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@ + chmod 700 $(XDG_CONFIG_HOME)/$@ + systemctl --user enable gpg-agent.socket gpg-agent-extra.socket gpg-agent-browser.socket dirmngr.socket + systemctl --user start gpg-agent.socket gpg-agent-extra.socket gpg-agent-browser.socket dirmngr.socket + sudo ln -sfT $(APATH)/bin/pinentry /usr/local/bin/pinentry +.PHONY: gnupg -gdb: - mkdir $(XDG_DATA_HOME)/gdb - ln -sfT $(APATH)/gdbinit ~/.gdbinit - ln -sfT $(APATH)/cgdb ~/.cgdb -.PHONY: gdb +khal: $(XDG_CONFIG_HOME) + ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@ +.PHONY: khal -awesome: $(XDG_CONFIG_HOME) - ln -sfT $(APATH)/awesome $(XDG_CONFIG_HOME)/awesome -.PHONY: awesome +khard: $(XDG_CONFIG_HOME) + ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@ +.PHONY: khard -qutebrowser: $(XDG_CONFIG_HOME) - ln -sfT $(APATH)/qutebrowser $(XDG_CONFIG_HOME)/qutebrowser - mkdir -p ~/downloads -.PHONY: qutebrowser +kitty: + ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@ +.PHONY: kitty mpd: systemd ln -sfT $(APATH)/mpd $(XDG_CONFIG_HOME)/mpd @@ -53,42 +69,133 @@ mpd: systemd systemctl --user start mpd .PHONY: mpd +mbsync: + ln -sfT $(APATH)/mbsync $(XDG_CONFIG_HOME)/mbsync +.PHONY: mbsync + +msmtp: + ln -sfT $(APATH)/msmtprc ~/.msmtprc + ln -sfT $(APATH)/msmtp ~/.msmtp +.PHONY: msmtp + +mutt: $(XDG_CONFIG_HOME) + ln -sfT $(APATH)/mutt $(XDG_CONFIG_HOME)/mutt +.PHONY: mutt + +mail: mbsync msmtp mutt +.PHONY: mail + ncmpcpp: $(XDG_CONFIG_HOME) ln -sfT $(APATH)/ncmpcpp $(XDG_CONFIG_HOME)/ncmpcpp mkdir -p $(XDG_DATA_HOME)/mpd/lyrics .PHONY: ncmpcpp -systemd: $(XDG_CONFIG_HOME) +pacman: $(XDG_CONFIG_HOME) + ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@ +.PHONY: pacman + +picom: $(XDG_CONFIG_HOME) + ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@ +.PHONY: picom + +qute_scripts := $(wildcard qutebrowser/userscripts/*) +$(qute_scripts): + mkdir -p $(XDG_DATA_HOME)/qutebrowser/userscripts + ln -sfT $(APATH)/$@ $(XDG_DATA_HOME)/$@ +.PHONY: $(qute_scripts) + +qutebrowser: $(XDG_CONFIG_HOME) $(qute_scripts) + ln -sfT $(APATH)/qutebrowser $(XDG_CONFIG_HOME)/qutebrowser + mkdir -p ~/downloads +.PHONY: qutebrowser + +rofi: $(XDG_CONFIG_HOME) + ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@ +.PHONY: rofi + +ssh: + ln -sfT $(APATH)/ssh/config ~/.ssh/config +.PHONY: ssh + +# copy system files, do not link, it doesn't work if home is encrypted +/etc/systemd/system/%: systemd/system/% + sudo cp $(APATH)/$< $@ + +systemd_system_units := $(patsubst %,/etc/%,$(wildcard systemd/system/*)) +systemd: $(XDG_CONFIG_HOME) $(systemd_system_units) ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@ .PHONY: systemd -gnupg: systemd +task: $(XDG_CONFIG_HOME) ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@ - systemctl --user enable gpg-agent.socket gpg-agent-extra.socket gpg-agent-browser.socket dirmngr.socket - systemctl --user start gpg-agent.socket gpg-agent-extra.socket gpg-agent-browser.socket dirmngr.socket -.PHONY: gnupg +.PHONY: task + +tmux: $(XDG_CONFIG_HOME) + ln -sfT $(APATH)/tmux $(XDG_CONFIG_HOME)/tmux + git submodule update --init \ + tmux/plugins/nord-tmux \ + tmux/plugins/tpm +.PHONY: tmux + +urxvt: $(XDG_CONFIG_HOME) + ln -sfT $(APATH)/urxvt $(XDG_CONFIG_HOME)/urxvt +.PHONY: urxvt + +vdirsyncer: $(XDG_CACHE_HOME) + ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@ + mkdir -p $(XDG_DATA_HOME)/vdirsyncer/{contacts,calendars} +.PHONY: vdirsyncer + +vim: $(XDG_CONFIG_HOME) + ln -sfT $(APATH)/vim $(XDG_CONFIG_HOME)/vim + mkdir -p $(XDG_DATA_HOME)/vim +.PHONY: vim + +nvim: $(XDG_CONFIG_HOME) vim + ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@ +.PHONY: nvim + +yay: $(XDG_CONFIG_HOME) + ln -sfT $(APATH)/yay $(XDG_CONFIG_HOME)/yay + mkdir -p $(XDG_CACHE_HOME)/yay + +xinit: $(XDG_CONFIG_HOME) xprofile + ln -sfT $(APATH)/$@rc ~/.$@rc + ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@ +.PHONY: xinit + +xprofile: $(XDG_CONFIG_HOME) + ln -sfT $(APATH)/$@ ~/.$@ + ln -sfT $(APATH)/$@.d $(XDG_CONFIG_HOME)/$@.d +.PHONY: xprofile + +wakeonlan: $(XDG_CONFIG_HOME) + ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@ +.PHONY: wakeonlan + +weechat: $(XDG_CONFIG_HOME) $(XDG_CACHE_HOME) + ln -sfT $(APATH)/weechat $(XDG_CONFIG_HOME)/weechat + mkdir -p $(XDG_CACHE_HOME)/weechat +.PHONY: weechat + +zathura: $(XDG_CONFIG_HOME) + ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@ +.PHONY: zathura + +zellij: $(XDG_CONFIG_HOME) + ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@ +.PHONY: zellij zsh: $(XDG_CONFIG_HOME) ln -sfT $(APATH)/zshrc ~/.zshrc - ln -sfT $(APATH)/zprofile ~/.zprofile ln -sfT $(APATH)/zshenv ~/.zshenv ln -sfT $(APATH)/zsh $(XDG_CONFIG_HOME)/zsh ln -sfT $(APATH)/aliases $(XDG_CONFIG_HOME)/aliases - mkdir -p ~/.cache/zsh + mkdir -p $(XDG_CACHE_HOME)/zsh + mkdir -p $(XDG_DATA_HOME)/zsh + git submodule update --init zsh/lib/zsh-syntax-highlighting .PHONY: zsh -xprofile: - ln -sfT $(APATH)/xprofile ~/.xprofile -.PHONY: xprofile - -dircolors: $(XDG_CONFIG_HOME) - ln -sfT $(APATH)/dircolors $(XDG_CONFIG_HOME)/dircolors -.PHONY: dircolors - -urxvt: $(XDG_CONFIG_HOME) - ln -sfT $(APATH)/urxvt $(XDG_CONFIG_HOME)/urxvt -.PHONY: urxvt - $(FILES): @if [[ -e ~/$@ && ! -L ~/$@ ]]; then \ if [[ -d $@ ]]; then \