This repo houses my configurations, personal scripts, etc.
The installation/bootstrap script requires Python, but otherwise there are no prerequisites to using this. However, you'll get the best results if you have at least set up 1Password (for SSH key) and Homebrew (to install all the packages).
-
clone this repo
-
make a copy of the context file:
cp context.template.yaml context.yaml
-
fill in the context file
-
install
nox
and run the bootstrap script:VENV=/tmp/config-files-bootstrap python -m venv $VENV $VENV/bin/python -m pip install nox $VENV/bin/python -m nox -s bootstrap
Existing files will not be overwritten by default. To overwrite files that
already exist, pass the --force
argument:
nox -s config_files -- --force
You can see the changes that will be made with the diff
session:
nox -s diff
Any file in the bin/
directory will be copied to $HOME/.local/bin/
with the
bin
session. Any .py
files in that directory will be automatically converted
to kebab-case and the file extension removed.
The Python scripts in the bin/
directory can be tested with:
nox -s test_bin
I used to keep these files in another repo, but I grew to dislike that tool for a few reasons:
- it used symlinks, so I could not separate code changes from applying new config
- it was untested
- it tried to be a sort of package manager, which is more than I need
- the configuration was confusing and in code
I have not copied over the git history for those files, but the repo is still there for reference.