David Ibia f7bd72184b fix(colorscheme): update theme name from "catppuccin-mocha" to "Catppuccin Frappe"
feat(shaders): add CRT-styled shader with public domain license and adjustments for Ghostty, including parameter definitions and tonal control functions.

refactor(shader): optimize color conversion and output to SRGB for better visual quality

feat(shaders): add flicker, glow, and starfield shader effects for terminal ambiance.
2025-11-09 14:17:03 +01:00
2025-01-06 14:58:51 +01:00

Dotfiles

A comprehensive collection of configuration files for macOS development environment, featuring Neovim, terminal emulators, shell configurations, and development tools.

Table of Contents

Overview

This repository contains personal dotfiles for configuring a complete development environment on macOS. These configurations emphasize productivity, aesthetics, and developer experience with carefully curated settings for various tools and applications.

Features

  • Neovim Configuration: Extensive Lua-based configuration with LSP support, debugging, and productivity plugins
  • Terminal Emulators: Configurations for Ghostty and WezTerm with custom themes and shaders
  • Shell Environment: Optimized Zsh configuration with useful aliases and functions
  • Window Management: AeroSpace tiling window manager configuration
  • Development Tools: Pre-configured settings for Git, tmux, and various language servers
  • AI Integration: Built-in configurations for Claude and other AI coding assistants

Prerequisites

Before installing these dotfiles, ensure you have the following:

  • Operating System: macOS (Darwin platform)
  • Package Manager: Homebrew installed
  • Shell: Zsh (default on modern macOS)
  • Git: Version control system
  • Node.js: Required for many Neovim plugins
  • Python: Required for certain development tools

Installation

Quick Start

Warning: These dotfiles are personalized configurations. Review the code and understand what each configuration does before applying them to your system. Fork this repository first and modify according to your needs.

  1. Clone the repository:

    git clone https://github.com/yourusername/dotfiles.git ~/dotfiles
    cd ~/dotfiles
    
  2. Run the setup script:

    ./setup-mac.sh
    
  3. Create symbolic links (if not handled by setup script):

    ln -s ~/dotfiles/.config ~/.config
    ln -s ~/dotfiles/.zshrc ~/.zshrc
    ln -s ~/dotfiles/.tmux.conf ~/.tmux.conf
    ln -s ~/dotfiles/.aerospace.toml ~/.aerospace.toml
    

Manual Installation

For more control over the installation process, you can manually symlink specific configurations:

# Neovim
ln -s ~/dotfiles/.config/nvim ~/.config/nvim

# Terminal configurations
ln -s ~/dotfiles/.config/ghostty ~/.config/ghostty
ln -s ~/dotfiles/.config/wezterm ~/.config/wezterm

# Shell configurations
ln -s ~/dotfiles/.zshrc ~/.zshrc

Components

Neovim Configuration (.config/nvim/)

  • Core Configuration: Modular Lua-based setup with lazy loading
  • LSP Support: Pre-configured language servers via Mason
  • Plugin Management: Lazy.nvim for efficient plugin loading
  • Key Mappings: Intuitive and efficient keyboard shortcuts
  • Themes: Multiple colorschemes including Catppuccin, Tokyo Night, and Rose Pine

Key features:

  • AI-powered coding assistance (Claude, Copilot)
  • Advanced Git integration
  • Flutter and mobile development support
  • Python environment management
  • Integrated debugging (DAP)
  • File tree navigation
  • Fuzzy finding with Telescope
  • Terminal integration

Terminal Emulators

Ghostty (.config/ghostty/)

  • Custom shaders for visual effects (CRT, bloom, glow)
  • Optimized colorscheme
  • Performance-focused configuration

WezTerm (.config/wezterm/)

  • Lua-based configuration
  • Custom key bindings
  • Multiplexer features

Shell Configuration (.zshrc)

  • Optimized PATH management
  • Custom aliases and functions
  • Integration with development tools
  • Environment variable management
  • Prompt customization with Starship

Window Management (.aerospace.toml)

  • Tiling window manager configuration
  • Custom workspace layouts
  • Application-specific rules
  • Keyboard-driven workflow

Development Tools

  • tmux (.tmux.conf): Terminal multiplexer configuration
  • Git: Global gitignore patterns
  • Starship (starship.toml): Cross-shell prompt
  • Oh My Posh (.config/ohmyposh/): Terminal prompt themes
  • Zellij (.config/zellij/): Modern terminal workspace

AI and Coding Assistants

  • OpenCode (.config/opencode/): Agent configurations for various development tasks
  • Claude integration: Built into Neovim configuration
  • Copilot support: GitHub Copilot integration

Configuration

Environment Variables

The setup uses .env and .envrc files for environment-specific configurations. Copy the example files and modify as needed:

cp .env.example .env
cp .envrc.example .envrc

Local Binaries

Custom scripts and binaries are stored in .local/bin/. Ensure this directory is in your PATH:

export PATH="$HOME/dotfiles/.local/bin:$PATH"

Customization

Adding Custom Configurations

  1. Neovim Plugins: Add new plugins in .config/nvim/lua/absolute/plugins/
  2. Shell Aliases: Modify .zshrc to add custom aliases
  3. Git Configuration: Update .gitignore for global ignore patterns

Theme Customization

Current theme configuration is managed in .config/nvim/lua/current-theme.lua. Modify this file to change the active colorscheme across Neovim.

Troubleshooting

Common Issues

  1. Neovim plugins not loading:

    nvim --headless "+Lazy! sync" +qa
    
  2. LSP servers not working:

    nvim
    :Mason
    
  3. Shell configuration not loading:

    source ~/.zshrc
    

Debug Mode

For debugging Neovim configuration issues:

nvim -V10nvim.log

Contributing

Contributions are welcome! If you have improvements or bug fixes:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/improvement)
  3. Commit your changes (git commit -am 'Add new feature')
  4. Push to the branch (git push origin feature/improvement)
  5. Open a Pull Request

License

This project is open source and available under the MIT License. See individual tool configurations for their respective licenses.

Acknowledgments

  • Absolute VIM - Previous Vim configuration
  • The open-source community for the amazing tools and plugins
  • Contributors and users who provide feedback and improvements

Support

For questions, issues, or suggestions, please open an issue on the GitHub repository.

Description
No description provided
Readme 216 KiB
Languages
TypeScript 66%
GLSL 19.7%
Shell 13.1%
Lua 1.2%