Skip to content

Custom dotfiles to setup your ZSH environment like I do

License

Notifications You must be signed in to change notification settings

BartleyR/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Custom dotfiles

This is my collection of dotfiles and boostrap scripts that make it easy to sync configurations between computers and set up a new computer. While most of the customizations will work on any Linux/OS system, they are specifically written for and tested on macOS. It can also be used on Linux-based machines with some adjustments to functions that might not produce correct results.

Installation

Note: The boostrap.sh script has the potential to overwrite your existing configurations. Please make a backup of your existing dotfiles before you proceed.

Before you install, you must have curl installed on your machine.

To install, open a terminal window and do the following:

  1. Clone this repo: git clone https://github.com/BartleyR/dotfiles.git

  2. Change directories into the repo: cd dotfiles

  3. Make any configuration changes necessary in the config/.exports file

  4. Run the bootstrap script

    # for macOS machines
    sh bootstrap.sh
    
    # for Ubuntu machines
    bash bootstrap.sh
    
  5. Restart your terminal instance

The script now includes the options to install Oh My ZSH as well as the Powerlevel10k theme, but they can also be installed separately. The Powerlevel10k theme highly recommends a patched font, but you can also use Powerline fonts or a similar font package. More information about requirements is in the section below.

Requirements

This custom dotfile environment relies on the Z shell (zsh). If you wish to use the Bash shell, you can still use the individual dotfiles and source them in your .bashrc file.

Requirements that can be installed by bootstrap.sh (i.e., no need to separately install):

Requirements that must be installed separately:

Configuration Files

  • config/.exports: Contains configuration paths and variables
  • config/.exports.local: [optional] Contains local configuration paths and variables that should not be synced across machines

Dotfiles

Dotfiles are organized into folders based on where the files live in the OS. For example, files in the home folder live inside the $HOME directory on the OS.

  • home/.aliases: Contains aliases that are sourced in .zshrc
  • home/.functions: Contains functions that are sourced in .zshrc
  • home/.vimrc: Configuration file for VIM
  • home/.zshrc: ZSH configuration file

Local Custom Aliases and Functions [optional]

There may be instances where it's desierable to have some aliases and functions that exist on a single machine or OS type (e.g., only on macOS and not on Ubuntu). To accomplish this, place the local customizations in a file named .aliases_functions.local in the $HOME directory. This file will be sourced via .zshrc if it exists.

Testing

Scripts and configurations have been tested with the following operating systems and terminals.

References

Inspiration taken from this GitHub repo

About

Custom dotfiles to setup your ZSH environment like I do

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published