The Wayback Machine - https://web.archive.org/web/20200911163729/https://github.com/jonleopard/dotfiles
Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
git
 
 
 
 
 
 
ssh
 
 
 
 
 
 
zsh
 
 
 
 
 
 
 
 
 
 
 
 

README.md

dotfiles

🏠 dotfiles for my macOS environment

dotfiles

dotfiles

Usage

Introduction

This is my development environment that I use everyday. Dotfiles allow you to backup, restore, and sync your dev environment. This is great, especially if you have more than one workstation or are migrating to a new machine. After much research and observation of how other people manage their dotfiles, what you see in this repo is a reflection of their efforts as well as my own.

I initially started this repo to help myself learn more about the tools available out there for customizing my dev environment. I also wanted to make sure that all my customizations were backed up and could be installed on any machine. As I continued learning, adding, and breaking things, I thought it would be a good idea to document as much as I could to not only learn, but help others in setting up their dotfiles as well. I hope this repo can help newcomers understand their own environment and aid them in their own creation of a dotfile repo. Be aware that I am still learning, so proceed with caution. If you are uncertain about anything, I highly advise you read the source before executing any of these scripts.

If you have any improvements or suggestions, please feel free to submit it here or contact me

Lastly, I have created a minimal dotfile repo for to help new users get started on their own dotfile journey. You can check out the project here: https://github.com/jonleopard/dotfile-starter.

Todo

View the todo board here

Installation

Disclaimer: If you decide to use these dotfiles, please fork this repo and review the source code before executing! Proceed at your own risk!

At the moment, this will only work in macOS. I'd love for this to work on linux distros too, feel free to submit a PR!

  1. Download repo
  • via git
  • via cURL
  1. Run scripts <--Currently working on these!
  • Automatic: ./install.sh
  • Manually: stow [folder]
  1. Done!

Download and Stage Files

If you are on a new machine, then you might need to install git. You can also use the cURL command. Whatever method you chose, make sure the files get put in your $HOME directory. If you aren't sure where that is, run echo $HOME.

git

cd git clone https://github.com/jonleopard/dotfiles.git && cd dotfiles && chmod +x install.sh

cURL

cd curl -#L https://github.com/jonleopard/dotfiles/tarball/master | tar -xzv

If you prefer, you can skip the install.sh script and run stow manually. Just tell stow which dotfiles you want to symlink:

stow example_folder

Mangement Tools

dotfiles - gnu stow

There are so many flavors when it comes to dotfile management. I wanted something lightweight and that could run in any *nix environment with little to no dependencies.

All my dotfiles are managed with the extremely light weight GNU Stow. Basically, stow creates & manages symlinks to files that are located in the home directory. This allows me to keep everything in an organized folder called 'dotfiles'. If you are interested in learning more about stow, I wrote a brief post about it here

macOS - Homebrew

Homebrew and Macports are pretty much the only mainstream options here. I went with Homebrew. I'm using Homebrew-Cask which will go out and install all of the applications that I tell it to. mas will install all of your Mac App Store apps. All of this is bundled in a list called a Brewfile.

node - n

n allows me to switch between different node versions on the fly. I've installed n via n-install. Also, on the topic of node, I've installed yarn globally via brew install yarn --ignore-dependencies (allows for yarn to plug into your node binary that n installed).

zsh - antibody

antibody has been my favorite zsh plugin mananger for a couple years now. The author has a great post on shell performance which I highly recommend if you are interested in speeding up your shell spawn times. It's written in go, so make sure you have go installed on your system.

tmux - tpm

tpm (which stands for tmux plugin manager) is a great little that has zero dependencies. Be sure to check out the plugin directory.

neovim - vim plug

vim-plug manages all of my vim plugins. It pairs nicely with Neovim.

The Terminal

alacritty + zsh

As you could have guessed by now, I am using zsh instead of bash as my unix shell. Alacritty is my terminal emulator and Pure Prompt is the shell prompt.

Dev Fonts

Below is a list of some of my favourite dev fonts that go great in your terminal, IDE, Text Editor, etc...

If you need a Powerline font, a list of those can be found here: Powerline Fonts. You could also check out the Nerd Fonts repo for a list of patched fonts and install them via homebrew.

Wallpapers

I've been working a collection of my favorite wallpapers over the years. If you are interested, you can grab the bundle here.

Resources

You can’t perform that action at this time.