Skip to content

Commit a146076

Browse files
jdeveraclaude
andcommitted
Alacritty: Add config with import-based layering
Split config into alacritty.toml (import shell) and personal.toml (all settings). Work layer can override via work.toml import. Co-authored-by: Claude (claude-opus-4-6) <noreply@anthropic.com>
1 parent 027c887 commit a146076

File tree

2 files changed

+121
-0
lines changed

2 files changed

+121
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Alacritty Configuration — Import Shell
2+
#
3+
# This file only contains imports. All actual settings live in personal.toml
4+
# and work.toml. Here's why:
5+
#
6+
# Alacritty evaluates the *importing* file LAST, so anything written directly
7+
# here would override both personal and work settings. I need work to override
8+
# personal, so both must be separate imports where ordering is respected:
9+
# personal.toml loads first (base), work.toml loads second (overrides).
10+
#
11+
# Why not make work.toml the main file? Some machines don't have the work
12+
# layer at all, so the main config must live in the personal layer.
13+
#
14+
# Alacritty silently skips missing import files, so on non-work machines
15+
# work.toml is harmlessly absent.
16+
17+
[general]
18+
import = [
19+
"personal.toml",
20+
"work.toml",
21+
]
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
# Alacritty Configuration — Personal Layer
2+
#
3+
# Note: If fonts appear too bold on macOS, run:
4+
# defaults write org.alacritty AppleFontSmoothing -int 0
5+
# Then restart Alacritty.
6+
# See: https://github.com/alacritty/alacritty/issues/7333
7+
8+
[general]
9+
live_config_reload = true
10+
11+
[window]
12+
opacity = 0.92
13+
blur = true
14+
padding = { x = 8, y = 8 }
15+
decorations = "Full"
16+
dynamic_title = false
17+
option_as_alt = "OnlyLeft"
18+
19+
[scrolling]
20+
history = 50000
21+
multiplier = 3
22+
23+
[font]
24+
size = 20.0
25+
26+
[font.normal]
27+
family = "FantasqueSansM Nerd Font Mono"
28+
29+
[font.bold]
30+
family = "FantasqueSansM Nerd Font Mono"
31+
style = "Regular"
32+
33+
[font.italic]
34+
family = "FantasqueSansM Nerd Font Mono"
35+
style = "Italic"
36+
37+
[font.bold_italic]
38+
family = "FantasqueSansM Nerd Font Mono"
39+
style = "Bold Italic"
40+
41+
[cursor]
42+
blink_interval = 0
43+
44+
[cursor.style]
45+
shape = "Block"
46+
blinking = "Off"
47+
48+
[colors]
49+
draw_bold_text_with_bright_colors = false
50+
51+
[colors.primary]
52+
background = "#111b2c"
53+
foreground = "#f8f8f2"
54+
55+
[colors.cursor]
56+
text = "#282a36"
57+
cursor = "#f8f8f2"
58+
59+
[selection]
60+
save_to_clipboard = true
61+
62+
[keyboard]
63+
bindings = [
64+
# Make Shift+Enter send a distinct sequence so Claude Code recognizes it as newline, not submit
65+
{ key = "Return", mods = "Shift", chars = "\u001b[13;2u" }
66+
]
67+
68+
[hints]
69+
enabled = [
70+
# Standard URLs (http, https, file)
71+
{ regex = "(https?://|file://)[^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+", hyperlinks = true, command = "open", post_processing = true, persist = false, mouse = { enabled = true, mods = "None" }, binding = { key = "U", mods = "Control|Shift" } },
72+
# Obsidian URLs
73+
{ regex = "obsidian://[\\w\\-._~:/?#\\[\\]@!$&'()*+,;=%]+", hyperlinks = true, command = "open", post_processing = true, persist = false, mouse = { enabled = true, mods = "None" }, binding = { key = "O", mods = "Control|Shift" } },
74+
# Todoist URLs
75+
{ regex = "todoist://[\\w\\-._~:/?#\\[\\]@!$&'()*+,;=%]+", hyperlinks = true, command = "open", post_processing = true, persist = false, mouse = { enabled = true, mods = "None" }, binding = { key = "T", mods = "Control|Shift" } }
76+
]
77+
78+
[colors.selection]
79+
text = "#f8f8f2"
80+
background = "#44475a"
81+
82+
[colors.normal]
83+
black = "#21222c"
84+
red = "#ff5555"
85+
green = "#50fa7b"
86+
yellow = "#f1fa8c"
87+
blue = "#bd93f9"
88+
magenta = "#ff79c6"
89+
cyan = "#8be9fd"
90+
white = "#f8f8f2"
91+
92+
[colors.bright]
93+
black = "#6272a4"
94+
red = "#ff6e6e"
95+
green = "#69ff94"
96+
yellow = "#ffffa5"
97+
blue = "#d6acff"
98+
magenta = "#ff92df"
99+
cyan = "#a4ffff"
100+
white = "#ffffff"

0 commit comments

Comments
 (0)