This guide will walk you through installing custom themes in Zed editor on Linux systems.
- Zed editor installed on your Linux system
- Basic familiarity with terminal/command line
- A custom theme JSON file (like the One Dark Transparent Catppuccin theme)
-
Create the themes directory (if it doesn't exist):
mkdir -p ~/.config/zed/themes -
Save your theme file in the themes directory:
# Save as: ~/.config/zed/themes/Your-Theme-Name.json # The filename should match the theme name you want to use
-
Update your settings.json to use the theme:
nano ~/.config/zed/settings.jsonAdd or modify the theme section:
{ "theme": { "mode": "system", "light": "One Dark", "dark": "Your-Theme-Name" } } -
Restart Zed - the theme will be automatically detected and loaded!
If you prefer to select themes manually:
- Install theme using Method 1 above
- Use command palette:
- Press
Ctrl+Shift+P - Type "theme" and select "zed: select theme"
- Choose your theme from the list
- Press
For embedding themes directly in settings.json:
-
Open your Zed config directory:
cd ~/.config/zed
-
Edit the settings.json file:
nano settings.json # or use your preferred editor code settings.json vim settings.json -
Add your theme to the configuration:
{ "theme": "One Dark Transparent Catppuccin", "themes": { // Your theme content goes here } }
Based on your configuration style, here's the simplest way:
-
Save theme file:
# Save the theme JSON as: ~/.config/zed/themes/Transparent Catppuccin Dark.json
-
Update settings.json:
{ "theme": { "mode": "system", "light": "One Dark", "dark": "Transparent Catppuccin Dark" } } -
Restart Zed - Done! 🎉
Note: The theme name in your settings.json should match either:
- The filename (without .json extension), OR
- The "name" field inside the theme JSON file
Zed configuration directory:
~/.config/zed/
Themes directory:
~/.config/zed/themes/
Main settings file:
~/.config/zed/settings.json
Your theme JSON file should follow this structure:
{
"name": "Theme Name",
"author": "Author Name",
"themes": [
{
"name": "Theme Name",
"appearance": "dark",
"style": {
// Theme properties here
}
}
]
}- Check file location: Ensure the theme file is in the correct directory
- Verify JSON syntax: Use a JSON validator to check for syntax errors
- Restart Zed: Sometimes a full restart is needed
- Check file permissions: Ensure Zed can read the theme file
chmod 644 ~/.config/zed/themes/your-theme.json
- Check compositor: Ensure your Linux desktop compositor supports transparency
- Verify theme values: Look for transparency values like
#08090960(with alpha channel) - Desktop environment: Some DEs may override transparency settings
- Validate theme structure: Ensure all required fields are present
- Check color format: Colors should be in hex format (
#rrggbbor#rrggbbaa) - Change Transparency: Transparency can be changed by editing the alpha values of background colors
- Restart required: Some theme changes require a Zed restart
- Backup your settings before making changes
- Test themes in a separate Zed instance first
- Use relative paths when possible for portability
- Check the Zed documentation for the latest theme specification
Verify installation:
# List installed themes
ls ~/.config/zed/themes/
# Check settings
cat ~/.config/zed/settings.jsonHappy theming! 🎨