I (Reinout van Rees) use quite a number of shell scripts, small custom Python utilities, other Python programs and so on. In this project, I collect most of them.
The idea is that this directory's bin subdirectory is on my path.
- Shell scripts are located in
shell/
. Running./install_shell_scripts.sh
symlinks these into thebin/
directory. - The
pyproject.toml
lists the python scripts, in thetools/
directory. These are installed withuv
by theMakefile
.
And.... it is a way for me to be more explicit about my setup. A Makefile
for
installing what I need (with homebrew and pipx) instead of trying to remember everything
I need whenever I move laptops. And some notes on how I set up my laptop in the first
place.
The code in here can be useful to others: ideas for shell scripts and small Python utilities. So putting it on github seems like a good idea. I've sometimes pointed colleagues at a small utility here in this repo.
These are the installations for really bootstrapping without anything present.
On my mac, install homebrew and install a couple of utilities that are missing from OSX:
brew install git python@3.12
Then create an ssh key and arrange access to vanrees.org and github.com.
Checkout ourselves:
mkdir -p ~/zelf cd ~/zelf git clone git@github.com:reinout/tools.git
Now install uv, tools and dotfiles and checkouts and local dev installs:
cd ~/zelf/tools make install
Note: the makefile also functions as a documentation on what I brew-install and uv-tools-install.
Programs to install:
- 1password
- iterm2
- synology drive client
- tunnelblick
- docker desktop
Via app store:
- pixelmator pro
- BetterSnapTool
I'm trying to do this the neat way: I've even added explanatory comments to all shell
scripts. And I've got a generate_shell_docs.py
that generates a README from those
comments. Look in the shell directory (for instance ;ppl at shell on github) and you'll see the nicely
formatted README at the bottom.
Likewise I've got a README for the python scripts. Look at /tools on github and you'll see the nicely
formatted README at the bottom. This is generated from the scripts' docstrings with
generate_python_docs.py
(I just want a simple README, not full Sphinx
documentation).
Some hints:
$ uv sync $ uv run dtname (or another command)