No one asked for it, but I made it anyways because I am passionate about sharing knowledge however I can. This repository contains information regarding my terminal setup, including the tools I use, the configurations of those tools, my terminal profiles, and more. Included are instructions on how to set up and use my configurations, or at least how to get started with them.
I've attempted to make this repository as automated as possible so it always stays current. To do this, I created workflows that automate updating the files in the includes
directory when updating my dotfiles repository, which contains my shell and terminal configurations.
Table of Contents
The documentation includes:
- Package recommendations for native package managers and other tools
- Zsh configurations with aliases, functions, and environment setup
- Color schemes and themes for enhanced terminal experience
- Neovim configurations for various use cases
- Terminal profiles for macOS and GNOME Terminal
Note
The documentation is hosted online at cut.hthompson.dev. You only need to set up a local environment if you want to preview changes or contribute to the documentation.
To build and preview the documentation locally, you'll need:
- Python 3.9 or higher
- uv (a fast Python package manager and resolver)
-
Clone the repository:
git clone https://github.com/StrangeRanger/custom-unix-terminal cd custom-unix-terminal
-
Install dependencies:
uv sync
-
Start the development server:
uv run mkdocs serve
-
Open your browser: Visit http://localhost:8000 to view the documentation with live reload.
These scripts are integrated with the CI/CD workflow, but can also be run manually. Both scripts require the dotfiles submodule to be initialized and up to date:
git submodule update --init --remote submodules/dotfiles
Note
The automation scripts do not require the dependencies installed via uv
. Those dependencies are only needed for MkDocs site development and deployment.
Updates the configuration files in includes/
from the dotfiles submodule.
Manual usage:
python3 update_repo.py
Updates CHANGELOG.md
with recent changes from the dotfiles submodule.
Manual usage:
bash update-changelog.bash
This project is licensed under the MIT License.