This repo aims to setup my dev environment on Linux (ubuntu) and Mac OSX. It is most likely not going to work well for others without removing/modifying things.
Some of the things this will set up:
- homebrew for mac
- some utilities like:
yq
,jq
,ripgrep
,fzf
. - Window Management
- neovim (actually LunarVim) with heavy customization
- An initial
Lazy sync
is required. - Some (not all)
:mason
stuff needs to be manually installed for now. - Support works well for Rust, Go and Python. Other languages are untested.
- An initial
- zsh (this will be the default shell) with oh-my-zsh
- including a
~/.oh-my-zsh/custom/
with several scripts that set envs, paths, and util functions - The files under
/.oh-my-zsh/custom
are separated into stages by prefixing them with a number (ex.0.setup.zsh
). Each one does things like adding dirs toPATH
, exposing utilfunctions
and some (ba|z)shVARIABLE
s I find useful.
- including a
./install
This is not well tested yet for either OS.
Prerequisites:
- git
- sudo
- apt-get (on Linux)
- python3 (the scripts will install pip)
dotfiles/
├─ dotbot/ # dotbot repo as git submodule
├─ editors/ # LunarVim config and fallback .vimrc
├─ wm/ # Config for window management (i3 or yabai)
├─ zsh/ # base .zshrc, Powerlevel10k theme
├─ oh-my-zsh-custom/ # several util scripts sourced like .zshrc
├─ requirements.txt # some global python packages
├─ setup-*.sh # setup scripts for non-oneliners
├─ aptbrew.sh # one liner for both mac and linux
├─ install.conf.yaml # dotbot config; triggers scripts and symlinks
├─ install # script that actually triggers setup
├─ README.md
Homebrew is set up inside of install
instead of install.conf.yaml
so that
it's properly loaded/sourced when those commands run.
At one point, I had to run the script once, then again after restarting the shell to get things to work. This should be fixed, but I haven't tested it.
At some point, I want to get a decent test setup using docker for both OSes.
This software is hereby released into the public domain. That means you can do
whatever you want with it without restriction. See LICENSE.md
for details.
That being said, I would appreciate it if you could maintain a link back to Dotbot (or this repository) to help other people discover Dotbot.