MrPickles / dotfiles

My personal dotfiles.
http://andrew.cloud/dotfiles.sh
MIT License
39 stars 23 forks source link
dotfiles neovim tmux vim zsh

The Official™ MrPickles Dotfiles Repository

These are my personal dotfiles.

curl -L andrew.cloud/dotfiles.sh | bash

Screenshot of my dotfiles

These dotfiles are intended for use with zsh, oh-my-zsh, and the solarized colorscheme. The configuration uses powerline-based status bars for vim and tmux and Powerlevel10k as its zsh theme.

Try it out in Docker

These dotfiles are available as a Docker image. It's the easiest way to emulate the development environment that I normally use. To spin up a new container, install Docker and run the command below.

docker run -it docker.io/liuandrewk/dotfiles

You should also make sure to have Powerline fonts available in your terminal. It'll otherwise work out of the box.

Prerequisites

These dotfiles contain the following software dependencies:

Installation

Installation is as simple as downloading and running the install script. The install script will run the configuration script, which fetches oh-my-zsh and symlinks the dotfiles to your home directory.

curl -L andrew.cloud/dotfiles.sh | bash
# or
wget -qO- andrew.cloud/dotfiles.sh | bash
# or
curl https://raw.githubusercontent.com/MrPickles/dotfiles/master/scripts/dotfiles.sh | bash

Alternatively, you can manually clone the repository and run the setup.sh script.

git clone --filter=blob:none git@github.com:MrPickles/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
./setup.sh

You will also likely need to manually change your shell to zsh if you are currently using a different shell.

chsh -s $(which zsh)

For future runs, if you ever want to update custom plugins or redo the symlinks, you can run the setup script with the following flags:

./setup.sh -t build

Setting up your Local Machine

Your local machine will require configurations that need to be done at most once. If you use Kitty as your terminal, there should be no configuration needed, in theory. Specifically, these relate to fonts and the color scheme.

Other optional tools

There are a few recommended (but optional) tools you can install to improve your shell experience in general.

The configuration script attempts to install these, but if you do not have sudo access, it may not work.

Customizing

You can customize zsh, vim, tmux, and git for each specific machine. Just put any additional configurations in the following files:

Custom git configurations can be placed in ~/.gitconfig. The normal git config file is not put under version control, so it's safe to put machine-specific tokens in it.

Docker

If you'd like to build the dotfiles as a Docker image locally, run the following command:

docker build -t liuandrewk/dotfiles .

Then you can run it with the command below:

docker run -it liuandrewk/dotfiles

Note that this will be an ephemeral instance. Make sure to mount a volume if you'd like to persist your work.

Teardown

To clean up the dotfiles, run the configuration script with the clean argument. It will remove all symlinks, but zsh and oh-my-zsh will be untouched. If you wish to remove those, you will have to manually delete them.

cd ~/.dotfiles
./setup.sh -t clean
rm -rf ~/.oh-my-zsh # optionally remove oh-my-zsh
chsh -s $(which bash) # optionally change shell back to bash