aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile536
1 files changed, 274 insertions, 262 deletions
diff --git a/Makefile b/Makefile
index f6a2ae02..9f98ce20 100644
--- a/Makefile
+++ b/Makefile
@@ -9,9 +9,11 @@
install-bash-completion \
install-bin \
install-bin-man \
+ install-cabal \
+ install-cargo \
+ install-cpanm \
install-curl \
install-dillo \
- install-dunst \
install-emacs \
install-ex \
install-finger \
@@ -19,48 +21,41 @@
install-games-man \
install-git \
install-gnupg \
- install-gtk \
install-i3 \
+ install-init \
install-ksh \
install-less \
install-login-shell \
+ install-mail \
install-man \
- install-mpd \
install-mpv \
install-mutt \
install-mysql \
- install-ncmcpp \
+ install-ncmpcpp \
install-newsboat \
+ install-parcellite \
install-perlcritic \
install-perltidy \
+ install-plenv \
install-psql \
+ install-pyenv \
+ install-rbenv \
install-readline \
+ install-redshift \
+ install-rofi \
+ install-scrot \
install-sh \
install-subversion \
- install-terminfo \
+ install-sxhkd \
+ install-systemd \
install-tidy \
install-tmux \
- install-urxvt \
install-vim \
- install-vim-after \
- install-vim-after-ftplugin \
- install-vim-after-indent \
- install-vim-after-plugin \
- install-vim-after-syntax \
- install-vim-bundle \
- install-vim-compiler \
- install-vim-config \
- install-vim-filetype \
- install-vim-ftplugin \
install-vim-gui \
- install-vim-gui-config \
- install-vim-indent \
- install-vim-plugin \
- install-vim-syntax \
- install-vim-thesaurus \
install-vint \
install-wget \
install-x \
+ install-xsession \
install-zsh \
check \
check-bash \
@@ -71,8 +66,8 @@
check-login-shell \
check-man \
check-sh \
- check-urxvt \
- check-xinit \
+ check-x \
+ check-xsession \
check-zsh \
lint \
lint-bash \
@@ -81,17 +76,20 @@
lint-git-template-hooks \
lint-ksh \
lint-sh \
- lint-urxvt \
lint-vim \
- lint-xinit
+ lint-x \
+ lint-xsession
.SUFFIXES:
.SUFFIXES: .awk .bash .m4 .mi5 .pl .sed .sh
+XDG_CACHE_HOME = $(HOME)/.cache
+XDG_CONFIG_HOME = $(HOME)/.config
+XDG_DATA_HOME = $(HOME)/.local/share
+
NAME = 'Tom Ryder'
EMAIL = tom@sanctum.geek.nz
-KEY = FA09C06E1B670CD0B2F5DE60C14286EA77BB8872
-SENDMAIL = msmtp
+GPG_KEYID = FA09C06E1B670CD0B2F5DE60C14286EA77BB8872
BINS = bin/ap \
bin/apf \
@@ -114,8 +112,8 @@ BINS = bin/ap \
bin/dam \
bin/d2u \
bin/ddup \
+ bin/defang \
bin/dfv \
- bin/dmp \
bin/dub \
bin/edda \
bin/eds \
@@ -130,7 +128,6 @@ BINS = bin/ap \
bin/gred \
bin/gscr \
bin/gwp \
- bin/han \
bin/hms \
bin/htdec \
bin/htenc \
@@ -159,6 +156,7 @@ BINS = bin/ap \
bin/mkvi \
bin/mode \
bin/motd \
+ bin/msc \
bin/murl \
bin/mw \
bin/nlbr \
@@ -168,14 +166,15 @@ BINS = bin/ap \
bin/pa \
bin/paz \
bin/ped \
+ bin/phpcsff \
bin/pit \
- bin/plmu \
bin/p \
bin/pp \
bin/pph \
bin/pst \
bin/pvi \
bin/pwg \
+ bin/qat \
bin/quo \
bin/rep \
bin/rfcf \
@@ -220,17 +219,20 @@ BINS = bin/ap \
bin/uts \
bin/vest \
bin/vex \
+ bin/vic \
bin/wro \
bin/xgo \
bin/xgoc \
bin/xrbg \
- bin/xrq
+ bin/xrq \
+ bin/xsnap
BINS_M4 = bin/chn.m4 \
bin/dfv.m4 \
bin/edda.m4 \
bin/mim.m4 \
bin/oii.m4 \
+ bin/phpcsff.m4 \
bin/pst.m4 \
bin/swr.m4 \
bin/tlcs.m4 \
@@ -242,6 +244,7 @@ BINS_SH = bin/chn.sh \
bin/edda.sh \
bin/mim.sh \
bin/oii.sh \
+ bin/phpcsff.sh \
bin/pst.sh \
bin/swr.sh \
bin/tlcs.sh \
@@ -259,16 +262,23 @@ GAMES = games/aaf \
games/pks \
games/rndn \
games/rot13 \
+ games/uuu \
games/squ \
games/strik \
games/xyzzy \
games/zs
GIT_TEMPLATE_HOOKS = git/template/hooks/post-update \
- git/template/hooks/pre-commit \
- git/template/hooks/prepare-commit-msg
+ git/template/hooks/pre-commit \
+ git/template/hooks/prepare-commit-msg
-all: $(BINS) git/gitconfig $(GIT_TEMPLATE_HOOKS) gnupg/gpg.conf
+all: $(BINS) \
+ $(GIT_TEMPLATE_HOOKS) \
+ git/config \
+ gnupg/profile.d/gnupg.sh \
+ less/less \
+ tmux/bin/tmux \
+ x/xsession
clean distclean:
rm -f -- \
@@ -277,15 +287,18 @@ clean distclean:
$(BINS_SH) \
$(GAMES) \
$(GIT_TEMPLATE_HOOKS) \
+ bin/han \
dillo/dillorc \
dillo/dillorc.m4 \
- git/gitconfig \
- git/gitconfig.m4 \
- gnupg/gpg.conf \
- gnupg/gpg.conf.m4 \
+ git/config \
+ git/config.m4 \
+ gnupg/profile.d/gnupg.sh \
include/mktd.m4 \
- urxvt/ext/select \
- vim/dist/*
+ less/less \
+ mutt/filters/markdown-to-html \
+ mutt/muttrc.d/src \
+ tmux/bin/tmux \
+ x/xsession
.awk:
sh bin/shb.sh awk -f < $< > $@
@@ -318,6 +331,7 @@ bin/dfv.sh: bin/dfv.m4 include/mktd.m4
bin/edda.sh: bin/edda.m4 include/mktd.m4
bin/mim.sh: bin/mim.m4 include/mktd.m4
bin/oii.sh: bin/oii.m4 include/mktd.m4
+bin/phpcsff.sh: bin/phpcsff.m4 include/mktd.m4
bin/pst.sh: bin/pst.m4 include/mktd.m4
bin/swr.sh: bin/swr.m4 include/mktd.m4
bin/tlcs.sh: bin/tlcs.m4 include/mktd.m4
@@ -329,22 +343,21 @@ dillo/dillorc: dillo/dillorc.m4
-D HOME=$(HOME) \
dillo/dillorc.m4 > $@
-git/gitconfig: git/gitconfig.m4
+git/config: git/config.m4
m4 \
-D NAME=$(NAME) \
-D EMAIL=$(EMAIL) \
- -D KEY=$(KEY) \
- -D SENDMAIL=$(SENDMAIL) \
- git/gitconfig.m4 > $@
+ -D GPG_KEYID=$(GPG_KEYID) \
+ -D XDG_DATA_HOME=$(XDG_DATA_HOME) \
+ git/config.m4 > $@
-KEYSERVER = hkps://hkps.pool.sks-keyservers.net
-KEYID_FORMAT = none
+less/less: less/lesskey
+ lesskey --output $@ less/lesskey
-gnupg/gpg.conf: gnupg/gpg.conf.m4
+gnupg/profile.d/gnupg.sh: gnupg/profile.d/gnupg.sh.m4
m4 \
- -D KEYSERVER=$(KEYSERVER) \
- -D KEYID_FORMAT=$(KEYID_FORMAT) \
- gnupg/gpg.conf.m4 > $@
+ -D GPG_KEYID=$(GPG_KEYID) \
+ gnupg/profile.d/gnupg.sh.m4 > $@
MAILDIR = $(HOME)/Mail
@@ -353,9 +366,10 @@ install: install-bin \
install-ex \
install-git \
install-gnupg \
+ install-init \
install-less \
- install-man \
install-login-shell \
+ install-man \
install-readline \
install-vim
@@ -366,39 +380,44 @@ install-abook:
mkdir -p -- $(HOME)/.abook
cp -p -- abook/abookrc $(HOME)/.abook
-install-bash: check-bash install-sh
- mkdir -p -- $(HOME)/.bashrc.d
+install-bash: check-bash install-sh bin/han
+ mkdir -p -- $(HOME)/.bashrc.d $(HOME)/.local/bin
cp -p -- bash/bashrc $(HOME)/.bashrc
- cp -p -- bash/bashrc.d/* $(HOME)/.bashrc.d
+ cp -p -- bash/bashrc.d/*.bash $(HOME)/.bashrc.d
cp -p -- bash/bash_profile $(HOME)/.bash_profile
cp -p -- bash/bash_logout $(HOME)/.bash_logout
+ cp -p -- bin/han $(HOME)/.local/bin
install-bash-completion: install-bash
- mkdir -p -- $(HOME)/.bash_completion.d $(HOME)/.config
- cp -p -- bash/bash_completion $(HOME)/.config
- cp -p -- bash/bash_completion.d/* $(HOME)/.bash_completion.d
+ mkdir -p -- $(HOME)/.bash_completion.d $(XDG_CONFIG_HOME)
+ cp -p -- bash/bash_completion $(XDG_CONFIG_HOME)
+ cp -p -- bash/bash_completion.d/*.bash $(HOME)/.bash_completion.d
install-bin: $(BINS) install-bin-man
mkdir -p -- $(HOME)/.local/bin
- find bin -type f -perm -u=x \
- -exec cp -p -- {} $(HOME)/.local/bin \;
+ cp -p -- $(BINS) $(HOME)/.local/bin
install-bin-man:
- mkdir -p -- $(HOME)/.local/share/man/man1 $(HOME)/.local/share/man/man8
- cp -p -- man/man1/*.1df $(HOME)/.local/share/man/man1
- cp -p -- man/man8/*.8df $(HOME)/.local/share/man/man8
+ mkdir -p -- $(XDG_DATA_HOME)/man/man1 $(XDG_DATA_HOME)/man/man8
+ cp -p -- man/man1/*.1df $(XDG_DATA_HOME)/man/man1
+ cp -p -- man/man8/*.8df $(XDG_DATA_HOME)/man/man8
+
+install-cabal:
+ cp -p -- cabal/profile.d/cabal.sh $(HOME)/.profile.d
+
+install-cargo:
+ cp -p -- cargo/profile.d/cargo.sh $(HOME)/.profile.d
+
+install-cpanm:
+ cp -p -- cpanm/profile.d/cpanm.sh $(HOME)/.profile.d
install-curl:
cp -p -- curl/curlrc $(HOME)/.curlrc
-install-dillo: dillo/dillorc install-x
+install-dillo: dillo/dillorc
mkdir -p -- $(HOME)/.dillo
cp -p -- dillo/dillorc $(HOME)/.dillo/dillorc
-install-dunst: install-x
- mkdir -p -- $(HOME)/.config/dunst
- cp -p -- dunst/dunstrc $(HOME)/.config/dunst
-
install-emacs: emacs/bin/emacsm install-sh
mkdir -p -- $(HOME)/.local/bin
cp -p -- emacs/emacs $(HOME)/.emacs
@@ -415,248 +434,242 @@ install-finger:
install-games: $(GAMES) install-games-man
mkdir -p -- $(HOME)/.local/games
- find games -type f -perm -u=x \
- -exec cp -p -- {} $(HOME)/.local/games \;
+ cp -p -- $(GAMES) $(HOME)/.local/games
install-games-man:
- mkdir -p -- $(HOME)/.local/share/man/man6
- cp -p -- man/man6/*.6df $(HOME)/.local/share/man/man6
-
-install-git: git/gitconfig $(GIT_TEMPLATE_HOOKS)
- cp -p -- git/gitconfig $(HOME)/.gitconfig
- find git/template \
- -type d -exec sh -c 'mkdir -p -- \
- $(HOME)/.git-template"$${1#git/template}"' \
- _ {} \; \
- -o ! -name '*.*' -exec sh -c 'cp -p -- "$$1" \
- $(HOME)/.git-template"$${1#git/template}"' \
- _ {} \;
-
-install-gnupg: gnupg/gpg.conf
- mkdir -m 0700 -p -- $(HOME)/.gnupg
- cp -p -- gnupg/*.conf $(HOME)/.gnupg
-
-install-gtk:
- mkdir -p -- $(HOME)/.config/gtk-3.0
- cp -p -- gtk/gtkrc-2.0 $(HOME)/.gtkrc-2.0
- cp -p -- gtk/gtk-3.0/settings.ini $(HOME)/.config/gtk-3.0
+ mkdir -p -- $(XDG_DATA_HOME)/man/man6
+ cp -p -- man/man6/*.6df $(XDG_DATA_HOME)/man/man6
+
+install-git: git/config $(GIT_TEMPLATE_HOOKS)
+ mkdir -p -- $(XDG_CONFIG_HOME)/git
+ cp -p -- git/config $(XDG_CONFIG_HOME)/git/config
+ mkdir -p -- $(XDG_DATA_HOME)/git/template
+ cp -pR -- git/template/description \
+ $(XDG_DATA_HOME)/git/template/description
+ mkdir -p -- $(XDG_DATA_HOME)/git/template/hooks
+ cp -pR -- $(GIT_TEMPLATE_HOOKS) \
+ $(XDG_DATA_HOME)/git/template/hooks
+
+install-gnupg: gnupg/profile.d/gnupg.sh install-sh
+ cp -p -- gnupg/profile.d/gnupg.sh $(HOME)/.profile.d
install-i3: install-x
- mkdir -p -- $(HOME)/.i3
- cp -p -- i3/* $(HOME)/.i3
-
-install-keychain: install-sh
- cp -p -- keychain/profile.d/* $(HOME)/.profile.d
- cp -p -- keychain/shrc.d/* $(HOME)/.shrc.d
-
-install-less:
- cp -p -- less/lesskey $(HOME)/.lesskey
- lesskey
+ mkdir -p -- $(XDG_CONFIG_HOME)/i3
+ cp -p -- i3/config $(XDG_CONFIG_HOME)/i3
+ mkdir -p -- $(XDG_CONFIG_HOME)/i3status
+ cp -p -- i3/status $(XDG_CONFIG_HOME)/i3status/config
+
+install-init:
+ if test -d /run/systemd/system ; then make install-systemd ; fi
+
+install-less: less/less
+ mkdir -p -- $(HOME)/.profile.d
+ cp -p -- less/profile.d/less.sh $(HOME)/.profile.d
+ mkdir -p -- $(XDG_CONFIG_HOME)/less
+ cp -p -- less/less $(XDG_CONFIG_HOME)/less/key
+
+install-logrotate: install-systemd
+ mkdir -p -- $(XDG_CONFIG_HOME)/logrotate \
+ $(XDG_CONFIG_HOME)/logrotate/config.d
+ cp -p -- logrotate/config $(XDG_CONFIG_HOME)/logrotate
+ cp -p -- logrotate/systemd/user/logrotate.service \
+ logrotate/systemd/user/logrotate.timer \
+ $(XDG_DATA_HOME)/systemd/user
+
+install-mail:
+ cp -p -- mail/signature $(HOME)/.signature
install-man:
- mkdir -p -- $(HOME)/.local/share/man/man7
- cp -p -- man/man7/dotfiles.7df $(HOME)/.local/share/man/man7
-
-install-mpd: install-sh
- mkdir -p -- $(HOME)/.mpd/playlists
- cp -p -- mpd/profile.d/* $(HOME)/.profile.d
- cp -p -- mpd/mpdconf $(HOME)/.mpdconf
+ mkdir -p -- $(XDG_DATA_HOME)/man/man7
+ cp -p -- man/man7/dotfiles.7df $(XDG_DATA_HOME)/man/man7
install-mpv:
- mkdir -p -- $(HOME)/.config/mpv
- cp -p -- mpv/* $(HOME)/.config/mpv
-
-install-mutt:
- mkdir -p -- $(HOME)/.muttrc.d $(HOME)/.cache/mutt
- cp -p -- mutt/muttrc $(HOME)/.muttrc
- cp -p -- mutt/muttrc.d/src $(HOME)/.muttrc.d
-
-install-ncmcpp: install-mpd
- mkdir -p -- $(HOME)/.ncmpcpp
- cp -p -- ncmpcpp/config $(HOME)/.ncmpcpp
+ mkdir -p -- \
+ $(XDG_CONFIG_HOME)/mpv \
+ $(XDG_DATA_HOME)/mpv/screenshots
+ cp -p -- mpv/mpv.conf $(XDG_CONFIG_HOME)/mpv
-install-newsboat:
- mkdir -p -- $(HOME)/.config/newsboat $(HOME)/.local/share/newsboat
- cp -p -- newsboat/config $(HOME)/.config/newsboat
+install-mutt: install-gnupg install-mail mutt/filters/markdown-to-html mutt/muttrc.d/src
+ mkdir -p -- \
+ $(XDG_CONFIG_HOME)/mutt \
+ $(XDG_CONFIG_HOME)/mutt/muttrc.d \
+ $(XDG_CACHE_HOME)/mutt/headers \
+ $(XDG_DATA_HOME)/mutt/autocrypt \
+ $(HOME)/.local/libexec/mutt/filters
+ cp -p -- mutt/muttrc \
+ mutt/mailcap \
+ $(XDG_CONFIG_HOME)/mutt
+ cp -p -- mutt/muttrc.d/src \
+ $(XDG_CONFIG_HOME)/mutt/muttrc.d
+ touch -- $(XDG_CONFIG_HOME)/mutt/aliases
+ cp -p -- mutt/filters/markdown-to-html \
+ $(HOME)/.local/libexec/mutt/filters
+
+install-ncmpcpp:
+ mkdir -p -- $(XDG_CONFIG_HOME)/ncmpcpp
+ cp -p -- ncmpcpp/config $(XDG_CONFIG_HOME)/ncmpcpp
+
+install-newsboat: install-systemd
+ mkdir -p -- $(XDG_CONFIG_HOME)/newsboat \
+ $(XDG_DATA_HOME)/newsboat
+ cp -p -- newsboat/config \
+ $(XDG_CONFIG_HOME)/newsboat
+ cp -p -- newsboat/systemd/user/newsboat.service \
+ $(XDG_DATA_HOME)/systemd/user
install-mysql:
cp -p -- mysql/my.cnf $(HOME)/.my.cnf
install-ksh: check-ksh install-sh
mkdir -p -- $(HOME)/.kshrc.d
- cp -p -- ksh/shrc.d/* $(HOME)/.shrc.d
+ cp -p -- ksh/shrc.d/ksh.sh $(HOME)/.shrc.d
cp -p -- ksh/kshrc $(HOME)/.kshrc
- cp -p -- ksh/kshrc.d/* $(HOME)/.kshrc.d
+ cp -p -- ksh/kshrc.d/*.ksh $(HOME)/.kshrc.d
install-login-shell: check-login-shell
sh install/login-shell.sh
-install-perlcritic:
- cp -p -- perlcritic/perlcriticrc $(HOME)/.perlcriticrc
+install-parcellite: install-x
+ cp -p -- parcellite/parcelliterc $(XDG_CONFIG_HOME)
+ cp -p -- parcellite/xsession.d/parcellite.sh $(HOME)/.xsession.d
-install-perltidy:
- cp -p -- perltidy/perltidyrc $(HOME)/.perltidyrc
+install-perlcritic: install-sh
+ cp -p -- perlcritic/profile.d/perlcritic.sh $(HOME)/.profile.d
+ mkdir -p -- $(XDG_CONFIG_HOME)/perlcritic
+ cp -p -- perlcritic/perlcriticrc $(XDG_CONFIG_HOME)/perlcritic/perlcriticrc
-install-plenv: install-sh
- cp -p -- plenv/profile.d/* $(HOME)/.profile.d
- cp -p -- plenv/shrc.d/* $(HOME)/.shrc.d
+install-perltidy: install-sh
+ cp -p -- perltidy/profile.d/perltidy.sh $(HOME)/.profile.d
+ mkdir -p -- $(XDG_CONFIG_HOME)/perltidy
+ cp -p -- perltidy/perltidyrc $(XDG_CONFIG_HOME)/perltidy/perltidyrc
+
+install-plenv: install-sh install-cpanm
+ cp -p -- plenv/profile.d/plenv.sh $(HOME)/.profile.d
+ cp -p -- plenv/shrc.d/plenv.sh $(HOME)/.shrc.d
install-psql:
cp -p -- psql/psqlrc $(HOME)/.psqlrc
+install-pyenv: install-sh
+ cp -p -- pyenv/profile.d/pyenv.sh $(HOME)/.profile.d
+ cp -p -- pyenv/shrc.d/pyenv.sh $(HOME)/.shrc.d
+
+install-rbenv: install-sh
+ cp -p -- rbenv/profile.d/rbenv.sh $(HOME)/.profile.d
+ cp -p -- rbenv/shrc.d/rbenv.sh $(HOME)/.shrc.d
+
install-readline:
cp -p -- readline/inputrc $(HOME)/.inputrc
+install-redshift: install-x
+ cp -p -- redshift/redshift.conf $(XDG_CONFIG_HOME)
+ cp -p -- redshift/xsession.d/redshift.sh $(HOME)/.xsession.d
+
+install-rofi: rofi/bin/rofi_pass
+ mkdir -p -- $(HOME)/.local/bin
+ cp -p -- rofi/bin/rofi_pass $(HOME)/.local/bin
+
+install-scrot:
+ mkdir -p -- $(XDG_DATA_HOME)/scrot/screenshots
+
install-sh: check-sh
- mkdir -p -- $(HOME)/.profile.d $(HOME)/.shrc.d
cp -p -- sh/profile $(HOME)/.profile
- cp -p -- sh/profile.d/* $(HOME)/.profile.d
+ mkdir -p -- $(HOME)/.profile.d
+ cp -p -- sh/profile.d/*.sh $(HOME)/.profile.d
cp -p -- sh/shinit $(HOME)/.shinit
cp -p -- sh/shrc $(HOME)/.shrc
- cp -p -- sh/shrc.d/* $(HOME)/.shrc.d
+ mkdir -p -- $(HOME)/.shrc.d
+ cp -p -- sh/shrc.d/*.sh $(HOME)/.shrc.d
install-subversion:
mkdir -p -- $(HOME)/.subversion
cp -p -- subversion/config $(HOME)/.subversion
-install-terminfo:
- find terminfo -type f -name '*.ti' \
- -exec tic -- {} \;
+install-sxhkd: install-scrot install-x
+ mkdir -p -- $(XDG_CONFIG_HOME)/sxhkd
+ cp -p -- sxhkd/sxhkdrc $(XDG_CONFIG_HOME)/sxhkd
+ cp -p -- sxhkd/xsession.d/sxhkd.sh $(HOME)/.xsession.d
+
+install-systemd: install-sh
+ cp -p -- systemd/profile.d/systemd.sh $(HOME)/.profile.d
+ mkdir -p -- $(XDG_DATA_HOME)/systemd/user
+ cp -p -- systemd/user/notify-email@.service \
+ $(XDG_DATA_HOME)/systemd/user
+ mkdir -p -- $(XDG_DATA_HOME)/systemd/user/service.d
+ cp -p -- systemd/user/service.d/50-notify-email.conf \
+ $(XDG_DATA_HOME)/systemd/user/service.d
+ mkdir -p -- $(XDG_DATA_HOME)/systemd/user/notify-email@.service.d
+ cp -p -- systemd/user/notify-email@.service.d/50-notify-email.conf \
+ $(XDG_DATA_HOME)/systemd/user/notify-email@.service.d
+ mkdir -p -- $(XDG_DATA_HOME)/systemd/user/run-.service.d
+ cp -p -- systemd/user/run-.service.d/50-notify-email.conf \
+ $(XDG_DATA_HOME)/systemd/user/run-.service.d
install-tidy: install-sh
- cp -p -- tidy/profile.d/* $(HOME)/.profile.d
- cp -p -- tidy/tidyrc $(HOME)/.tidyrc
+ cp -p -- tidy/profile.d/tidy.sh $(HOME)/.profile.d
+ mkdir -p -- $(XDG_CONFIG_HOME)/tidy
+ cp -p -- tidy/tidyrc $(XDG_CONFIG_HOME)/tidy/tidyrc
-install-tmux: tmux/tmux.conf install-terminfo
+install-tmux: tmux/bin/tmux tmux/tmux.conf install-systemd
+ cp -p -- tmux/bin/tmux $(HOME)/.local/bin
+ cp -p -- tmux/profile.d/tmux.sh $(HOME)/.profile.d
cp -p -- tmux/tmux.conf $(HOME)/.tmux.conf
-
-install-urxvt: urxvt/ext/select
- mkdir -p -- $(HOME)/.urxvt/ext
- find urxvt/ext -type f ! -name '*.pl' \
- -exec cp -p -- {} $(HOME)/.urxvt/ext \;
+ cp -p -- tmux/systemd/user/tmux.service \
+ $(XDG_DATA_HOME)/systemd/user
VIM = vim
VIMDIR = $(HOME)/.vim
-VIMRC = $(HOME)/.vim/vimrc
-
-install-vim: install-vim-after \
- install-vim-autoload \
- install-vim-bundle \
- install-vim-compiler \
- install-vim-config \
- install-vim-filetype \
- install-vim-ftplugin \
- install-vim-indent \
- install-vim-plugin \
- install-vim-syntax
-
-install-vim-after: install-vim-after-ftplugin \
- install-vim-after-indent \
- install-vim-after-plugin \
- install-vim-after-syntax
-
-install-vim-after-ftplugin:
- mkdir -p $(VIMDIR)/after/ftplugin
- cp -p -- vim/after/ftplugin/*.vim $(VIMDIR)/after/ftplugin
-
-install-vim-after-indent:
- mkdir -p $(VIMDIR)/after/indent
- cp -p -- vim/after/indent/*.vim $(VIMDIR)/after/indent
-
-install-vim-after-plugin:
- mkdir -p $(VIMDIR)/after/plugin
- cp -p -- vim/after/plugin/*.vim $(VIMDIR)/after/plugin
-
-install-vim-after-syntax:
- mkdir -p $(VIMDIR)/after/syntax
- cp -p -- vim/after/syntax/*.vim $(VIMDIR)/after/syntax
-
-install-vim-autoload:
- mkdir -p $(VIMDIR)/autoload
- cp -p -- vim/autoload/*.vim $(VIMDIR)/autoload
-
-install-vim-bundle: install-vim-config
- find vim/bundle/*/* \
- -type d -exec sh -c \
- 'mkdir -p -- $(VIMDIR)/"$${1#vim/bundle/*/}"' _ {} \;
- find vim/bundle/*/*/* \
- -type f -exec sh -c \
- 'cp -p -- "$$1" $(VIMDIR)/"$${1#vim/bundle/*/}"' _ {} \;
- $(VIM) -e -u NONE -c 'helptags $(VIMDIR)/doc' -c quit
-
-install-vim-cache:
- mkdir -p -- \
- $(VIMDIR)/cache \
- $(VIMDIR)/cache/backup \
- $(VIMDIR)/cache/spell \
- $(VIMDIR)/cache/swap \
- $(VIMDIR)/cache/undo
-
-install-vim-compiler:
- mkdir -p -- $(VIMDIR)/compiler
- cp -p -- vim/compiler/*.vim $(VIMDIR)/compiler
-
-install-vim-config: install-vim-cache
- cp -p -- vim/vimrc.stub.vim $(HOME)/.vimrc
- cp -p -- vim/vimrc $(VIMRC)
-
-install-vim-filetype:
- cp -p -- vim/filetype.vim vim/scripts.vim $(VIMDIR)
+VIMRC = $(VIMDIR)/vimrc
-install-vim-ftplugin:
- mkdir -p -- $(VIMDIR)/ftplugin
- cp -p -- vim/ftplugin/*.vim $(VIMDIR)/ftplugin
+install-vim:
+ mkdir -p -- $(VIMDIR)
+ cp -p -- vim/vimrc.stub $(HOME)/.vimrc
+ cp -p -- vim/vimrc $(VIMRC)
+ cp -p -- vim/filetype.vim \
+ vim/scripts.vim \
+ $(VIMDIR)
+ cp -pR -- vim/after \
+ vim/autoload \
+ vim/compiler \
+ vim/ftplugin \
+ vim/indent \
+ vim/plugin \
+ vim/syntax \
+ $(VIMDIR)
+ for ent in vim/bundle/*/* ; do \
+ [ -d "$$ent" ] || continue ; \
+ cp -pR -- "$$ent" $(VIMDIR) ; \
+ done
GVIMRC = $(HOME)/.gvimrc
-install-vim-gui: install-vim \
- install-vim-gui-config
-
-install-vim-gui-config:
+install-vim-gui: install-vim
cp -p -- vim/gvimrc $(GVIMRC)
-install-vim-indent:
- mkdir -p -- $(VIMDIR)/indent
- cp -p -- vim/indent/*.vim $(VIMDIR)/indent
-
-install-vim-plugin:
- mkdir -p -- $(VIMDIR)/plugin
- cp -p -- vim/plugin/*.vim $(VIMDIR)/plugin
-
-install-vim-syntax:
- mkdir -p -- $(VIMDIR)/syntax
- cp -p -- vim/syntax/*.vim $(VIMDIR)/syntax
-
-install-vim-thesaurus:
- mkdir -p -- $(VIMDIR)/ref
- curl 'https://sanctum.geek.nz/ref/thesaurus.txt' \
- > $(VIMDIR)/ref/thesaurus.txt
-
install-vint:
cp -p -- vint/vintrc.yaml $(HOME)/.vintrc.yaml
-install-wget:
- cp -p -- wget/wgetrc $(HOME)/.wgetrc
+install-wget: install-sh
+ cp -p -- wget/profile.d/wget.sh $(HOME)/.profile.d
+ mkdir -p -- $(XDG_CACHE_HOME)/wget $(XDG_CONFIG_HOME)/wget
+ cp -p -- wget/wgetrc $(XDG_CONFIG_HOME)/wget/wgetrc
-install-x: check-xinit
- mkdir -p -- \
- $(HOME)/.config \
- $(HOME)/.config/sxhkd \
- $(HOME)/.xinitrc.d \
- $(HOME)/.Xresources.d
- cp -p -- X/redshift.conf $(HOME)/.config
- cp -p -- X/sxhkdrc $(HOME)/.config/sxhkd
- cp -p -- X/xinitrc $(HOME)/.xinitrc
- cp -p -- X/xinitrc.d/* $(HOME)/.xinitrc.d
- cp -p -- X/Xresources $(HOME)/.Xresources
- cp -p -- X/Xresources.d/* $(HOME)/.Xresources.d
+install-x: check-x install-logrotate install-sh
+ cp -p -- x/Xresources $(HOME)/.Xresources
+ cp -p -- x/shrc.d/x.sh $(HOME)/.shrc.d
+ mkdir -p -- $(HOME)/.xsession.d
+
+install-xsession: x/xsession check-xsession install-x
+ cp -p -- x/xsession $(HOME)/.xsession
+ mkdir -p -- $(XDG_CONFIG_HOME)/log/xsession
+ cp -p -- x/logrotate/config.d/xsession $(XDG_CONFIG_HOME)/logrotate/config.d
install-zsh: check-zsh install-sh
- mkdir -p -- $(HOME)/.profile.d $(HOME)/.zshrc.d
- cp -p -- zsh/profile.d/* $(HOME)/.profile.d
+ mkdir -p -- $(HOME)/.zshrc.d
+ cp -p -- zsh/profile.d/zsh.sh $(HOME)/.profile.d
cp -p -- zsh/zprofile $(HOME)/.zprofile
cp -p -- zsh/zshrc $(HOME)/.zshrc
- cp -p -- zsh/zshrc.d/* $(HOME)/.zshrc.d
+ cp -p -- zsh/zshrc.d/*.zsh $(HOME)/.zshrc.d
check: check-bin \
check-git-template-hooks \
@@ -664,7 +677,7 @@ check: check-bin \
check-man \
check-sh
-check-bash:
+check-bash: bin/han
sh check/bash.sh
check-bin: $(BINS)
@@ -688,11 +701,11 @@ check-login-shell:
check-sh:
sh check/sh.sh
-check-urxvt: urxvt/ext/select
- sh check/urxvt.sh
+check-x:
+ sh check/x.sh
-check-xinit:
- sh check/xinit.sh
+check-xsession: x/xsession
+ sh check/xsession.sh
check-zsh:
sh check/zsh.sh
@@ -703,9 +716,8 @@ lint: lint-bash \
lint-git-template-hooks \
lint-ksh \
lint-sh \
- lint-urxvt \
lint-vim \
- lint-xinit
+ lint-x
lint-bash: check-bash
sh lint/bash.sh
@@ -725,11 +737,11 @@ lint-ksh: check-ksh
lint-sh: check-sh
sh lint/sh.sh
-lint-urxvt: check-urxvt
- sh lint/urxvt.sh
-
lint-vim:
sh lint/vim.sh
-lint-xinit: check-xinit
- sh lint/xinit.sh
+lint-x: check-x
+ sh lint/x.sh
+
+lint-xsession: x/xsession check-xsession
+ sh lint/xsession.sh