These are my personal dotfiles.
curl https://raw.githubusercontent.com/MrPickles/dotfiles/master/scripts/dotfiles.sh | bash
They use zsh, oh-my-zsh, and Tokyo Night, with Powerlevel10k as the prompt.
The easiest way to try the environment is the Docker image:
docker run -it docker.io/liuandrewk/dotfilesUse a terminal with Powerline/Nerd Fonts (see fonts below) or the prompt will look wrong. Everything else should work as-is.
- Linux, macOS, or WSL
- Neovim (latest stable)
- tree-sitter-cli — required; Neovim depends on it
Run this command:
curl https://raw.githubusercontent.com/MrPickles/dotfiles/master/scripts/dotfiles.sh | bashThat clones the repo if needed, fetches oh-my-zsh, and symlinks into your home directory. You can also clone the repository:
git clone --filter=blob:none git@github.com:MrPickles/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
./setup.shIf the login shell is not already zsh:
chsh -s $(which zsh)Run ./setup.sh again later to refresh oh-my-zsh plugins and recreate
symlinks.
The setup script can also install various system dependencies.
--install-deps is opinionated and meant for a blank computer. It installs
packages (and, on macOS, system defaults) and then does the usual ./setup.sh
link step.
./setup.sh --install-depsOn macOS, --install-deps runs scripts/macos.sh, which installs Homebrew and
the Brewfile, along with Finder/Dock/trackpad defaults.
On Linux it runs scripts/linux.sh, which installs a small apt bootstrap
(compiler toolchain, curl, git, zsh, vim) and then the same Homebrew Brewfile.
CLI tools are managed by brew on both operating systems. Casks and Mac App Store
apps stay macOS-only. Homebrew's Linux bottles target Ubuntu 24.04+ (glibc
2.39); older Debian/Ubuntu still work, but the first install is slower.
The terminal prompts require Nerd Fonts of some sort. The font recommended by Powerlevel10k is MesloLGS NF.
If bat (or delta, which uses bat's themes) looks unthemed, rebuild the cache:
bat cache --build./setup.sh --install-deps can install these. They are optional but improve the
shell:
Per-machine overrides (not in git):
~/.zshenv.local~/.zshrc.local~/.vimrc.local~/.tmux.conf.local
Git: shared config is config/git/config and is included for you. Put tokens
and host-specific settings in ~/.gitconfig.
Jujutsu: shared config is config/jj/config.toml. Put private settings in
~/.jjconfig.toml. jj merges the two automatically.
Build a local image:
docker build -t liuandrewk/dotfiles .
docker run -it liuandrewk/dotfilesThe container is ephemeral unless you mount a volume.
cd ~/.dotfiles
./setup.sh --clean
rm -rf ~/.oh-my-zsh # optional
chsh -s $(which bash) # optional--clean removes the symlinks. zsh and oh-my-zsh are left in place.
