Various configuration and automation scripts
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Alan Faubert e8c5edb72f gcloud: automatically look up latest version number 4 hours ago
atom atom config 1 year ago
bash move things down from root directory 1 month ago
docker reorganize 1 year ago
firefox firefox: disable more Safe Browsing features 1 week ago
git git: add clean-pr 3 months ago
keepass keepass: add config 6 days ago
nodejs nodejs: switch to nvm-based installation 20 hours ago
tmux reorganize 1 year ago
vscode vscode: render whitespace 6 months ago
windows config: overhaul 1 year ago
wsl move things down from root directory 1 month ago
.gitignore gcloud: move installation to ~/gcloud 19 hours ago gcloud: move installation to ~/gcloud 19 hours ago gcloud: automatically look up latest version number 4 hours ago


My config files for various things. Use to automate the setup of several of them.

Things that are not checked in but which should live in this directory:

  • firefox/configs/ - files whose names are +-separated filenames from firefox/ - these will be constructed by concatenation from the base files, and will be symlinked to from various profiles’ user.js files
  • firefox/*.proxy - proxy auto-config files - these too can be referred to in the above firefox/configs/ files, without the .proxy extension
  • gcloud/ - Google Cloud SDK configuration files
  • git/.git-credentials - plaintext Git credential store
  • git/github_token - GitHub Personal Access Token with read access to repos
  • nodejs/.npmrc - npm credentials, config, etc.
  • ssh/ - SSH keys, config, etc.

WSL setup

Use wsl/install.cmd to set up a new WSL installation. Requires LxRunOffline. Run without arguments for details.

Use wsl/ to convert squashfs files from e.g. into tarballs that LxRunOffline can use. (Requires fakeroot.)


For each profile:

Git aliases

  • git clean-branches - delete local branches which track deleted remote branches
  • git clean-config - unset various local config values, so global config will be used
  • git clean-dates - set commit dates of all commits in the given range to their authoring dates
  • git clean-modes - reset all file modes to to those in the repository
  • git clean-original - delete all refs/original/ refs left by git filter-branch
  • git clean-pr - delete all pr/ branches created by git cpr
  • get clean-user - set author and committer of all commits in the given range to the currently configured identity
  • git cpr - checkout a PR from GitHub by id, and set up the local branch to track the appropriate branch on the appropriate fork
  • git index-list-skip - list all files that have had --skip-worktree set on them
  • git index-skip - set --skip-worktree on a given file
  • git index-unskip - set --no-skip-worktree on a given file
  • git npm-add - stage precisely the files that would be included in an npm package
  • git track - set current branch to track given remote and branch, defaulting to same branch name
  • git turbo-gc - turbo garbage collect
  • git user-* - set and as appropriate

Node/npm scripts

  • - find the given binaries searching upwards through node_modules and output aliases for them, suitable for >> ~/.profile
  • - create a commit for new version (if there are uncommitted changed), and create and tag a dangling commit from HEAD but not on the current branch which contains all of the files npm publish would
  • - find the node_modules where the given dependencies are used, search up further for directories defining them, and create symlinks
  • - symlink to all binaries in the given nvm installation of Node (defaults to latest one) from ~/bin

tmux keybindings

The included .tmux.conf makes the following changes/additions to the default tmux keybindings:

  • The prefix key is now ctrl-a (and ctrl-a ctrl-a is used to send ctrl-a to the console)
  • Switching windows is done with ctrl-alt-left/right (no prefix key)
  • Switching panes is done with alt-left/right/up/down (no prefix key)
  • Splitting panes is done with ctrl-a | (horizontal) and ctrl-a - (vertical)
  • Reloading ~/.tmux.conf is done with ctrl-a shift-r

Mouse control is also enabled, and the terminal mode is set to screen-256color.

Docker Windows/WSL relay

Install Docker for Windows. More details are available here.

Use the configuration script to install the Docker CLI, set up docker-relay, and add your user to the docker group.

Run sudo docker-relay to start the relay.