A carefully crafted collection of configuration files for Fish, Tmux, Ghostty, Helix, Zed and more, optimized for cross-platform use.
- Cross-platform compatibility: Works on macOS, Linux, and FreeBSD
- Theme support: Custom themes for terminals and editors including Lackluster (dark) and Zenbones (light)
- Modern tools: Configuration for cutting-edge tools like Ghostty terminal and Zed editor
- Shell enhancements: Fish shell with useful abbreviations, functions, and OS-specific configurations
- Development optimized: Tmux with sensible defaults and theme switching
Component | Description |
---|---|
Fish | Shell with good defaults and easy to configure |
Zsh | Alternative shell with platform-specific configurations |
Tmux | When editing remote I use Tmux to save sessions and manage windows |
Ghostty | Modern GPU-accelerated terminal emulator |
Helix | A post-modern text editor written in Rust |
Zed | High-performance, multiplayer code editor |
While not directly configured in this repository, my dotfiles include support for terminal-based editors and tools, complementing my development workflow. The Tmux configuration works particularly well with Neovim for remote editing sessions.
- Git
- Make
- For Fish configuration: Fisher package manager
- Terminal emulator compatible with your platform (Ghostty, iTerm2, etc.)
Clone this repository:
git clone https://github.com/petar/dotfiles.git
cd dotfiles
Use the Makefile to install specific components:
# Install all configurations
make
# Install specific components
make fish
make tmux
make helix
make ghostty
make zed
make zsh
After installing Fish configuration, you may want to install the recommended plugins:
# Install Fish plugins
fisher install jorgebucaran/hydro
fisher install jorgebucaran/autopair.fish
fisher install jethrokuan/z
These dotfiles are organized to be easily customizable:
- OS-specific configurations are isolated in separate files (darwin.fish, linux.fish, freebsd.fish)
- Theme switching is supported in Tmux and Ghostty
- Each tool has its own directory for clean separation of concerns
- Secrets are kept in separate files (secrets.fish) that are not tracked by git
Common issues and solutions:
- Symlinks not created: Ensure you have proper permissions in your home directory
- Fish plugins not working: Make sure Fisher is installed and run the plugin install commands
- Theme not applying: Check that the theme files are properly linked and your terminal supports the colors
- OS-specific configs not loading: Verify that the OS detection in the configs matches your system
MIT