MacOS Ricing Setup
If you're looking to transform your macOS terminal experience into something both beautiful and functional, you've come to the right place. In this post, I'll walk you through my complete dotfiles setup that turns a vanilla macOS installation into a powerhouse development environment with a stunning Tokyo Night theme.
Overview
My dotfiles repository is a carefully curated collection of configurations that creates a cohesive, aesthetically pleasing, and highly functional development environment. The setup features:
- Window Management: AeroSpace for tiling window management
- Status Bar: SketchyBar for a customizable menu bar
- Terminal: Ghostty with transparency and blur effects
- Shell: Fish with custom functions and plugins
- Editor: Neovim built on LazyVim
- File Manager: Yazi terminal file manager
- Theme: Tokyo Night across all applications
Prerequisites
Before we begin, ensure you have:
- macOS (this setup is tested only on macOS)
- Command Line Tools for Xcode
- Basic familiarity with terminal commands
Installation
The beauty of this setup lies in its automated installation process. Here's how to get started:
# Clone the repository
git clone https://github.com/YOUR_USERNAME/.dotfiles ~/.dotfiles
cd ~/.dotfiles
# Make the setup script executable and run it
chmod +x ./scripts/setup.sh
./scripts/setup.sh
The setup.sh
script will automatically:
- Install Homebrew package manager
- Install all required packages via the
.Brewfile
- Set up Fish shell plugins
- Install Tmux Plugin Manager
- Install Rust toolchain
- Download custom fonts
- Create symlinks for all configurations using GNU Stow
Core Components
1. Window Management with AeroSpace
AeroSpace is a tiling window manager that brings i3-like functionality to macOS. My configuration (.config/aerospace/aerospace.toml
) includes:
- Automatic tiling with customizable layouts
- Workspace management with keyboard shortcuts
- Integration with SketchyBar for workspace indicators
- Smart orientation detection for monitors
Key features:
# Notify Sketchybar about workspace changes
exec-on-workspace-change = ['/bin/bash', '-c',
'sketchybar --trigger aerospace_workspace_change'
]
# Smart padding for better visual separation
accordion-padding = 30
2. Beautiful Status Bar with SketchyBar
SketchyBar replaces the default macOS menu bar with a highly customizable alternative. My setup (.config/sketchybar/sketchybarrc
) includes:
- Workspace indicators
- Currently focused application
- Music player integration
- System monitors (CPU, battery, volume)
- Weather widget
- Calendar integration
The configuration is modular, with each component in separate files for easy customization.
3. Modern Terminal with Ghostty
Ghostty is a GPU-accelerated terminal emulator. My configuration (.config/ghostty/config
) features:
theme = tokyonight_night
background-opacity = 0.80
background-blur-radius = 20
window-decoration = false
font-family = JetBrainsMono Nerd Font
font-size = 15
This creates a beautiful translucent terminal with blur effects that integrates seamlessly with the Tokyo Night theme.
4. Fish Shell Configuration
Fish is my shell of choice for its user-friendly features and powerful scripting capabilities. The configuration (.config/fish/config.fish
) includes:
- Tokyo Night color scheme
- Starship prompt integration
- Zoxide for smart directory jumping
- Custom functions and abbreviations
- FZF integration for fuzzy finding
5. Starship Prompt
Starship provides a minimal, blazing-fast, and customizable prompt. My configuration (.config/starship.toml
) includes:
- Custom success/error symbols
- Git status indicators with custom icons
- Directory truncation with icon substitutions
- Language-specific icons for different project types
6. Neovim Setup
My Neovim configuration is built on top of LazyVim, providing a full IDE experience. Located in .config/nvim/
, it includes:
- LSP support for multiple languages
- Treesitter for syntax highlighting
- Telescope for fuzzy finding
- Git integration
- Tokyo Night theme consistency
7. Window Borders with Borders
Borders adds customizable borders to windows. My configuration (.config/borders/bordersrc
) uses:
style=round
width=7.0
active_color=0xff80a8fc
inactive_color=0xff414550
This creates rounded borders that highlight the active window with a blue accent.
8. File Management with Yazi
Yazi is a blazing-fast terminal file manager. The configuration (.config/yazi/theme.toml
) maintains theme consistency:
[flavor]
dark = "tokyo-night"
Additional Tools
The setup includes many developer tools installed via Homebrew:
- Version Management: mise for managing multiple runtime versions
- Git Enhancements: lazygit, git-delta
- System Monitoring: btop, htop
- File Search: ripgrep, fd, fzf
- Modern CLI Tools: eza (ls replacement), bat (cat replacement)
Customization Tips
-
Theme Consistency: The Tokyo Night theme is applied across all tools. To change themes, update:
- Ghostty:
.config/ghostty/config
- Fish:
.config/fish/config.fish
- Neovim: Check LazyVim theme settings
- Yazi:
.config/yazi/theme.toml
- Ghostty:
-
Keyboard Shortcuts: Most shortcuts are defined in:
- AeroSpace:
.config/aerospace/aerospace.toml
- Tmux:
.tmux.conf
- AeroSpace:
-
Adding New Tools: Simply add them to
.Brewfile
and runbrew bundle
Maintenance
To keep your setup updated:
# Update Homebrew packages
brew update && brew upgrade
# Update Fish plugins
./scripts/fish.sh
# Pull latest dotfiles changes
git pull
# Re-run stow to update symlinks
stow .
Conclusion
This dotfiles setup transforms macOS into a powerful, beautiful development environment. The combination of tiling window management, custom status bar, modern terminal tools, and consistent theming creates a cohesive experience that's both productive and enjoyable to use.
Feel free to fork the repository and customize it to your needs. The modular structure makes it easy to pick and choose components or modify existing ones.
Happy ricing! 🚀
Note: Remember to replace YOUR_USERNAME
with your actual GitHub username when cloning the repository.