Code Monkey home page Code Monkey logo

dotfiles's Introduction

Kyle Peeler's dotfiles

Screenshot

These are my dotfiles. Use at your own risk, they are what work for me and may update at anytime.

Do not blindly install them without reading every line of code. If you are planning to use them for yourself, please fork it before cloning and installing.

These target macOS systems.

Package Overview

I have put a lot of time in configuring my system in a way that works for me, and I want to maintain it's history, and share it with the world.

Additionally, I now have multiple machines, and I want to keep a common configuration of my development enviornment synchronized and version controlled across them.

In order to accomplish this, ./install file linking the configurations is idempotent, meaning it can be sourced multiple times without harm (only pulling the latest configuration).

I have also included init/init_machine.sh script for me to easily provision a brand new machine on a fresh copy of macOS. This is not idempotent.

All files are bootstrapped with dotbot.

TO DO

  • Run through execution order, everything should work okay?
  • Flesh out documentation
  • fix init script
  • VS Code configuration settings

Install Instructions

Fresh macOS Install Instructions

  1. First things first, we need git to clone this... install command line tools
xcode-select --install
  1. Add SSH keys to github.

See directions here

  1. Clone this repo into the user's home directory
cd $HOME
git clone https://github.com/kylepeeler/dotfiles
  1. Copy over secrets folder
<obtain the files using magic>
cp -r secrets ~/dotfiles/secrets
  1. Install Brew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. Install oh-my-zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
  1. Install brew packages
brew install asdf
brew install starship
brew install diff-so-fancy
brew install fzf
brew install tmux
brew install fig
brew install mcfly
brew install exa
brew install nvim
brew install z
brew install thefuck
brew install gnupg
brew install iconsur
brew install reattach-to-user-namespace
  1. Install node and ruby using asdf
asdf plugin add nodejs
asdf plugin add ruby

# For latest nodejs
asdf install nodejs latest
asdf global nodejs latest

# For node 14
asdf install nodejs 14.18.0
asdf global nodejs 14.18.0

# For latest ruby
asdf install ruby latest
asdf global ruby latest
  1. Install colorls
# Note you may need or may not need to use sudo depending on how/where ruby is installed

sudo gem install colorls
  1. Install vim-plug

โš ๏ธ Make sure you install the Neovim version, not normal Vim!

sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
       https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'

Keeping changes in sync across machines

Simply run

cd ~/dotfiles

# You may or may not need to init the dotbot submodule prior to updating
git submodule update --init dotbot

# Update to get the latest version of dotbot
git submodule update --remote dotbot

# Save/Commit against dotfiles w/ updated SHA
git commit -am "update dotbot"

# Make sure install script has permission
chmod +x ./install

# Run the install script, it will report what it does/any errors.
./install

First Time Setup

Configuring Neovim

  1. Make sure you close and reopen your terminal
  2. Make sure Vim-Plug was installed (TODO: automate this)
  3. Open up nvim, and run :PlugInstall

Fixing Fonts

  1. Make sure to install NERD fonts

Install the iTerm 2 profile

  1. Load the profile found in ~/.item-profiles into iTerm
brew tap homebrew/cask-fonts &&
brew install --cask font-<FONT NAME>-nerd-font

Fix Key Repeat in VS Code

Run the following commands

# For VSCode
defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false

# For VSCode Insiders
defaults write com.microsoft.VSCodeInsiders ApplePressAndHoldEnabled -bool false

# For VSCodium
defaults write com.visualstudio.code.oss ApplePressAndHoldEnabled -bool false

# To enable global key-repeat
# this is helpful if you're using Vim in a PWA like code-server
defaults write -g ApplePressAndHoldEnabled -bool false

Further Documentation

Feedback

Suggestions/improvements welcome! If you have any, please submit an issue here.

Special Thanks

  • @wuz and his dotfiles & setup script
  • @mathiasbynens dotfiles & mac setup script
  • anyone else listed here

dotfiles's People

Contributors

kylepeeler avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

jraebrown

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.