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 717ff3ce11 git: npm-add: preserve timestamp of package.json 2 weeks ago
atom atom config 2 years ago
bash nodejs: switch from nvm to volta 1 month ago
firefox firefox: disable geolocation 2 months ago
git git: npm-add: preserve timestamp of package.json 2 weeks ago
keepass keepass: add config 6 months ago
nodejs nodejs: switch from nvm to volta 1 month ago
tmux reorganize 1 year ago
vscode vscode: git.githubAuthentication -> github.gitAuthentication 3 weeks ago
windows windows: add developer mode registry tweak 1 month ago
wsl wsl: add 1.0.0.1 as backup DNS server 1 month ago
.gitignore wsl: use built-in wsl.exe to init distros 2 months ago
README.md nodejs: switch from nvm to volta 1 month ago
config.sh windows: add developer mode registry tweak 1 month 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

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.