From 44ff2a331c978d29741de8ee0fdc4e5b48088ace Mon Sep 17 00:00:00 2001 From: jfraeys <13443851+jfraeys@users.noreply.github.com> Date: Sat, 25 Nov 2023 02:08:27 -0500 Subject: [PATCH] Update README.md --- README.md | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 81 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 78e4ac7..3ca9626 100755 --- a/README.md +++ b/README.md @@ -8,20 +8,99 @@ This repository contains my personal dotfiles. These configurations are tailored - **bin**: Custom scripts and binaries. - **nvim**: Neovim editor configurations. - **tmux**: Tmux terminal multiplexer configurations. +- **git**: Git configurations. +- **skhd**: Skhd configurations. +- **yabai**: Yabai window manager configurations. +- **conda**: Conda configurations. +- **dask**: Dask configurations. +- **gh**: GitHub CLI configurations. +- **jupyter**: Jupyter configurations. +- **parallel**: GNU Parallel configurations. +- **tox**: Tox configurations. - ... (add more directories as needed) +Feel free to extend the list of directories as your dotfiles collection evolves. Each directory is organized to hold specific configurations for various tools and utilities in your development environment. + ## Setup To use these dotfiles on your system: -1. Clone the repository to your home directory: +1. **Clone the repository to your home directory:** ```bash git clone https://github.com/your-username/.dotfiles.git ~/.dotfiles cd ~/.dotfiles ``` -3. Optionally, run setup script available in the repository. +2. **Run the setup script available in the repository.** + ```bash ./setup.sh ``` + +## Installation Details + +### Prerequisites + +- **Git:** Ensure that Git is installed on your system. + + ```bash + if ! command -v git &> /dev/null; then + echo "Git is not installed. Aborting." >&2 + exit 1 + fi + ``` + +### Submodules + +Make sure to initialize and update any submodules: + +```bash +git submodule init +git submodule update +``` + +## Stowing Configurations + +The dotfiles are organized into categories: + +### Base Configurations (Installable by All Users) + +- zsh +- vim +- nvim +- tmux +- git + +### User-Only Configurations (For Local Users) + +- skhd +- yabai +- conda +- dask +- gh +- jupyter +- parallel +- tox + +## Running Stow + +To stow configurations, run the following commands for each directory: + +```bash +echo "Stowing apps for user: ${USER}" + +# Install apps available to local users and root +for app in "${base[@]}"; do + stowit "${HOME}" "${app}" +done + +# Install only user space folders +for app in "${useronly[@]}"; do + if [[ ! "$(whoami)" = "root" ]]; then + stowit "${HOME}" "${app}" + fi +done + +echo "" +echo "##### ALL DONE"