This is a collection of various scripts and tools I find useful.
I manage them in a Git repository to ensure I have a consistent setup across different computers.
To set up this repo on a new computer, I run the following commands in a Fish shell:
-
Clone the repository:
$ git clone git@github.com:alexwlchan/scripts.git ~/repos/scripts $ cd ~/repos/scripts
-
Create a Python virtualenv and install dependencies:
$ python3 -m venv .venv $ source .venv/bin/activate.fish $ pip install -r requirements.txt
-
Install my Fish config, so Fish knows where to find all these scripts:
$ ln -s ~/repos/scripts/config.fish ~/.config/fish/config.fish
A 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?).
To make it a bit easier to find, I've grouped them into a couple of top-level folders.
I 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!
The script in this repo are pretty short – typically 50 lines or less (including documentation). They're mostly stuff that I can write all in one go.
If a script gets sufficiently large and complicated that it might benefit from its own documentation or change history, it "graduates" into a separate repo.