include dotfiles.mk MODULES=xmodmap emacs picom cower mowedline herbstluftwm xdg STOW=stow .PHONY: all clean $(MODULES) zsh all: $(MODULES) build: mkdir build clean: $(addsuffix -clean,$(MODULES)) zsh: $(MAKE) -C $@ before-%-install: # Dummy recipe @true %-stow: % before-%-install $(STOW) $< %-install: %-stow # Dummy recipe @true %-uninstall: $(STOW) -D $(subst -uninstall,,$@) # Picom picom: picom/.config/picom.conf picom/.config/picom.conf: picom/.config/picom.org $(call tangle,conf) picom-clean: rm -f picom/.config/picom.conf ######### # Emacs # ######### emacs-install: emacs-stow xdg-settings set default-url-scheme-handler org-protocol EmacsClient.desktop ########### # Xmodmap # ########### xmodmap: build build/.Xmodmap build/.Xmodmap: xmodmap/Xmodmap.org $(call tangle,fundamental) xmodmap-clean: rm -f build/.Xmodmap ######### # Cower # ######### cower: cower/.config/cower/config cower/.config/cower/config: cower/.config/cower/config.org $(call tangle,conf-unix) cower-clean: rm -f cower/.config/cower/config ############# # Mowedline # ############# mowedline: mowedline/.config/mowedline/init.scm mowedline/.config/mowedline/init.scm: SCHEME_IMPLEMENTATION = chicken mowedline/.config/mowedline/init.scm: mowedline/.config/mowedline/init.org $(call tangle,scheme) mowedline-clean: rm -f mowedline/.config/mowedline/init.scm ######### # Dunst # ######### dunst: dunst/.config/dunst/dunstrc dunst/.config/dunst/dunstrc: dunst/.config/dunst/dunstrc.org $(call tangle,conf-unix) dunst-clean: rm -f dunst/.config/dunst/dunstrc # X11 x11-install: lib-install x11/dot-x11-0-1-any.pkg.tar.xz x11/dot-x11-0-1-any.pkg.tar.xz: x11/PKGBUILD cd x11 && makepkg -sicf ####### # XDG # ####### xdg: xdg/.config/mimeapps.list xdg/.config/user-dirs.dirs \ xdg/.config/user-dirs.locale # Helper %: %.org $(call tangle)