Skip to content

This repository contains all the configurations that I use to modify the style and behavior of the terminal on macOS and Linux.

License

Notifications You must be signed in to change notification settings

StrangeRanger/custom-unix-terminal

Repository files navigation

Custom Unix Terminal

Project Tracker

Static Badge

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

What's Included

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

Local Development

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.

Prerequisites

To build and preview the documentation locally, you'll need:

  • Python 3.9 or higher
  • uv (a fast Python package manager and resolver)

Download and Setup

  1. Clone the repository:

    git clone https://github.com/StrangeRanger/custom-unix-terminal
    cd custom-unix-terminal
  2. Install dependencies:

    uv sync
  3. Start the development server:

    uv run mkdocs serve
  4. Open your browser: Visit http://localhost:8000 to view the documentation with live reload.

Automation Scripts

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.

update_repo.py

Updates the configuration files in includes/ from the dotfiles submodule.

Manual usage:

python3 update_repo.py

update-changelog.bash

Updates CHANGELOG.md with recent changes from the dotfiles submodule.

Manual usage:

bash update-changelog.bash

License

This project is licensed under the MIT License.

About

This repository contains all the configurations that I use to modify the style and behavior of the terminal on macOS and Linux.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •