3This is a collection of various scripts and tools I find useful.
5I manage them in a Git repository to ensure I have a consistent setup across different computers.
9To set up this repo on a new computer, I run the following commands in a Fish shell:
111. Clone the repository:
14 $ git clone git@github.com:alexwlchan/scripts.git ~/repos/scripts
182. Create a Python virtualenv and install dependencies:
21 $ python3 -m venv .venv
22 $ source .venv/bin/activate.fish
23 $ uv pip install -r requirements.txt
263. Install my Fish config, so Fish knows where to find all these scripts:
29 $ ln -s ~/repos/scripts/config.fish ~/.config/fish/config.fish
34A lot of these names are short, to minimise the typing I need to do, but then that makes their meaning utterly inscrutable to an outsider (e.g. what do
`gp` or
`tfi` do?).
35To make it a bit easier to find, I've grouped them into a couple of top-level folders.
37I add all the subfolders to my PATH so I don't need to remember how they're organised, but it might make it easier to find stuff!
39## What goes in this repo
41The script in this repo are pretty short – typically 50 lines or less (including documentation).
42They're mostly stuff that I can write all in one go.
44If a script gets sufficiently large and complicated that it might benefit from its own documentation or change history, it "graduates" into a separate repo.