dotfiles

Mahdi's dotfiles
git clone git://mahdi.pw/dotfiles.git
Log | Files | Refs | Submodules | README | LICENSE

Makefile (4547B)


      1 # Dotfiles - Mahdi's system configuration
      2 # See LICENSE file for copyright and license details.
      3 
      4 include config.mk
      5 
      6 help:
      7 	@grep '^[a-zA-Z0-9_-]*:.*## .*$$' Makefile \
      8 		| awk -F ':.*##' '{printf "\033[34m%-20s\033[0m %s\n", $$1, $$2}'
      9 
     10 font: ## Install fonts to $HOME/.local/share/fonts
     11 	git submodule update --init --remote ${PWD}/.local/share/fonts
     12 	mkdir -p ${HOME}/.local/share/fonts
     13 	$(CP) ${PWD}/.local/share/fonts/* ${HOME}/.local/share/fonts
     14 	fc-cache -f
     15 
     16 link: ## Force link dotfiles to $HOME
     17 	@for CONFIG_MKDIR in $(CONFIGS_MKDIR); do $(MKDIR) $${HOME}/$$CONFIG_MKDIR; done
     18 	@for CONFIG_FILE in $(CONFIGS_FILES); do $(LN) $${PWD}/$$CONFIG_FILE $${HOME}/$$CONFIG_FILE; done
     19 	$(RUN_PERM) $(MKDIR) /etc/X11/xorg.conf.d
     20 	$(RUN_PERM) $(LN) etc/X11/xorg.conf.d/40-libinput.conf /etc/X11/xorg.conf.d/40-libinput.conf
     21 
     22 copy: ## Force copy dotfiles to $HOME
     23 	@for CONFIG_DIR in $(CONFIGS_MKDIR); do $(MKDIR) $${HOME}/$$CONFIG_DIR; done
     24 	@for CONFIG_FILE in $(CONFIGS_FILES); do $(CP) $${PWD}/$$CONFIG_FILE $${HOME}/$$CONFIG_FILE; done
     25 	$(RUN_PERM) $(MKDIR) /etc/X11/xorg.conf.d
     26 	$(RUN_PERM) $(CP) etc/X11/xorg.conf.d/40-libinput.conf /etc/X11/xorg.conf.d/40-libinput.conf
     27 	sed 's|xserverauthfile=.*|xserverauthfile=${XAUTHORITY:-HOME/.serverauth.$$}|g' "$(which startx)" | $(RUN_PERM) tee "$(which startx)".tmp
     28 	$(RUN_PERM) mv "$(which startx)".tmp "$(which startx)"
     29 	$(RUN_PERM) chmod +x "$(which startx)"
     30 
     31 arch: ## Install packages for my arch setup
     32 	$(INSTALL_ARCH) $(ARCH_PKGS)
     33 	$(RUN_PERM) $(CP) etc/doas.conf /etc/doas.conf
     34 
     35 alpine: ## Install packages for my alpine setup
     36 	$(INSTALL_ALPINE) $(ALPINE_PKGS)
     37 	$(RUN_PERM) $(CP) etc/doas.conf /etc/doas.d/doas.conf
     38 
     39 freebsd: ## Install packages for my freebsd setup
     40 	$(INSTALL_FREEBSD) $(FREEBSD_PKGS)
     41 	$(RUN_PERM) $(CP) etc/doas.conf /usr/local/etc/doas.conf
     42 
     43 # --------------------------------- #
     44 # | Suckless software collection: | #
     45 # --------------------------------- #
     46 
     47 dmenu: ## Install my build of dmenu
     48 	$(MKDIR) ${HOME}/.local/src
     49 	rm -rf ${HOME}/.local/src/dmenu
     50 	git submodule update --init --remote ${PWD}/.local/src/dmenu
     51 	cp -rf ${PWD}/.local/src/dmenu ${HOME}/.local/src/dmenu
     52 	cd ${HOME}/.local/src/dmenu; $(RUN_PERM) make install
     53 
     54 dwm: ## Install my build of dwm
     55 	$(MKDIR) ${HOME}/.local/src
     56 	rm -rf ${HOME}/.local/src/dwm
     57 	git submodule update --init --remote ${PWD}/.local/src/dwm
     58 	cp -rf ${PWD}/.local/src/dwm ${HOME}/.local/src/dwm
     59 	cd ${HOME}/.local/src/dwm; $(RUN_PERM) make install
     60 
     61 slock: ## Install my build of slock
     62 	$(MKDIR) ${HOME}/.local/src
     63 	rm -rf ${HOME}/.local/src/slock
     64 	git submodule update --init --remote ${PWD}/.local/src/slock
     65 	cp -rf ${PWD}/.local/src/slock ${HOME}/.local/src/slock
     66 	cd ${HOME}/.local/src/slock; $(RUN_PERM) make install
     67 
     68 st: ## Install my build of st
     69 	$(MKDIR) ${HOME}/.local/src
     70 	rm -rf ${HOME}/.local/src/st
     71 	git submodule update --init --remote ${PWD}/.local/src/st
     72 	cp -rf ${PWD}/.local/src/st ${HOME}/.local/src/st
     73 	cd ${HOME}/.local/src/st; $(RUN_PERM) make install
     74 
     75 surf: ## Install my build of surf
     76 	$(MKDIR) ${HOME}/.local/src
     77 	rm -rf ${HOME}/.local/src/surf
     78 	git submodule update --init --remote ${PWD}/.local/src/surf
     79 	cp -rf ${PWD}/.local/src/surf ${HOME}/.local/src/surf
     80 	cd ${HOME}/.local/src/surf; $(RUN_PERM) make install
     81 
     82 tabbed: ## Install my build of tabbed
     83 	$(MKDIR) ${HOME}/.local/src
     84 	rm -rf ${HOME}/.local/src/tabbed
     85 	git submodule update --init --remote ${PWD}/.local/src/tabbed
     86 	cp -rf ${PWD}/.local/src/tabbed ${HOME}/.local/src/tabbed
     87 	cd ${HOME}/.local/src/tabbed; $(RUN_PERM) make install
     88 
     89 dzen2: ## Install dzen2
     90 	$(MKDIR) ${HOME}/.local/src
     91 	rm -rf ${HOME}/.local/src/dzen2
     92 	git submodule update --init --remote ${PWD}/.local/src/dzen2
     93 	cp -rf ${PWD}/.local/src/dzen2 ${HOME}/.local/src/dzen2
     94 	cd ${HOME}/.local/src/dzen2; $(RUN_PERM) make install
     95 
     96 smenu: ## Install smenu
     97 	$(MKDIR) ${HOME}/.local/src
     98 	rm -rf ${HOME}/.local/src/smenu
     99 	git submodule update --init --remote ${PWD}/.local/src/smenu
    100 	cp -rf ${PWD}/.local/src/smenu ${HOME}/.local/src/smenu
    101 	cd ${HOME}/.local/src/slock; ./configure; ./build.sh; $(RUN_PERM) make install
    102 
    103 xwallpaper: ## Install xwallpaper
    104 	$(MKDIR) ${HOME}/.local/src
    105 	rm -rf ${HOME}/.local/src/xwallpaper
    106 	git submodule update --init --remote ${PWD}/.local/src/xwallpaper
    107 	cp -rf ${PWD}/.local/src/xwallpaper ${HOME}/.local/src/xwallpaper
    108 	cd ${HOME}/.local/src/xwallpaper; ./autogen.sh; $(RUN_PERM) make install
    109 
    110 desktop: dmenu dwm slock st surf tabbed dzen2 smenu xwallpaper ## Install my suckless desktop suite (dmenu/dwm/slock/st/surf/tabbed/dzen2/smenu/xwallpaper)