diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2017-03-24 10:18:14 +1300 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2017-03-24 10:18:14 +1300 |
commit | 51ff37803fb63d452e8eef0e32f19214bfacb4b5 (patch) | |
tree | a9ebce1fa0397d45f38e4da97c5590ad20a4f104 | |
parent | Merge branch 'master' into port/bsd/freebsd (diff) | |
parent | Change shb(1) to read stdin by default (diff) | |
download | dotfiles-51ff37803fb63d452e8eef0e32f19214bfacb4b5.tar.gz dotfiles-51ff37803fb63d452e8eef0e32f19214bfacb4b5.zip |
Merge branch 'master' into port/bsd/freebsd
-rw-r--r-- | Makefile | 239 | ||||
-rwxr-xr-x | bin/shb | 13 | ||||
-rw-r--r-- | git/gitconfig.m4 | 8 | ||||
-rw-r--r-- | gnupg/gpg.conf.m4 | 4 | ||||
-rw-r--r-- | man/man1/shb.1df | 16 | ||||
-rw-r--r-- | tmux/tmux.conf.m4 | 6 | ||||
m--------- | vim/bundle/abolish | 0 | ||||
m--------- | vim/bundle/commentary | 0 | ||||
m--------- | vim/bundle/html5 | 0 |
9 files changed, 141 insertions, 145 deletions
@@ -1,3 +1,4 @@ +.POSIX: .PHONY: all \ clean \ distclean \ @@ -61,7 +62,7 @@ .SUFFIXES: .awk .bash .pl .sed -NAME = Tom Ryder +NAME = 'Tom Ryder' EMAIL = tom@sanctum.geek.nz KEY = 0xC14286EA77BB8872 SENDMAIL = msmtp @@ -119,23 +120,23 @@ clean distclean: git/gitconfig: git/gitconfig.m4 m4 \ - -D DOTFILES_NAME="$(NAME)" \ - -D DOTFILES_EMAIL="$(EMAIL)" \ - -D DOTFILES_KEY="$(KEY)" \ - -D DOTFILES_SENDMAIL="$(SENDMAIL)" \ - git/gitconfig.m4 > git/gitconfig + -D DF_NAME=$(NAME) \ + -D DF_EMAIL=$(EMAIL) \ + -D DF_KEY=$(KEY) \ + -D DF_SENDMAIL=$(SENDMAIL) \ + git/gitconfig.m4 > $@ KEYSERVER = hkps://hkps.pool.sks-keyservers.net gnupg/gpg.conf: gnupg/gpg.conf.m4 m4 \ - -D DOTFILES_HOME="$(HOME)" \ - -D DOTFILES_KEYSERVER="$(KEYSERVER)" \ - gnupg/gpg.conf.m4 > gnupg/gpg.conf + -D DF_HOME=$(HOME) \ + -D DF_KEYSERVER=$(KEYSERVER) \ + gnupg/gpg.conf.m4 > $@ man/man7/dotfiles.7df: README.markdown man/man7/dotfiles.7df.header cat man/man7/dotfiles.7df.header README.markdown | \ - pandoc -sS -t man -o "$@" + pandoc -sS -t man -o $@ MAILDIR = $(HOME)/Mail @@ -143,24 +144,24 @@ TMUX_BG = colour237 TMUX_FG = colour248 tmux/tmux.conf: tmux/tmux.conf.m4 - m4 -D TMUX_BG="$(TMUX_BG)" -D TMUX_FG="$(TMUX_FG)" \ - tmux/tmux.conf.m4 > tmux/tmux.conf + m4 -D DF_TMUX_BG=$(TMUX_BG) -D DF_TMUX_FG=$(TMUX_FG) \ + tmux/tmux.conf.m4 > $@ .awk: - bin/shb "$<" awk -f > "$@" - chmod +x "$@" + bin/shb awk -f < $< > $@ + chmod +x -- $@ .bash: - bin/shb "$<" bash > "$@" - chmod +x "$@" + bin/shb bash < $< > $@ + chmod +x -- $@ .pl: - bin/shb "$<" perl > "$@" - chmod +x "$@" + bin/shb perl < $< > $@ + chmod +x -- $@ .sed: - bin/shb "$<" sed -f > "$@" - chmod +x "$@" + bin/shb sed -f < $< > $@ + chmod +x -- $@ install: install-bash \ install-bash-completion \ @@ -176,145 +177,145 @@ install: install-bash \ install-abook: mkdir -p -- \ - "$(HOME)"/.abook - cp -p -- abook/abookrc "$(HOME)"/.abook + $(HOME)/.abook + cp -p -- abook/abookrc $(HOME)/.abook install-bash: check-bash install-sh mkdir -p -- \ - "$(HOME)"/.config \ - "$(HOME)"/.bashrc.d - cp -p -- bash/bashrc "$(HOME)"/.bashrc - cp -p -- bash/bashrc.d/* "$(HOME)"/.bashrc.d - cp -p -- bash/bash_profile "$(HOME)"/.bash_profile - cp -p -- bash/bash_logout "$(HOME)"/.bash_logout + $(HOME)/.config \ + $(HOME)/.bashrc.d + cp -p -- bash/bashrc $(HOME)/.bashrc + cp -p -- bash/bashrc.d/* $(HOME)/.bashrc.d + cp -p -- bash/bash_profile $(HOME)/.bash_profile + cp -p -- bash/bash_logout $(HOME)/.bash_logout install-bash-completion: install-bash - mkdir -p -- "$(HOME)"/.bash_completion.d - cp -p -- bash/bash_completion "$(HOME)"/.config/bash_completion - cp -p -- bash/bash_completion.d/* "$(HOME)"/.bash_completion.d + mkdir -p -- $(HOME)/.bash_completion.d + cp -p -- bash/bash_completion $(HOME)/.config/bash_completion + cp -p -- bash/bash_completion.d/* $(HOME)/.bash_completion.d install-bin: $(BINS) install-bin-man - mkdir -p -- "$(HOME)"/.local/bin + mkdir -p -- $(HOME)/.local/bin for name in bin/* ; do \ [ -x "$$name" ] || continue ; \ - cp -p -- "$$name" "$(HOME)"/.local/bin ; \ + cp -p -- "$$name" $(HOME)/.local/bin ; \ done 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 + $(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 install-curl: - cp -p -- curl/curlrc "$(HOME)"/.curlrc + cp -p -- curl/curlrc $(HOME)/.curlrc install-dotfiles-man: man/man7/dotfiles.7df - mkdir -p -- "$(HOME)"/.local/share/man/man7 - cp -p -- man/man7/*.7df "$(HOME)"/.local/share/man/man7 + mkdir -p -- $(HOME)/.local/share/man/man7 + cp -p -- man/man7/*.7df $(HOME)/.local/share/man/man7 install-dunst: install-x - mkdir -p -- "$(HOME)"/.config/dunst - cp -p -- dunst/dunstrc "$(HOME)"/.config/dunst + mkdir -p -- $(HOME)/.config/dunst + cp -p -- dunst/dunstrc $(HOME)/.config/dunst install-ex: - cp -p -- ex/exrc "$(HOME)"/.exrc + cp -p -- ex/exrc $(HOME)/.exrc install-finger: - cp -p -- finger/plan "$(HOME)"/.plan - cp -p -- finger/project "$(HOME)"/.project - cp -p -- finger/pgpkey "$(HOME)"/.pgpkey + cp -p -- finger/plan $(HOME)/.plan + cp -p -- finger/project $(HOME)/.project + cp -p -- finger/pgpkey $(HOME)/.pgpkey install-games: $(GAMES) install-games-man - mkdir -p -- "$(HOME)"/.local/games + mkdir -p -- $(HOME)/.local/games for name in games/* ; do \ [ -x "$$name" ] || continue ; \ - cp -p -- "$$name" "$(HOME)"/.local/games ; \ + cp -p -- "$$name" $(HOME)/.local/games ; \ done install-games-man: - mkdir -p -- "$(HOME)"/.local/share/man/man6 - cp -p -- man/man6/*.6df "$(HOME)"/.local/share/man/man6 + mkdir -p -- $(HOME)/.local/share/man/man6 + cp -p -- man/man6/*.6df $(HOME)/.local/share/man/man6 install-git: git/gitconfig - cp -p -- git/gitconfig "$(HOME)"/.gitconfig + cp -p -- git/gitconfig $(HOME)/.gitconfig install-gnupg: gnupg/gpg.conf mkdir -m 0700 -p -- \ - "$(HOME)"/.gnupg \ - "$(HOME)"/.gnupg/sks-keyservers.net - cp -p -- gnupg/*.conf "$(HOME)"/.gnupg + $(HOME)/.gnupg \ + $(HOME)/.gnupg/sks-keyservers.net + cp -p -- gnupg/*.conf $(HOME)/.gnupg cp -p -- gnupg/sks-keyservers.net/* \ - "$(HOME)"/.gnupg/sks-keyservers.net + $(HOME)/.gnupg/sks-keyservers.net install-gtk: mkdir -p -- \ - "$(HOME)"/.config/gtkrc-3.0 - cp -p -- gtk/gtkrc-2.0 "$(HOME)"/.gtkrc-2.0 - cp -p -- gtk/gtkrc-3.0/settings.ini "$(HOME)"/.config/gtkrc-3.0 + $(HOME)/.config/gtkrc-3.0 + cp -p -- gtk/gtkrc-2.0 $(HOME)/.gtkrc-2.0 + cp -p -- gtk/gtkrc-3.0/settings.ini $(HOME)/.config/gtkrc-3.0 install-i3: install-x - mkdir -p -- "$(HOME)"/.i3 - cp -p -- i3/* "$(HOME)"/.i3 + mkdir -p -- $(HOME)/.i3 + cp -p -- i3/* $(HOME)/.i3 install-less: - cp -p -- less/lesskey "$(HOME)"/.lesskey + cp -p -- less/lesskey $(HOME)/.lesskey command -v lesskey && lesskey 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 + $(HOME)/.muttrc.d \ + $(HOME)/.cache/mutt + cp -p -- mutt/muttrc $(HOME)/.muttrc + cp -p -- mutt/muttrc.d/src $(HOME)/.muttrc.d install-ncmcpp: - mkdir -p -- "$(HOME)"/.ncmpcpp - cp -p -- ncmpcpp/config "$(HOME)"/.ncmpcpp/config + mkdir -p -- $(HOME)/.ncmpcpp + cp -p -- ncmpcpp/config $(HOME)/.ncmpcpp/config install-newsbeuter: mkdir -p -- \ - "$(HOME)"/.config/newsbeuter \ - "$(HOME)"/.local/share/newsbeuter - cp -p -- newsbeuter/config "$(HOME)"/.config/newsbeuter/config + $(HOME)/.config/newsbeuter \ + $(HOME)/.local/share/newsbeuter + cp -p -- newsbeuter/config $(HOME)/.config/newsbeuter/config install-mysql: - cp -p -- mysql/my.cnf "$(HOME)"/.my.cnf + cp -p -- mysql/my.cnf $(HOME)/.my.cnf install-ksh: check-ksh install-sh mkdir -p -- \ - "$(HOME)"/.shrc.d \ - "$(HOME)"/.kshrc.d - cp -p -- ksh/shrc.d/* "$(HOME)"/.shrc.d - cp -p -- ksh/kshrc "$(HOME)"/.kshrc - cp -p -- ksh/kshrc.d/* "$(HOME)"/.kshrc.d + $(HOME)/.shrc.d \ + $(HOME)/.kshrc.d + cp -p -- ksh/shrc.d/* $(HOME)/.shrc.d + cp -p -- ksh/kshrc $(HOME)/.kshrc + cp -p -- ksh/kshrc.d/* $(HOME)/.kshrc.d install-perlcritic: - cp -p -- perlcritic/perlcriticrc "$(HOME)"/.perlcriticrc + cp -p -- perlcritic/perlcriticrc $(HOME)/.perlcriticrc install-perltidy: - cp -p -- perltidy/perltidyrc "$(HOME)"/.perltidyrc + cp -p -- perltidy/perltidyrc $(HOME)/.perltidyrc install-psql: - cp -p -- psql/psqlrc "$(HOME)"/.psqlrc + cp -p -- psql/psqlrc $(HOME)/.psqlrc install-readline: - cp -p -- readline/inputrc "$(HOME)"/.inputrc + cp -p -- readline/inputrc $(HOME)/.inputrc 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 - cp -p -- sh/shinit "$(HOME)"/.shinit - cp -p -- sh/shrc "$(HOME)"/.shrc - cp -p -- sh/shrc.d/* "$(HOME)"/.shrc.d + $(HOME)/.profile.d \ + $(HOME)/.shrc.d + cp -p -- sh/profile $(HOME)/.profile + cp -p -- sh/profile.d/* $(HOME)/.profile.d + cp -p -- sh/shinit $(HOME)/.shinit + cp -p -- sh/shrc $(HOME)/.shrc + cp -p -- sh/shrc.d/* $(HOME)/.shrc.d install-subversion: - mkdir -p -- "$(HOME)"/.subversion - cp -p -- subversion/config "$(HOME)"/.subversion/config + mkdir -p -- $(HOME)/.subversion + cp -p -- subversion/config $(HOME)/.subversion/config install-terminfo: for info in terminfo/*.info ; do \ @@ -322,14 +323,14 @@ install-terminfo: done install-tmux: tmux/tmux.conf install-terminfo - cp -p -- tmux/tmux.conf "$(HOME)"/.tmux.conf + cp -p -- tmux/tmux.conf $(HOME)/.tmux.conf install-urxvt: urxvt/ext/select check-urxvt - mkdir -p -- "$(HOME)"/.urxvt/ext + mkdir -p -- $(HOME)/.urxvt/ext for name in urxvt/ext/* ; do \ case $$name in \ *.pl) ;; \ - *) cp -p -- "$$name" "$(HOME)"/.urxvt/ext ;; \ + *) cp -p -- "$$name" $(HOME)/.urxvt/ext ;; \ esac \ done @@ -341,51 +342,51 @@ install-gvim: install-vim \ install-gvim-config install-vim-config: - cp -p -- vim/vimrc "$(HOME)"/.vimrc + cp -p -- vim/vimrc $(HOME)/.vimrc install-gvim-config: - cp -p -- vim/gvimrc "$(HOME)"/.gvimrc + cp -p -- vim/gvimrc $(HOME)/.gvimrc install-vim-plugins: install-vim-config find vim/after vim/bundle -name .git -prune -o \ -type d -exec sh -c 'mkdir -p -- \ - "$(HOME)"/."$$1"' _ {} \; -o \ + $(HOME)/."$$1"' _ {} \; -o \ -type f -exec sh -c 'cp -p -- \ - "$$1" "$(HOME)"/."$$1"' _ {} \; + "$$1" $(HOME)/."$$1"' _ {} \; install-vim-pathogen: install-vim-plugins - mkdir -p -- "$(HOME)"/.vim/autoload - rm -f -- "$(HOME)"/.vim/autoload/pathogen.vim + mkdir -p -- $(HOME)/.vim/autoload + rm -f -- $(HOME)/.vim/autoload/pathogen.vim ln -s -- ../bundle/pathogen/autoload/pathogen.vim \ - "$(HOME)"/.vim/autoload/pathogen.vim + $(HOME)/.vim/autoload/pathogen.vim install-x: mkdir -p -- \ - "$(HOME)"/.config \ - "$(HOME)"/.config/sxhkdrc \ - "$(HOME)"/.xinitrc.d \ - "$(HOME)"/.Xresources.d - cp -p -- X/redshift.conf "$(HOME)"/.config/redshift.conf - cp -p -- X/sxhkdrc "$(HOME)"/.config/sxhkd/sxhkdrc - 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 + $(HOME)/.config \ + $(HOME)/.config/sxhkdrc \ + $(HOME)/.xinitrc.d \ + $(HOME)/.Xresources.d + cp -p -- X/redshift.conf $(HOME)/.config/redshift.conf + cp -p -- X/sxhkdrc $(HOME)/.config/sxhkd/sxhkdrc + 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-yash: check-yash install-sh - mkdir -p -- "$(HOME)"/.yashrc.d - cp -p -- yash/yash_profile "$(HOME)"/.yash_profile - cp -p -- yash/yashrc "$(HOME)"/.yashrc - cp -p -- yash/yashrc.d/* "$(HOME)"/.yashrc.d + mkdir -p -- $(HOME)/.yashrc.d + cp -p -- yash/yash_profile $(HOME)/.yash_profile + cp -p -- yash/yashrc $(HOME)/.yashrc + cp -p -- yash/yashrc.d/* $(HOME)/.yashrc.d install-zsh: check-zsh install-sh mkdir -p -- \ - "$(HOME)"/.profile.d \ - "$(HOME)"/.zshrc.d - cp -p -- zsh/profile.d/* "$(HOME)"/.profile.d - cp -p -- zsh/zprofile "$(HOME)"/.zprofile - cp -p -- zsh/zshrc "$(HOME)"/.zshrc - cp -p -- zsh/zshrc.d/* "$(HOME)"/.zshrc.d + $(HOME)/.profile.d \ + $(HOME)/.zshrc.d + cp -p -- zsh/profile.d/* $(HOME)/.profile.d + cp -p -- zsh/zprofile $(HOME)/.zprofile + cp -p -- zsh/zshrc $(HOME)/.zshrc + cp -p -- zsh/zshrc.d/* $(HOME)/.zshrc.d check: check-bash \ check-bin \ @@ -3,15 +3,14 @@ self=shb # Need at least two arguments -if [ "$#" -lt 2 ] ; then - printf >&2 '%s: Need input file and command\n' "$self" +if [ "$#" -lt 1 ] ; then + printf >&2 '%s: Need interpreter command\n' "$self" exit 1 fi -# First argument is the script (might be - for stdin), second argument is the -# name of the interpreter -scr=$1 intn=$2 -shift 2 +# First argument is the name of the interpreter +intn=$1 +shift # Try and find the path to the interpreter command, bail out if we can't if ! intp=$(command -v "$intn" 2>/dev/null) ; then @@ -25,4 +24,4 @@ set -- "$intp" "$@" printf '#!%s\n' "$*" # Emit the rest of the input -cat -- "$scr" +cat diff --git a/git/gitconfig.m4 b/git/gitconfig.m4 index d13e7fdb..f533f02f 100644 --- a/git/gitconfig.m4 +++ b/git/gitconfig.m4 @@ -52,13 +52,13 @@ [sendemail] confirm = compose - smtpServer = DOTFILES_SENDMAIL + smtpServer = DF_SENDMAIL [status] short = true showUntrackedFiles = all [user] - name = DOTFILES_NAME - email = DOTFILES_EMAIL - signingKey = DOTFILES_KEY + name = DF_NAME + email = DF_EMAIL + signingKey = DF_KEY diff --git a/gnupg/gpg.conf.m4 b/gnupg/gpg.conf.m4 index dbbed306..29534991 100644 --- a/gnupg/gpg.conf.m4 +++ b/gnupg/gpg.conf.m4 @@ -22,11 +22,11 @@ fixed-list-mode keyid-format 0xlong # Use a pool of servers which support HKPS (encrypted key retrieval) -keyserver DOTFILES_KEYSERVER +keyserver DF_KEYSERVER # Retrieve keys automatically; check the keyserver port cert; use whichever # server is proffered from the pool -keyserver-options auto-key-retrieve check-cert no-honor-keyserver-url ca-certfile=DOTFILES_HOME/.gnupg/sks-keyservers.net/sks-keyservers.netCA.pem +keyserver-options auto-key-retrieve check-cert no-honor-keyserver-url ca-certfile=DF_HOME/.gnupg/sks-keyservers.net/sks-keyservers.netCA.pem # Include trust/validity for UIDs in listings list-options show-uid-validity diff --git a/man/man1/shb.1df b/man/man1/shb.1df index 1970dbde..a1cb884a 100644 --- a/man/man1/shb.1df +++ b/man/man1/shb.1df @@ -4,20 +4,16 @@ \- insert a shebang line above a file .SH SYNOPSIS .B shb -script bash +bash < foo.bash > foo .br +cat *.sed | .B shb -script sed -f -.br -command | -.B shb -- awk -f +sed -f > sedbatch .SH DESCRIPTION .B shb -searches the system paths to find a suitable program with the name given in the -second argument, forms a "shebang" line from it and any arguments beyond the -second, and then emits the contents of the first argument ('-' can be used for -stdin). +searches the system paths to find a suitable program with the name given in its +first argument, forms a "shebang" line from it and any remaining arguments, and +then emits the contents of stdin. .P This is intended as a minimal way to make portable shebang lines for Makefiles or other building or installation frameworks, handling subtleties like sed(1) diff --git a/tmux/tmux.conf.m4 b/tmux/tmux.conf.m4 index 4e3cce4d..facb91ca 100644 --- a/tmux/tmux.conf.m4 +++ b/tmux/tmux.conf.m4 @@ -113,15 +113,15 @@ set-option -g message-style "bg=colour18,fg=colour231" set-window-option -g mode-style "bg=colour18,fg=colour231" # Pane borders are always in the background color -set-option -g pane-border-style "fg=TMUX_BG" -set-option -g pane-active-border-style "fg=TMUX_BG" +set-option -g pane-border-style "fg=DF_TMUX_BG" +set-option -g pane-active-border-style "fg=DF_TMUX_BG" # Inactive windows have slightly washed-out system colours set-option -g window-style "bg=colour232,fg=colour248" set-option -g window-active-style "bg=colour0,fg=colour15" # The status bar has the defined background and foreground colours -set-option -g status-style "bg=TMUX_BG,fg=TMUX_FG" +set-option -g status-style "bg=DF_TMUX_BG,fg=DF_TMUX_FG" # Titles of windows default to black text with no embellishment set-window-option -g window-status-style "fg=colour16" diff --git a/vim/bundle/abolish b/vim/bundle/abolish -Subproject 05c7d31f6b3066582017edf5198502a94f6a7cb +Subproject b6a8b49e2173ba5a1b34d00e68e0ed8addac3eb diff --git a/vim/bundle/commentary b/vim/bundle/commentary -Subproject 73e0d9a9d1f51b6cc9dc965f62669194ae851cb +Subproject be79030b3e8c0ee3c5f45b4333919e4830531e8 diff --git a/vim/bundle/html5 b/vim/bundle/html5 -Subproject 3f3484a8788f599a9eb86c363408c5cab66d66b +Subproject 0a19c5aaf985e064b2cfc30a348a235ba91b257 |