A terminal-focused development environment featuring the beautiful Catppuccin Mocha theme across all applications. This configuration provides a cohesive, productive workspace optimized for both Arch Linux and macOS.
- Neovim: Full IDE experience with NvChad v2.5, LSP support (Lua, TypeScript, Python, HTML, CSS), code formatting via Conform
- Tmux: Session management with Catppuccin theming, vi-mode keybindings, and intuitive navigation
- Zsh: Enhanced shell experience with Powerlevel10k prompt and Yazi file manager integration
- Unified Theme: Catppuccin Mocha color scheme across nvim, tmux, btop, and window managers
- Platform Support: Optimized configurations for both Arch Linux (Sway ecosystem) and macOS
- Terminal Applications: btop system monitor, foot/alacritty terminal emulators, Yazi file manager
dotfiles/
├── common/ # Shared configurations for all platforms
│ ├── nvim/ # Neovim config with NvChad, LSP, and custom plugins
│ ├── tmux/ # Tmux config with Catppuccin theme and vi-mode
│ ├── zsh/ # Zsh config with Oh My Zsh and Powerlevel10k
│ ├── alacritty/ # Cross-platform terminal emulator config
│ ├── btop/ # System monitor with Catppuccin theme
│ └── foot/ # Wayland terminal config
├── arch/ # Arch Linux specific configurations
│ ├── sway/ # Sway window manager with Catppuccin
│ ├── waybar/ # Status bar configuration
│ ├── wofi/ # Application launcher
│ ├── swaylock/ # Screen locker
│ ├── swaync/ # Notification daemon
│ └── zsh/ # Arch-specific zsh paths and settings
└── mac/ # macOS specific configurations
└── zsh/ # macOS-specific zsh paths and settings
Common Dependencies:
- Git
- GNU Stow (for symlink management)
- Neovim (>= 0.9.0)
- Tmux
- Zsh
- Node.js and npm (for LSP servers)
Arch Linux:
sudo pacman -S git stow neovim tmux zsh nodejs npm sway waybar wofi foot btopmacOS:
brew install git stow neovim tmux zsh node- Clone the repository:
git clone https://github.com/0xProf3ssor/dotfiles.git ~/dotfiles
cd ~/dotfiles- Install Oh My Zsh and Powerlevel10k:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k- Install configuration packages using GNU Stow:
For Arch Linux:
# Change to dotfiles directory
cd ~/dotfiles
# Install common packages (shared across platforms)
stow -t ~ common/nvim
stow -t ~ common/tmux
stow -t ~ common/alacritty
stow -t ~ common/btop
stow -t ~ common/foot
# Install Arch-specific packages
stow -t ~ arch/sway
stow -t ~ arch/waybar
stow -t ~ arch/wofi
stow -t ~ arch/swaylock
stow -t ~ arch/swaync
stow -t ~ arch/zshFor macOS:
# Change to dotfiles directory
cd ~/dotfiles
# Install common packages (shared across platforms)
stow -t ~ common/nvim
stow -t ~ common/tmux
stow -t ~ common/alacritty
stow -t ~ common/btop
# Install macOS-specific packages
stow -t ~ mac/zshAlternative: Install all common packages at once:
cd ~/dotfiles
# For Arch Linux
stow -t ~ common/* arch/*
# For macOS
stow -t ~ common/nvim common/tmux common/alacritty common/btop mac/*- Install Yazi file manager:
# Arch Linux
sudo pacman -S yazi
# macOS
brew install yazi- Source the new zsh config:
source ~/.zshrc
# Run p10k configure to set up Powerlevel10k prompt- Launch Neovim to install plugins:
nvim
# NvChad and plugins will auto-install on first runCtrl-b + r- Reload tmux configCtrl-b + h/j/k/l- Navigate between panes (vi-style)Ctrl-b + H/J/K/L- Resize panesCtrl-b + Ctrl-k/j- Swap panes up/down
Space- Leader key;- Enter command mode- Standard NvChad keybindings apply
y- Launch Yazi file manager with directory changing
- GNU Stow - Symlink farm manager for dotfiles
- NvChad - Neovim configuration framework
- Lazy.nvim - Plugin manager
- Oh My Zsh - Zsh configuration framework
- Powerlevel10k - Zsh theme
- Catppuccin - Color scheme
- lua_ls (Lua)
- ts_ls (TypeScript/JavaScript)
- pyright (Python)
- html (HTML)
- cssls (CSS)
The setup uses Catppuccin Mocha by default. To change themes:
- Neovim: Edit
common/nvim/.config/nvim/lua/chadrc.luaand change thethemevalue - Tmux: Update
@catppuccin_flavorincommon/tmux/.tmux.conf - btop: Change
color_themeincommon/btop/.config/btop/btop.conf
Add plugins to common/nvim/.config/nvim/lua/plugins/init.lua or create new files in the plugins/ directory.
Edit common/nvim/.config/nvim/lua/configs/lspconfig.lua to add or configure language servers.
Tmux colors not displaying correctly:
# Ensure your terminal supports 256 colors
echo $TERM
# Should output something with "256color"NeoVim plugins not loading:
# Clean and reinstall plugins
rm -rf ~/.local/share/nvim
nvim # Plugins will reinstall automaticallyPath conflicts between platforms: The repository separates platform-specific zsh configs to avoid NVM and PATH conflicts between Arch Linux and macOS.
GNU Stow conflicts:
# If stow reports conflicts with existing files, remove them first
rm ~/.zshrc ~/.tmux.conf
rm -rf ~/.config/nvim ~/.config/tmux
# Then re-run stow commands
cd ~/dotfiles
stow -t ~ common/nvim common/tmux arch/zsh # or mac/zsh for macOSUnstowing packages:
# To remove symlinks created by stow
cd ~/dotfiles
stow -D -t ~ common/nvim # Remove nvim package
stow -D -t ~ arch/zsh # Remove zsh package
# To restow (useful after config changes)
stow -R -t ~ common/nvim # Remove and reinstall nvim packagePermission issues:
# Ensure proper permissions on config files
chmod 644 ~/.zshrc ~/.tmux.conf
chmod -R 755 ~/.config/This is a personal dotfiles repository, but feel free to fork it and adapt it to your needs. If you find bugs or have suggestions, please open an issue.
This configuration is provided as-is for personal use. Individual tools and themes retain their respective licenses.