Skip to content

brianedelman/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

This repository contains my personal dotfiles and setup scripts for configuring a Linux (Ubuntu) development environment. It automates the installation of essential tools, custom configurations, and shell enhancements, including zsh and Oh My Zsh.

Purpose

The goal of this repository is to provide a streamlined way to set up a new development environment with my preferred tools and configurations. The bootstrap.sh script handles the installation of dependencies, configuration files, and custom plugins.

Features

  • Installs essential system libraries for Debian-based systems.
  • Installs and configures Homebrew for managing packages.
  • Installs and sets up zsh as the default shell.
  • Installs Oh My Zsh and custom plugins.
  • Copies .zshrc and other configuration files to the appropriate locations.
  • Installs Python using pyenv and sets the latest version as the default.
  • Installs additional tools and utilities via Homebrew (e.g., starship, fzf, poetry).
  • Configures the starship prompt and other customizations.

Installation

Prerequistes

You might need to create an ssh key. Look here for how to do that.

Using Git and the Bootstrap Script

Clone this repository to your preferred location (e.g., ~/.dotfiles) and run the bootstrap script:

git clone https://github.com/brianedelman/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
source bootstrap.sh

The bootstrap.sh script will:

  1. Pull the latest changes from the repository.
  2. Install required tools and libraries.
  3. Configure zsh as the default shell.
  4. Install and configure Python using pyenv.
  5. Set up custom plugins and configurations.

Updating

To update your dotfiles and reapply the configurations, navigate to the repository and run the bootstrap script again:

cd ~/.dotfiles
source bootstrap.sh

Customizations

  • Shell Prompt: Configured using Starship. The configuration is stored in starship.toml.
  • Custom Plugins: Includes custom zsh plugins located in the plugins/ directory.
  • Python Management: Uses uv for managing Python versions and virtual environments.
  • Node Management: Uses nvm for managing node versions

Tools Installed via Homebrew

The following tools are installed via the Brewfile:

  • Development tools: gcc, openssl, readline, sqlite3, zlib, tcl-tk@8
  • Shell enhancements: starship, fzf, ripgrep
  • Python tools: pyenv, pyenv-virtualenv, poetry
  • Utilities: jq, httpie, pgcli, tlrc, autojump, thefuck

How To Update Fork

  1. Ensure the upstream remote exists:

    git remote -v

    Should see the origin and the upstream git URLs. If not, add with:

    git remote add upstream https://<repo clone url>

  2. git fetch upstream

  3. git checkout main

  4. git rebase -i upstream/main

  5. git push origin main --force-with-lease

Notes

  • This setup assumes you are running Linux (Ubuntu). Some steps may need to be adjusted for other operating systems.
  • Also, need to install a Nerd Font to see all the cool icons.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published