X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/62f723d271d39da9dd884026fdbd40b3b321c692..c40b5f6397d7911ff823b94f6109518c939d2e41:/Makefile diff --git a/Makefile b/Makefile index 1477771..5a64e88 100644 --- a/Makefile +++ b/Makefile @@ -5,11 +5,14 @@ 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 systemd vim zsh +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) @@ -17,19 +20,21 @@ install: $(FILES) $(DOTFILES) $(CONFIGFILES) $(XDG_DATA_HOME) $(XDG_CONFIG_HOME): mkdir -p $@ -awesome: $(XDG_CONFIG_HOME) +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: +gdb: $(XDG_CACHE_HOME) $(XDG_DATA_HOME) mkdir $(XDG_DATA_HOME)/gdb ln -sfT $(APATH)/gdb $(XDG_CONFIG_HOME)/gdb - ln -sfT $(APATH)/gdbinit ~/.gdbinit - ln -sfT $(APATH)/cgdb ~/.cgdb .PHONY: gdb git: $(XDG_CONFIG_HOME) @@ -39,10 +44,24 @@ git: $(XDG_CONFIG_HOME) 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 +khal: $(XDG_CONFIG_HOME) + ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@ +.PHONY: khal + +khard: $(XDG_CONFIG_HOME) + ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@ +.PHONY: khard + +kitty: + ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@ +.PHONY: kitty + mpd: systemd ln -sfT $(APATH)/mpd $(XDG_CONFIG_HOME)/mpd mkdir -p $(XDG_DATA_HOME)/mpd/playlists @@ -50,58 +69,142 @@ 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 -qutebrowser: $(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 + +rofimoji: $(XDG_CONFIG_HOME) + ln -sfT $(APATH)/$@.rc $(XDG_CONFIG_HOME)/$@.rc +.PHONY: rofimoji + ssh: ln -sfT $(APATH)/ssh/config ~/.ssh/config .PHONY: ssh -systemd: $(XDG_CONFIG_HOME) +# copy system files, do not link, it doesn't work if home is encrypted +/etc/systemd/system/%: systemd/system/% + sudo cp $(APATH)/$< $@ + +systemd-system: $(patsubst %,/etc/%,$(wildcard systemd/system/*)) + sudo systemctl daemon-reload +.PHONY: systemd-system + +systemd-user: $(XDG_CONFIG_HOME) ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@ +.PHONY: systemd-user + +systemd: systemd-user systemd-system + systemctl --user daemon-reload .PHONY: systemd task: $(XDG_CONFIG_HOME) - ln -sfT $(APATH)/taskrc $(XDG_CONFIG_HOME)/taskrc + ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@ .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 - -git clone https://github.com/gmarik/vundle $(XDG_DATA_HOME)/vim/vundle .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 -xprofile: - ln -sfT $(APATH)/xprofile ~/.xprofile +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 + +wezterm: $(XDG_CONFIG_HOME) + ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@ +.PHONY: wezterm + +zathura: $(XDG_CONFIG_HOME) + ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@ +.PHONY: zathura + 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 $(XDG_CACHE_HOME)/zsh mkdir -p $(XDG_DATA_HOME)/zsh + git submodule update --init zsh/lib/zsh-syntax-highlighting .PHONY: zsh $(FILES):