dotfiles/assets/alacritty
2025-09-12 13:33:33 +02:00
..
catppuccin-dark.yml refactor: simplify Alacritty theme synchronization with Nix configuration and remove obsolete scripts 2025-09-12 13:13:31 +02:00
catppuccin-light.yml refactor: simplify Alacritty theme synchronization with Nix configuration and remove obsolete scripts 2025-09-12 13:13:31 +02:00
README.md feat: introduce script for manual theme switching in Alacritty and update README for clarity 2025-09-12 13:33:33 +02:00

Alacritty Theme Synchronization

Simple theme switching for Alacritty that allows you to switch between Catppuccin light and dark themes.

This solution uses Nix conditional configuration with a simple script to switch themes.

How It Works

  1. The Nix configuration has a boolean variable isLightTheme in home.nix
  2. When isLightTheme = true → Catppuccin Latte (light theme)
  3. When isLightTheme = false → Catppuccin Mocha (dark theme)
  4. A script updates this variable and rebuilds the configuration

Setup

  1. The configuration is already set up! Your Alacritty is currently using the light theme.

  2. To switch themes, use the script:

    ./scripts/switch-alacritty-theme.sh light   # Switch to light theme
    ./scripts/switch-alacritty-theme.sh dark    # Switch to dark theme
    ./scripts/switch-alacritty-theme.sh toggle  # Toggle between themes
    ./scripts/switch-alacritty-theme.sh status  # Show current theme
    

Usage

Manual Theme Switching

# Switch to light theme
./scripts/switch-alacritty-theme.sh light

# Switch to dark theme  
./scripts/switch-alacritty-theme.sh dark

# Toggle between themes
./scripts/switch-alacritty-theme.sh toggle

# Check current theme
./scripts/switch-alacritty-theme.sh status

Manual Configuration

You can also manually edit nixos/home/danny/home.nix and change:

isLightTheme = true;   # for light theme
isLightTheme = false;  # for dark theme

Then run: cd nixos && sudo darwin-rebuild switch --flake .#Daniel-Macbook-Air

Files

  • scripts/switch-alacritty-theme.sh - Script to switch themes
  • scripts/detect-system-theme.sh - Detects current macOS system theme (for reference)
  • nixos/home/danny/home.nix - Contains the conditional Alacritty configuration

Theme Colors

Catppuccin Latte (Light)

  • Background: #eff1f5 (base)
  • Foreground: #4c4f69 (text)
  • Accent colors optimized for light backgrounds

Catppuccin Mocha (Dark)

  • Background: #1e1e2e (base)
  • Foreground: #cdd6f4 (text)
  • Accent colors optimized for dark backgrounds

Integration with NixOS

The solution uses Nix's conditional configuration in home.nix:

colors = let
  isLightTheme = true;  # Change this to switch themes
  
  lightColors = { /* Catppuccin Latte colors */ };
  darkColors = { /* Catppuccin Mocha colors */ };
in if isLightTheme then lightColors else darkColors;

This approach:

  • Works with Spotlight/Applications folder launches
  • No complex file reading or external dependencies
  • Integrates cleanly with NixOS configuration
  • Simple and reliable - just change a boolean and rebuild
  • Easy to understand and maintain