--- # Configuration for Alacritty, the GPU enhanced terminal emulator # Any items in the `env` entry below will be added as # environment variables. Some entries may override variables # set by alacritty it self. env: # TERM env customization. # # If this property is not set, alacritty will set it to xterm-256color. # # Note that some xterm terminfo databases don't declare support for italics. # You can verify this by checking for the presence of `smso` and `sitm` in # `infocmp xterm-256color`. TERM: xterm-256color # Window dimensions in character columns and lines # (changes require restart) window: dynamic_title: true dimensions: columns: 130 lines: 40 # Adds this many blank pixels of padding around the window # Units are physical pixels; this is not DPI aware. # (change requires restart) padding: x: 5 y: 5 decorations: buttonless opacity: 0.97 # When true, bold text is drawn using the bright variant of colors. draw_bold_text_with_bright_colors: true # Font configuration (changes require restart) font: # The normal (roman) font face to use. normal: family: JetBrainsMonoNL Nerd Font Mono # Style can be specified to pick a specific face. style: ExtraLight # The bold font face bold: family: JetBrainsMonoNL Nerd Font Mono # Style can be specified to pick a specific face. style: Bold # The italic font face italic: family: JetBrainsMonoNL Nerd Font Mono # Style can be specified to pick a specific face. style: Italic # Point size of the font size: 14.0 # Offset is the extra space around each character. offset.y can be thought of # as modifying the linespacing, and offset.x as modifying the letter spacing. offset: x: 0 y: 0 # Glyph offset determines the locations of the glyphs within their cells with # the default being at the bottom. Increase the x offset to move the glyph to # the right, increase the y offset to move the glyph upward. glyph_offset: x: 0 y: 0 # Should display the render timer debug.render_timer: false # https://github.com/catppuccin/alacritty colors: primary: background: '#1E1E2E' # base foreground: '#CDD6F4' # text # Bright and dim foreground colors dim_foreground: '#CDD6F4' # text bright_foreground: '#CDD6F4' # text # Cursor colors cursor: text: '#1E1E2E' # base cursor: '#F5E0DC' # rosewater vi_mode_cursor: text: '#1E1E2E' # base cursor: '#B4BEFE' # lavender # Search colors search: matches: foreground: '#1E1E2E' # base background: '#A6ADC8' # subtext0 focused_match: foreground: '#1E1E2E' # base background: '#A6E3A1' # green footer_bar: foreground: '#1E1E2E' # base background: '#A6ADC8' # subtext0 # Keyboard regex hints hints: start: foreground: '#1E1E2E' # base background: '#F9E2AF' # yellow end: foreground: '#1E1E2E' # base background: '#A6ADC8' # subtext0 # Selection colors selection: text: '#1E1E2E' # base background: '#F5E0DC' # rosewater # Normal colors normal: black: '#45475A' # surface1 red: '#F38BA8' # red green: '#A6E3A1' # green yellow: '#F9E2AF' # yellow blue: '#89B4FA' # blue magenta: '#F5C2E7' # pink cyan: '#94E2D5' # teal white: '#BAC2DE' # subtext1 # Bright colors bright: black: '#585B70' # surface2 red: '#F38BA8' # red green: '#A6E3A1' # green yellow: '#F9E2AF' # yellow blue: '#89B4FA' # blue magenta: '#F5C2E7' # pink cyan: '#94E2D5' # teal white: '#A6ADC8' # subtext0 # Dim colors dim: black: '#45475A' # surface1 red: '#F38BA8' # red green: '#A6E3A1' # green yellow: '#F9E2AF' # yellow blue: '#89B4FA' # blue magenta: '#F5C2E7' # pink cyan: '#94E2D5' # teal white: '#BAC2DE' # subtext1 indexed_colors: - { index: 16, color: '#FAB387' } - { index: 17, color: '#F5E0DC' } # Visual Bell # # Any time the BEL code is received, Alacritty "rings" the visual bell. Once # rung, the terminal background will be set to white and transition back to the # default background color. You can control the rate of this transition by # setting the `duration` property (represented in milliseconds). You can also # configure the transition function by setting the `animation` property. # # Possible values for `animation` # `Ease` # `EaseOut` # `EaseOutSine` # `EaseOutQuad` # `EaseOutCubic` # `EaseOutQuart` # `EaseOutQuint` # `EaseOutExpo` # `EaseOutCirc` # `Linear` # # To completely disable the visual bell, set its duration to 0. # # visual_bell: # animation: EaseOutExpo # duration: 0 # Key bindings # # Each binding is defined as an object with some properties. Most of the # properties are optional. All of the alphabetical keys should have a letter for # the `key` value such as `V`. Function keys are probably what you would expect # as well (F1, F2, ..). The number keys above the main keyboard are encoded as # `Key1`, `Key2`, etc. Keys on the number pad are encoded `Number1`, `Number2`, # etc. These all match the glutin::VirtualKeyCode variants. # # Possible values for `mods` # `Command`, `Super` refer to the super/command/windows key # `Control` for the control key # `Shift` for the Shift key # `Alt` and `Option` refer to alt/option # # mods may be combined with a `|`. For example, requiring control and shift # looks like: # # mods: Control|Shift # # The parser is currently quite sensitive to whitespace and capitalization - # capitalization must match exactly, and piped items must not have whitespace # around them. # # Either an `action`, `chars`, or `command` field must be present. # `action` must be one of `Paste`, `PasteSelection`, `Copy`, or `Quit`. # `chars` writes the specified string every time that binding is activated. # These should generally be escape sequences, but they can be configured to # send arbitrary strings of bytes. # `command` must be a map containing a `program` string, and `args` array of # strings. For example: # - { ... , command: { program: "alacritty", args: ["-e", "vttest"] } } key_bindings: - { key: V, mods: Command, action: Paste } - { key: C, mods: Command, action: Copy } - { key: Q, mods: Command, action: Quit } - { key: W, mods: Command, action: Quit } - { key: N, mods: Command, action: SpawnNewInstance } - { key: Home, chars: "\eOH", mode: AppCursor } - { key: Home, chars: "\e[1~", mode: ~AppCursor } - { key: End, chars: "\eOF", mode: AppCursor } - { key: End, chars: "\e[4~", mode: ~AppCursor } - { key: PageUp, mods: Shift, chars: "\e[5;2~" } - { key: PageUp, mods: Control, chars: "\e[5;5~" } - { key: PageUp, chars: "\e[5~" } - { key: PageDown, mods: Shift, chars: "\e[6;2~" } - { key: PageDown, mods: Control, chars: "\e[6;5~" } - { key: PageDown, chars: "\e[6~" } - { key: Left, mods: Shift, chars: "\e[1;2D" } - { key: Left, mods: Control, chars: "\e[1;5D" } - { key: Left, mods: Alt, chars: "\e[1;3D" } - { key: Left, chars: "\e[D", mode: ~AppCursor } - { key: Left, chars: "\eOD", mode: AppCursor } - { key: Right, mods: Shift, chars: "\e[1;2C" } - { key: Right, mods: Control, chars: "\e[1;5C" } - { key: Right, mods: Alt, chars: "\e[1;3C" } - { key: Right, chars: "\e[C", mode: ~AppCursor } - { key: Right, chars: "\eOC", mode: AppCursor } - { key: Up, mods: Shift, chars: "\e[1;2A" } - { key: Up, mods: Control, chars: "\e[1;5A" } - { key: Up, mods: Alt, chars: "\e[1;3A" } - { key: Up, chars: "\e[A", mode: ~AppCursor } - { key: Up, chars: "\eOA", mode: AppCursor } - { key: Down, mods: Shift, chars: "\e[1;2B" } - { key: Down, mods: Control, chars: "\e[1;5B" } - { key: Down, mods: Alt, chars: "\e[1;3B" } - { key: Down, chars: "\e[B", mode: ~AppCursor } - { key: Down, chars: "\eOB", mode: AppCursor } - { key: Tab, mods: Shift, chars: "\e[Z" } - { key: F1, chars: "\eOP" } - { key: F2, chars: "\eOQ" } - { key: F3, chars: "\eOR" } - { key: F4, chars: "\eOS" } - { key: F5, chars: "\e[15~" } - { key: F6, chars: "\e[17~" } - { key: F7, chars: "\e[18~" } - { key: F8, chars: "\e[19~" } - { key: F9, chars: "\e[20~" } - { key: F10, chars: "\e[21~" } - { key: F11, chars: "\e[23~" } - { key: F12, chars: "\e[24~" } - { key: Back, chars: '' } - { key: Back, mods: Alt, chars: "\e" } - { key: Insert, chars: "\e[2~" } - { key: Delete, chars: "\e[3~" } # shortcuts for tmux. the leader key is control-b (0x02) - { key: W, mods: Command, chars: "\x02&" } # close tab (kill) - { key: T, mods: Command, chars: "\x02c" } # new tab - { key: RBracket, mods: Command|Shift, chars: "\x02n" } # select next tab - { key: LBracket, mods: Command|Shift, chars: "\x02p" } # select previous tab - { key: RBracket, mods: Command, chars: "\x02o" } # select next pane - { key: LBracket, mods: Command, chars: "\x02;" } # select last (previously used) pane - { key: F, mods: Command, chars: "\x02/" } # search (upwards) (see tmux.conf) # Mouse bindings # # Currently doesn't support modifiers. Both the `mouse` and `action` fields must # be specified. # # Values for `mouse`: # - Middle # - Left # - Right # - Numeric identifier such as `5` # # Values for `action`: # - Paste # - PasteSelection # - Copy (TODO) mouse_bindings: - { mouse: Middle, action: PasteSelection } mouse: double_click: { threshold: 300 } triple_click: { threshold: 300 } selection: semantic_escape_chars: ',│`|:"'' ()[]{}<>' # Shell # # You can set shell.program to the path of your favorite shell, e.g. /bin/fish. # Entries in shell.args are passed unmodified as arguments to the shell. # #shell: # program: /bin/bash # args: # - --login