diff options
-rw-r--r-- | README.org | 58 | ||||
-rw-r--r-- | atop/.atoprc (renamed from tag-atop/atoprc) | 0 | ||||
-rw-r--r-- | clojure/.lein/profiles.clj (renamed from tag-clojure/lein/profiles.clj) | 0 | ||||
-rw-r--r-- | dwm/dwm/config.h (renamed from tag-dwm/dwm/config.h) | 0 | ||||
-rw-r--r-- | emacs/.emacs.d/Makefile | 22 | ||||
-rw-r--r-- | emacs/.emacs.d/init.org (renamed from tag-emacs/emacs.d/init.org) | 31 | ||||
-rw-r--r-- | emacs/.emacs.d/private.el.gpg | bin | 0 -> 2339 bytes | |||
-rwxr-xr-x | fish/.config/fish/config.fish (renamed from tag-fish/config/fish/config.fish) | 0 | ||||
-rw-r--r-- | gemrc | 1 | ||||
-rw-r--r-- | git/.config/git/config (renamed from tag-git/config/git/config) | 0 | ||||
-rw-r--r-- | git/.config/git/gitk (renamed from tag-git/config/git/gitk) | 0 | ||||
-rw-r--r-- | git/.config/git/ignore (renamed from tag-git/config/git/ignore) | 0 | ||||
-rw-r--r-- | global/.globalrc (renamed from tag-global/globalrc) | 0 | ||||
-rw-r--r-- | hg/.hgrc (renamed from tag-hg/hgrc) | 0 | ||||
-rwxr-xr-x | hooks/post-up/emacs | 17 | ||||
-rwxr-xr-x | hooks/post-up/zsh | 29 | ||||
-rw-r--r-- | host-ap-spotcap.local/config/zsh/zshenv.local | 9 | ||||
-rw-r--r-- | host-ap-spotcap.local/emacs.d/private.el.gpg | bin | 2288 -> 0 bytes | |||
-rw-r--r-- | host-ap-spotcap.local/rcrc.local | 2 | ||||
-rw-r--r-- | host-prefect/Xresources | 4 | ||||
-rw-r--r-- | host-prefect/rcrc.local | 2 | ||||
-rw-r--r-- | javascript/.npmrc (renamed from npmrc) | 0 | ||||
-rw-r--r-- | karabiner/.config/karabiner/karabiner.json (renamed from tag-karabiner/config/karabiner/karabiner.json) | 0 | ||||
-rw-r--r-- | minttyrc/minttyrc (renamed from tag-minttyrc/minttyrc) | 0 | ||||
-rw-r--r-- | mpv/.config/config (renamed from host-ap-spotcap.local/config/mpv/config) | 0 | ||||
-rw-r--r-- | rcrc | 3 | ||||
-rw-r--r-- | ruby/.gemrc | 1 | ||||
-rw-r--r-- | slate/.slate (renamed from host-ap-spotcap.local/slate) | 0 | ||||
-rwxr-xr-x | ssh/.ssh/rc (renamed from tag-ssh/ssh/rc) | 0 | ||||
-rw-r--r-- | tmux/.tmux.conf (renamed from tag-tmux/tmux.conf) | 0 | ||||
-rw-r--r-- | vagrant/.vagrant.d/Vagrantfile (renamed from tag-vagrant/vagrant.d/Vagrantfile) | 0 | ||||
-rw-r--r-- | vagrant/.vagrant.d/ansible/centos.yml (renamed from tag-vagrant/vagrant.d/ansible/centos.yml) | 0 | ||||
-rw-r--r-- | vagrant/.vagrant.d/ansible/debian.yml (renamed from tag-vagrant/vagrant.d/ansible/debian.yml) | 0 | ||||
-rw-r--r-- | vagrant/.vagrant.d/ansible/site.yml (renamed from tag-vagrant/vagrant.d/ansible/site.yml) | 0 | ||||
-rw-r--r-- | xbindkeys/xbindkeysrc.scm (renamed from tag-xbindkeys/xbindkeysrc.scm) | 0 | ||||
-rw-r--r-- | xmobar/.xmobarrc (renamed from tag-xmobar/xmobarrc) | 0 | ||||
-rw-r--r-- | xmodmap/xmodmaprc (renamed from host-marvin/xmodmaprc) | 0 | ||||
-rw-r--r-- | xmonad/xmonad/xmonad.hs (renamed from tag-xmonad/xmonad/xmonad.hs) | 0 | ||||
-rwxr-xr-x | xprofile/.xprofile (renamed from tag-xprofile/xprofile) | 0 | ||||
-rw-r--r-- | xresources/.xresources/main (renamed from tag-xresources/xresources/main) | 0 | ||||
-rw-r--r-- | xresources/.xresources/solarized-light (renamed from tag-xresources/xresources/solarized-light) | 0 | ||||
-rw-r--r-- | zsh/.config/zsh/.zshenv (renamed from tag-zsh/config/zsh/zshenv) | 8 | ||||
-rw-r--r-- | zsh/.config/zsh/.zshrc (renamed from tag-zsh/config/zsh/zshrc) | 9 | ||||
-rw-r--r-- | zsh/.zshenv (renamed from tag-zsh/zshenv) | 0 |
44 files changed, 113 insertions, 83 deletions
diff --git a/README.org b/README.org index b6c5c092..7333ed34 100644 --- a/README.org +++ b/README.org @@ -1,8 +1,56 @@ * Dotfiles -I've organised this repository with [[https://github.com/thoughtbot/rcm][rcm]], using tag- and -host-specific directories. It focuses on zsh and emacs, with some -functions to go from zsh to emacs (and directly to dired and magit). -It doesn't use any configuration frameworks. +I've organised this repository with [[https://www.gnu.org/software/stow/][GNU Stow]]. It focuses on [[http://zsh.sourceforge.net][Z Shell]] and +[[http://emacs.sexy][Emacs]]. -Most likely to work on Linux, OSX and FreeBSD. +It doesn't use any configuration frameworks, just packages installed +via package managers. For Z shell I use [[https://zplug.sh/][zplug]] and for Emacs I use the +built-in package.el via [[https://github.com/jwiegley/use-package][use-package]]. + +It should work on: +- Linux +- OSX +- FreeBSD +- Windows/Ubuntu + +** Installation + +Installing a set of dotfiles with stow is simple. For example, with +Emacs: + +#+BEGIN_SRC sh :exports code +stow -S emacs +#+END_SRC + +And then to uninstall + +#+BEGIN_SRC sh :exports code +stow -D emacs +#+END_SRC + +*** Z Shell + +My zsh configuration uses [[https://zplug.sh/][zplug]], so that will need to be installed: + +#+BEGIN_SRC sh :exports code +git clone git://github.com/zplug/zplug ~/projects/zplug/ +#+END_SRC + +To install the packages: + +#+BEGIN_SRC sh :exports code +zsh -ic "zplug install" +#+END_SRC + +Note that this will log some errors about a pipe, but that's okay. +zplug is meant to be used in a real interactive shell. + +*** Emacs + +I use org-mode for my Emacs init file. To simplify setup, I created a +[[file:emacs/.emacs.d/Makefile][Makefile]]. + +#+BEGIN_SRC sh :exports code +cd ~/.emacs.d/ +make +#+END_SRC diff --git a/tag-atop/atoprc b/atop/.atoprc index d03319ea..d03319ea 100644 --- a/tag-atop/atoprc +++ b/atop/.atoprc diff --git a/tag-clojure/lein/profiles.clj b/clojure/.lein/profiles.clj index 99c0de2d..99c0de2d 100644 --- a/tag-clojure/lein/profiles.clj +++ b/clojure/.lein/profiles.clj diff --git a/tag-dwm/dwm/config.h b/dwm/dwm/config.h index ae1d8bb3..ae1d8bb3 100644 --- a/tag-dwm/dwm/config.h +++ b/dwm/dwm/config.h diff --git a/emacs/.emacs.d/Makefile b/emacs/.emacs.d/Makefile new file mode 100644 index 00000000..3d965e44 --- /dev/null +++ b/emacs/.emacs.d/Makefile @@ -0,0 +1,22 @@ +define EMACS_TANGLE +(progn\ + (setq vc-follow-symlinks nil)\ + (find-file \"init.org\")\ + (require 'ob-tangle)\ + (org-babel-tangle nil \"init.el\")) +endef + +# The first target is the default. `all` is typically defined here. +all: init.elc + +# These targets don't pertain to files +.PHONY: all clean + +init.el: + @emacs --batch --no-init-file --eval "$(EMACS_TANGLE)" --kill + +init.elc: init.el + @emacs --batch --no-init-file --funcall batch-byte-compile init.el + +clean: + rm init.el init.elc diff --git a/tag-emacs/emacs.d/init.org b/emacs/.emacs.d/init.org index e8a7c3b6..7578c72a 100644 --- a/tag-emacs/emacs.d/init.org +++ b/emacs/.emacs.d/init.org @@ -300,7 +300,12 @@ switching windows. #+BEGIN_SRC emacs-lisp (use-package beacon :diminish beacon-mode - :config (beacon-mode +1)) + :config (progn + (beacon-mode +1) + (setq beacon-blink-delay 0.25 + beacon-blink-duration 0.25 + beacon-size 20 + beacon-color "#a1b56c"))) #+END_SRC ** Renaming major modes @@ -423,7 +428,7 @@ configuration with crux.el #+BEGIN_SRC emacs-lisp (defun switch-to-dotfiles () (interactive) - (projectile-switch-project-by-name (expand-file-name "dotfiles" home-project-directory))) + (projectile-switch-project-by-name (expand-file-name "~/dotfiles"))) #+END_SRC ** The Silver Searcher @@ -446,8 +451,9 @@ Step over Silver Search, here comes a new challenger. :if (executable-find "rg")) (use-package projectile-ripgrep - :bind (("C-c p s r" . projectile-ripgrep)) - :ensure nil) + :after (ripgrep projectile) + :if (executable-find "rg") + :bind (("C-c p s r" . projectile-ripgrep))) #+END_SRC ** Projectile @@ -1730,7 +1736,7 @@ A nice completion backend for programming modes. #+BEGIN_SRC emacs-lisp (use-package ggtags - :disabled t + :if (executable-find "gtags") :commands turn-on-ggtags-mode :functions (ggtags-navigation-mode-abort) :config (progn @@ -1742,6 +1748,21 @@ A nice completion backend for programming modes. (add-hook 'c-mode-common-hook #'turn-on-ggtags-mode))) #+END_SRC +** dumb-jump + +A "clever" way of implementing go-to-definition across languages: use +a project-wide text search and apply heuristics to the results to +guess a definition. + +#+BEGIN_SRC emacs-lisp +(use-package dumb-jump + :bind (("M-g o" . dumb-jump-go-other-window) + ("M-g j" . dumb-jump-go) + ("M-g x" . dumb-jump-go-prefer-external) + ("M-g z" . dumb-jump-go-prefer-external-other-window)) + :config (setq dumb-jump-selector 'ivy)) +#+END_SRC + ** Lisps *** All diff --git a/emacs/.emacs.d/private.el.gpg b/emacs/.emacs.d/private.el.gpg new file mode 100644 index 00000000..04290b73 --- /dev/null +++ b/emacs/.emacs.d/private.el.gpg Binary files differdiff --git a/tag-fish/config/fish/config.fish b/fish/.config/fish/config.fish index 34cd22ec..34cd22ec 100755 --- a/tag-fish/config/fish/config.fish +++ b/fish/.config/fish/config.fish diff --git a/gemrc b/gemrc deleted file mode 100644 index aaa70a93..00000000 --- a/gemrc +++ /dev/null @@ -1 +0,0 @@ -gem: --user-install -n~/bin \ No newline at end of file diff --git a/tag-git/config/git/config b/git/.config/git/config index 6228a08b..6228a08b 100644 --- a/tag-git/config/git/config +++ b/git/.config/git/config diff --git a/tag-git/config/git/gitk b/git/.config/git/gitk index 0eb9a033..0eb9a033 100644 --- a/tag-git/config/git/gitk +++ b/git/.config/git/gitk diff --git a/tag-git/config/git/ignore b/git/.config/git/ignore index d7189dc5..d7189dc5 100644 --- a/tag-git/config/git/ignore +++ b/git/.config/git/ignore diff --git a/tag-global/globalrc b/global/.globalrc index 7fd1a0bb..7fd1a0bb 100644 --- a/tag-global/globalrc +++ b/global/.globalrc diff --git a/tag-hg/hgrc b/hg/.hgrc index 2f16f27e..2f16f27e 100644 --- a/tag-hg/hgrc +++ b/hg/.hgrc diff --git a/hooks/post-up/emacs b/hooks/post-up/emacs deleted file mode 100755 index 05a5c9d1..00000000 --- a/hooks/post-up/emacs +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -EMACS_COMMAND=$(command -v Emacs || command -v emacs) - -if [[ -s $EMACS_COMMAND ]] -then - pushd ~/.emacs.d - emacs --batch --eval "(progn -(setq vc-follow-symlinks nil) -(find-file \"init.org\") -(require 'ob-tangle) -(org-babel-tangle nil \"init.el\") -(byte-compile-file \"init.el\") -(load-file \"init.el\") -)" - popd -fi diff --git a/hooks/post-up/zsh b/hooks/post-up/zsh deleted file mode 100755 index 3eef6e51..00000000 --- a/hooks/post-up/zsh +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env zsh -ZDOTDIR="${XDG_CONFIG_HOME:=~/.config}/zsh" - -pushd $ZDOTDIR -for f in z*(-.) -do - if [[ -e .$f ]] - then - if [[ ! -h .$f ]] - then - echo ".$f already exists as a regular file, ignoring" - fi - else - ln -s $f .$f - fi -done -popd - -if [[ ! -d ~/.cache/zsh ]] -then - mkdir -p ~/.cache/zsh -fi - -if [[ -z $commands[zplug] && ! -d ~/projects/zplug/ ]] -then - git clone git://github.com/zplug/zplug ~/projects/zplug/ -fi - -zsh -ic "zplug install" diff --git a/host-ap-spotcap.local/config/zsh/zshenv.local b/host-ap-spotcap.local/config/zsh/zshenv.local deleted file mode 100644 index af63e1ba..00000000 --- a/host-ap-spotcap.local/config/zsh/zshenv.local +++ /dev/null @@ -1,9 +0,0 @@ -# -*- mode: sh; -*- -if [[ -e $HOME/.nix-profile/etc/profile.d/nix.sh ]] -then - . $HOME/.nix-profile/etc/profile.d/nix.sh; -fi - -JIRA_RAPID_BOARD=true -JIRA_URL=https://spotcap.atlassian.net -EMAIL=alan.pearce@spotcap.com diff --git a/host-ap-spotcap.local/emacs.d/private.el.gpg b/host-ap-spotcap.local/emacs.d/private.el.gpg deleted file mode 100644 index 784a023b..00000000 --- a/host-ap-spotcap.local/emacs.d/private.el.gpg +++ /dev/null Binary files differdiff --git a/host-ap-spotcap.local/rcrc.local b/host-ap-spotcap.local/rcrc.local deleted file mode 100644 index 4639c9e2..00000000 --- a/host-ap-spotcap.local/rcrc.local +++ /dev/null @@ -1,2 +0,0 @@ -DOTFILES_DIRS="$HOME/projects/dotfiles" -TAGS="emacs git global tmux zsh" \ No newline at end of file diff --git a/host-prefect/Xresources b/host-prefect/Xresources deleted file mode 100644 index c89d4863..00000000 --- a/host-prefect/Xresources +++ /dev/null @@ -1,4 +0,0 @@ -#include "main" - -Emacs.Font: -xos4-Terminus-normal-normal-normal-*-14-*-*-*-*-*-*-* -Emacs.fixed-pitch.attributeFont: -xos4-Terminus-normal-normal-normal-*-14-*-*-*-*-*-*-* diff --git a/host-prefect/rcrc.local b/host-prefect/rcrc.local deleted file mode 100644 index 3b80dd6e..00000000 --- a/host-prefect/rcrc.local +++ /dev/null @@ -1,2 +0,0 @@ -DOTFILES_DIRS="$HOME/projects/dotfiles" -TAGS="emacs git hg clojure ssh zsh" diff --git a/npmrc b/javascript/.npmrc index 6804f657..6804f657 100644 --- a/npmrc +++ b/javascript/.npmrc diff --git a/tag-karabiner/config/karabiner/karabiner.json b/karabiner/.config/karabiner/karabiner.json index 0e866a63..0e866a63 100644 --- a/tag-karabiner/config/karabiner/karabiner.json +++ b/karabiner/.config/karabiner/karabiner.json diff --git a/tag-minttyrc/minttyrc b/minttyrc/minttyrc index 2e7f2d86..2e7f2d86 100644 --- a/tag-minttyrc/minttyrc +++ b/minttyrc/minttyrc diff --git a/host-ap-spotcap.local/config/mpv/config b/mpv/.config/config index 56c6d996..56c6d996 100644 --- a/host-ap-spotcap.local/config/mpv/config +++ b/mpv/.config/config diff --git a/rcrc b/rcrc deleted file mode 100644 index 112aae61..00000000 --- a/rcrc +++ /dev/null @@ -1,3 +0,0 @@ -EXCLUDES="Brewfile LaunchAgents README.org" -DOTFILES_DIRS="$HOME/projects/dotfiles" -[ -e ~/.rcrc.local ] && . ~/.rcrc.local \ No newline at end of file diff --git a/ruby/.gemrc b/ruby/.gemrc new file mode 100644 index 00000000..ab4f7840 --- /dev/null +++ b/ruby/.gemrc @@ -0,0 +1 @@ +gem: --user-install -n~/.local/bin \ No newline at end of file diff --git a/host-ap-spotcap.local/slate b/slate/.slate index e8c675d0..e8c675d0 100644 --- a/host-ap-spotcap.local/slate +++ b/slate/.slate diff --git a/tag-ssh/ssh/rc b/ssh/.ssh/rc index 59e4cfd1..59e4cfd1 100755 --- a/tag-ssh/ssh/rc +++ b/ssh/.ssh/rc diff --git a/tag-tmux/tmux.conf b/tmux/.tmux.conf index 697e1238..697e1238 100644 --- a/tag-tmux/tmux.conf +++ b/tmux/.tmux.conf diff --git a/tag-vagrant/vagrant.d/Vagrantfile b/vagrant/.vagrant.d/Vagrantfile index 4c69c88e..4c69c88e 100644 --- a/tag-vagrant/vagrant.d/Vagrantfile +++ b/vagrant/.vagrant.d/Vagrantfile diff --git a/tag-vagrant/vagrant.d/ansible/centos.yml b/vagrant/.vagrant.d/ansible/centos.yml index 1a6759a6..1a6759a6 100644 --- a/tag-vagrant/vagrant.d/ansible/centos.yml +++ b/vagrant/.vagrant.d/ansible/centos.yml diff --git a/tag-vagrant/vagrant.d/ansible/debian.yml b/vagrant/.vagrant.d/ansible/debian.yml index 9e06af69..9e06af69 100644 --- a/tag-vagrant/vagrant.d/ansible/debian.yml +++ b/vagrant/.vagrant.d/ansible/debian.yml diff --git a/tag-vagrant/vagrant.d/ansible/site.yml b/vagrant/.vagrant.d/ansible/site.yml index 13384550..13384550 100644 --- a/tag-vagrant/vagrant.d/ansible/site.yml +++ b/vagrant/.vagrant.d/ansible/site.yml diff --git a/tag-xbindkeys/xbindkeysrc.scm b/xbindkeys/xbindkeysrc.scm index 7b00c38d..7b00c38d 100644 --- a/tag-xbindkeys/xbindkeysrc.scm +++ b/xbindkeys/xbindkeysrc.scm diff --git a/tag-xmobar/xmobarrc b/xmobar/.xmobarrc index dd54a928..dd54a928 100644 --- a/tag-xmobar/xmobarrc +++ b/xmobar/.xmobarrc diff --git a/host-marvin/xmodmaprc b/xmodmap/xmodmaprc index 82a8674f..82a8674f 100644 --- a/host-marvin/xmodmaprc +++ b/xmodmap/xmodmaprc diff --git a/tag-xmonad/xmonad/xmonad.hs b/xmonad/xmonad/xmonad.hs index 21e197d2..21e197d2 100644 --- a/tag-xmonad/xmonad/xmonad.hs +++ b/xmonad/xmonad/xmonad.hs diff --git a/tag-xprofile/xprofile b/xprofile/.xprofile index f0a05239..f0a05239 100755 --- a/tag-xprofile/xprofile +++ b/xprofile/.xprofile diff --git a/tag-xresources/xresources/main b/xresources/.xresources/main index 73f8096d..73f8096d 100644 --- a/tag-xresources/xresources/main +++ b/xresources/.xresources/main diff --git a/tag-xresources/xresources/solarized-light b/xresources/.xresources/solarized-light index 3906b7b0..3906b7b0 100644 --- a/tag-xresources/xresources/solarized-light +++ b/xresources/.xresources/solarized-light diff --git a/tag-zsh/config/zsh/zshenv b/zsh/.config/zsh/.zshenv index f1cad02f..512dc56e 100644 --- a/tag-zsh/config/zsh/zshenv +++ b/zsh/.config/zsh/.zshenv @@ -17,6 +17,11 @@ then export SSH_AUTH_SOCK=${XDG_RUNTIME_DIR:-/run/user/$UID}/ssh-agent fi + if [[ -e $HOME/.nix-profile/etc/profile.d/nix.sh ]] + then + . $HOME/.nix-profile/etc/profile.d/nix.sh; + fi + case $OSTYPE in darwin*) os=darwin @@ -40,4 +45,7 @@ then arch=386 ;; esac + + export GTAGSCONF=~/.globalrc + export GTAGSLABEL=ctags fi diff --git a/tag-zsh/config/zsh/zshrc b/zsh/.config/zsh/.zshrc index fb9a36a7..8a9c8063 100644 --- a/tag-zsh/config/zsh/zshrc +++ b/zsh/.config/zsh/.zshrc @@ -2,7 +2,6 @@ source $ZPLUG_HOME/init.zsh zplug "zsh-users/zsh-completions", depth:1, defer:0 -zplug "Tarrasch/zsh-autoenv", as:plugin zplug "junegunn/fzf-bin", from:gh-r, as:command, rename-to:fzf zplug "junegunn/fzf", as:plugin, use:"shell/*.zsh", defer:2 zplug "junegunn/fzf", as:command, use:"bin/*" @@ -134,18 +133,16 @@ then eval $(ssh-agent) fi -if zplug check Tarrasch/zsh-autoenv +if zplug check gerges/oh-my-zsh-jira-plus then - AUTOENV_FILE_ENTER=.envrc - AUTOENV_HANDLE_LEAVE=1 - AUTOENV_LOOK_UPWARDS=1 + JIRA_RAPID_BOARD=true + JIRA_URL=https://spotcap.atlassian.net fi # Then, source plugins and add commands to $PATH zplug load # General configuration -setopt auto_cd # Change directories without `cd` if [[ -n $commands[hub] ]] then diff --git a/tag-zsh/zshenv b/zsh/.zshenv index 354c54da..354c54da 100644 --- a/tag-zsh/zshenv +++ b/zsh/.zshenv |