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
README.md gcloud: move installation to ~/gcloud 19 hours ago
config.sh gcloud: automatically look up latest version number 4 hours 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
  • 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/squashfs2tar.sh to convert squashfs files from e.g. https://cloud-images.ubuntu.com/ into tarballs that LxRunOffline can use. (Requires fakeroot.)

Firefox

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 user.email and user.name as appropriate

Node/npm scripts

  • npma.sh - find the given binaries searching upwards through node_modules and output aliases for them, suitable for >> ~/.profile
  • npmg.sh - 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
  • 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 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.