No description
Find a file
Jeremie Fraeys 6ae3048c28 more changes
2025-05-16 03:23:25 -04:00
aerospace/.config/aerospace more changes 2025-05-16 03:23:25 -04:00
bash more changes 2025-05-16 03:23:25 -04:00
conda more changes 2025-05-16 03:23:25 -04:00
fish/.config/fish/conf.d removed oh-my-zsh submodule 2023-11-23 17:16:52 -05:00
gh/.config/gh switched from iterm to wezterm 2024-05-27 17:58:49 -04:00
git more changes 2025-05-16 03:23:25 -04:00
i3/.config some changes 2024-07-21 21:04:51 -04:00
iterm2/.config/iterm2 first commit 2023-11-22 14:43:31 -05:00
nix-darwin/.config/nix-darwin more changes 2025-05-16 03:23:25 -04:00
nvim/.config more changes 2025-05-16 03:23:25 -04:00
oh-my-zsh/.oh-my-zsh/custom switched from iterm to wezterm 2024-05-27 17:58:49 -04:00
p10k switched from iterm to wezterm 2024-05-27 17:58:49 -04:00
parallel/.parallel removed oh-my-zsh submodule 2023-11-23 17:16:52 -05:00
skhd/.config/skhd changed some config and added nix-darwin, instead of stow 2024-11-15 11:44:43 -05:00
starship/.config more changes 2025-05-16 03:23:25 -04:00
terraform/.terraform.d removed oh-my-zsh submodule 2023-11-23 17:16:52 -05:00
tmux/.config/tmux changed leader key 2024-07-21 20:58:17 -04:00
tox/.tox/distshare removed oh-my-zsh submodule 2023-11-23 17:16:52 -05:00
wezterm more changes 2025-05-16 03:23:25 -04:00
yabai/.config/yabai changed some config and added nix-darwin, instead of stow 2024-11-15 11:44:43 -05:00
zathura/.config/zathura more changes 2025-05-16 03:23:25 -04:00
zsh more changes 2025-05-16 03:23:25 -04:00
.gitignore add flake.lock to gitignore 2024-12-03 16:23:45 -05:00
.gitmodules Added sessionizer as a submodule 2024-10-18 14:59:48 -04:00
.luarc.json some changes 2024-07-21 21:04:51 -04:00
.stowrc added stow ignores and added nix-darwin to base setup 2024-12-20 11:13:29 -05:00
README.md Update README.md 2023-11-25 02:18:37 -05:00
setup.sh more changes 2025-05-16 03:23:25 -04:00

Dotfiles

This repository contains my personal dotfiles. These configurations are tailored to suit my development environment and preferences.

Repository Structure

  • bash: Bash shell configurations.
  • 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:

    git clone https://github.com/your-username/.dotfiles.git ~/.dotfiles
    cd ~/.dotfiles
    
  2. Run the setup script available in the repository.

    ./setup.sh
    

Installation Details

Prerequisites

  • Git: Ensure that Git is installed on your system.

    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:

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 (macOS Only)
  • yabai (macOS Only)
  • conda
  • dask
  • gh
  • jupyter
  • parallel
  • tox

Running Stow

To stow configurations, run the following commands for each directory:

echo "Stowing apps for user: ${USER}"

# Install apps available to local users and root
for app in "${base[@]}"; do
    stowit "${HOME}" "${app}"
done

# Install useronly_macos folders only for macOS
if is_macos; then
    for app in "${useronly_macos[@]}"; do
        if [[ ! "$(whoami)" = "root" ]]; then
            stowit "${HOME}" "${app}"
        fi
    done
fi

# Install useronly folders
for app in "${useronly[@]}"; do
    if [[ ! "$(whoami)" = "root" ]]; then
        stowit "${HOME}" "${app}"
    fi
done

echo ""
echo "##### ALL DONE"