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 8b28b160cb config: make ~/dev no longer be a symlink 5 days ago
atom atom config 1 year ago
bash don't use ln -f for links to directories 3 months ago
firefox firefox: disable geolocation 3 weeks ago
git git: switch to credential-manager 1 month ago
keepass keepass: add config 4 months ago
nodejs nodejs: update to prettier 2 4 weeks ago
tmux reorganize 1 year ago
vscode vscode: specify cSpell.enableFiletypes 4 weeks ago
windows config: overhaul 1 year ago
wsl wsl: set version in install.cmd argument and add resolv.conf workaround 1 week ago
.gitignore wsl: use built-in wsl.exe to init distros 1 week ago
README.md wsl: use built-in wsl.exe to init distros 1 week ago
config.sh config: make ~/dev no longer be a symlink 5 days ago

README.md

config

My config files for various things. Use config.sh 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
  • nodejs/.npmrc - npm credentials, config, etc.
  • secrets/git/github_token - GitHub Personal Access Token with read access to repos
  • secrets/ssh/ - SSH keys, config, etc.

WSL setup

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

Firefox

For each profile:

Git scripts

  • 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-fork - assuming origin and fork remotes, resets default branch on fork to first commit on origin, deletes all other branches on fork that are present on origin, and deletes all tags on fork
  • git clean-modes - reset all file modes to those in the repository
  • 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

Node.js/npm scripts

  • npma.sh - find the given binaries searching upwards through node_modules and output aliases for them, suitable for >> ~/.bash_aliases
  • npmg.sh - create a commit for a new version (if there are staged changed), and create and tag an otherwise dangling commit from HEAD that contains all of the files npm publish would
  • npml.sh - find the node_modules where the given dependencies are used, search up further for directories defining them, and create symlinks
  • nvm2path.sh - symlink to bin directory in the given nvm installation of Node.js (defaults to latest one) from ~/bin/nvm

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.