Dotfiles for providing a consistent development environment across macOS and Windows (WSL)
- alacritty/ - terminal emulator
- git/ - delta diff viewer
- hammerspoon/ - macOS key bindings
- nvim/ - neovim config based on AstroNvim v5
- psql/ - PostgreSQL client with FZF integration
- tmux/ - terminal multiplexer
- zsh/ - Zsh shell with Oh My Zsh
alacritty
tmux
nvim
zsh
ohmyzsh
zsh-autosuggestions
fzf
ripgrep
sesh
fd
zoxide
delta
unzip
eza
bat
carapace-bin
For automated dependency installation:
Debian/Ubuntu:
# Update system
sudo apt update && sudo apt upgrade -y
# Install core dependencies
sudo apt install -y stow zsh tmux alacritty eza bat ripgrep unzip git fd-find zoxide
# Install Oh My Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Install zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# Install FZF
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf && ~/.fzf/install
# Install carapace-bin
CARAPACE_VERSION=$(curl -s https://api.github.com/repos/carapace-sh/carapace-bin/releases/latest | grep -Po '"tag_name": "\K[^"]*')
wget "https://github.com/carapace-sh/carapace-bin/releases/download/${CARAPACE_VERSION}/carapace-bin_${CARAPACE_VERSION}_linux_amd64.tar.gz"
tar -xzf "carapace-bin_${CARAPACE_VERSION}_linux_amd64.tar.gz"
sudo mv carapace /usr/local/bin/
rm "carapace-bin_${CARAPACE_VERSION}_linux_amd64.tar.gz"
# Install git-delta
wget https://github.com/dandavison/delta/releases/download/0.18.2/git-delta_0.18.2_amd64.deb
sudo dpkg -i git-delta_0.18.2_amd64.deb
# Install Neovim
sudo snap install nvim --classic
# Set zsh as default shell
chsh -s $(which zsh)macOS:
# Install Homebrew if not already installed
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install dependencies
brew install stow zsh tmux neovim fzf eza bat ripgrep git-delta carapace fd zoxide sesh
brew install --cask alacritty hammerspoon
# Install Oh My Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Install zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# Install FZF shell integrations
$(brew --prefix)/opt/fzf/install
# Set zsh as default shell
chsh -s /opt/homebrew/bin/zshFor Windows WSL Ubuntu users (amd64 architecture), you can use the automated setup script:
git clone https://github.com/YArane/dotfiles.git
cd dotfiles
chmod +x setup.sh
./setup.shThe setup.sh script will:
- Update system packages
- Install all required dependencies
- Download and install the latest versions of Neovim and git-delta
- Set up Oh My Zsh with autosuggestions and FZF integration
- Backup any existing conflicting configuration files
- Use GNU Stow to symlink all dotfile configurations
- Set zsh as your default shell
After running the script, restart your terminal or run exec zsh to start using your new setup.
These dotfiles are designed to be managed using GNU Stow.
git clone https://github.com/YArane/dotfiles.git
cd dotfilesTo install core components:
for component in git nvim tmux zsh; do
stow $component -t ~;
doneTo install a specific component:
stow zsh -t ~ # Install zsh config to home directory
stow nvim -t ~ # Install nvim config to home directory
stow tmux -t ~ # Install tmux config to home directoryTo remove/unstow a component:
stow -D zsh -t ~ # Remove zsh config
stow -D */ -t ~ # Remove all configs