atom | ||
bash | ||
docker | ||
firefox | ||
git | ||
node | ||
tmux | ||
vscode | ||
windows | ||
wsltty | ||
.gitignore | ||
2path.sh | ||
config.sh | ||
README.md | ||
squashfs2tar.sh | ||
wsl.cmd |
config
My config files for various things. Use config.sh
to automate the setup of several of them. Use 2path.sh
to symlink an executable into ~/bin/
.
Things that are not checked in but which should live in this directory:
firefox/configs/
- files whose names are+
-separated filenames fromfirefox/
- these will be constructed by concatenation from the base files, and will be symlinked to from various profiles'user.js
filesfirefox/*.proxy
- proxy auto-config files - these too can be referred to in the abovefirefox/configs/
files, without the.proxy
extensiongcloud/
- Google Cloud SDK configuration filesgit/.git-credentials
- plaintext Git credential storegit/github_token
- GitHub Personal Access Token with read access to reposnode/.npmrc
- npm credentials, config, etc.ssh/
- SSH keys, config, etc.
WSL setup
Use wsl.cmd
to set up a new WSL installation. Requires LxRunOffline. Run without arguments for details.
Use squashfs2tar.sh
to convert squashfs files from e.g. https://cloud-images.ubuntu.com/ into tarballs that LxRunOffline can use. (Requires fakeroot
.)
Git aliases
git clean-branches
- delete local branches which track deleted remote branchesgit clean-config
- unset various local config values, so global config will be usedgit clean-dates
- set commit dates of all commits in the given range to their authoring datesgit clean-modes
- reset all file modes to to those in the repositorygit clean-original
- delete allrefs/original/
refs left bygit filter-branch
git clean-pr
- delete allpr/
branches created bygit cpr
get clean-user
- set author and committer of all commits in the given range to the currently configured identitygit cpr
- checkout a PR from GitHub by id, and set up the local branch to track the appropriate branch on the appropriate forkgit index-list-skip
- list all files that have had--skip-worktree
set on themgit index-skip
- set--skip-worktree
on a given filegit index-unskip
- set--no-skip-worktree
on a given filegit npm-add
- stage precisely the files that would be included in an npm packagegit track
- set current branch to track given remote and branch, defaulting to same branch namegit turbo-gc
- turbo garbage collectgit user-*
- setuser.email
anduser.name
as appropriate
Node/npm scripts
npma.sh
- find the given binaries searching upwards throughnode_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 filesnpm publish
wouldnpml.sh
- find thenode_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
(andctrl-a ctrl-a
is used to sendctrl-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) andctrl-a -
(vertical) - Reloading
~/.tmux.conf
is done withctrl-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.