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)