migration

This commit is contained in:
2026-02-14 08:35:47 +02:00
commit f1df2dd897
46 changed files with 2595 additions and 0 deletions

View File

@@ -0,0 +1,78 @@
[env]
# TERM = "xterm-256color"
[font]
size = 14
normal = { family = "SF Mono", style = "Regular" }
bold = { family = "SF Mono", style = "Bold" }
italic = { family = "SF Mono", style = "Regular Italic" }
bold_italic = { family = "SF Mono", style = "Bold Italic" }
# normal = { family = "Maple Mono", style = "Regular" }
# bold = { family = "Maple Mono", style = "Bold" }
# italic = { family = "Maple Mono", style = "Italic" }
# bold_italic = { family = "Maple Mono", style = "Bold Italic" }
# offset = { x = -1, y = 0 }
[window]
padding = { x = 2, y = 0 }
dynamic_padding = true
# resize_increments = true
[keyboard]
bindings = [
# Create new window
{ action = "SpawnNewInstance", key = "N", mods = "Command" },
# Jump back one word
{ key = "Left", mods = "Alt", chars = "\u001bb" },
# Jump forward one word
{ key = "Right", mods = "Alt", chars = "\u001bf" },
# Move to start of line
{ key = "Left", mods = "Command", chars = "\u0001" },
# Move to end of line
{ key = "Right", mods = "Command", chars = "\u0005" },
# Delete backwards
{ key = "Back", mods = "Alt", chars = "\u001B\u007F" }, # word
{ key = "Back", mods = "Command", chars = "\u0015" }, # line
# Delete forwards
{ key = "Delete", mods = "Alt", chars = "\u001Bd" }, # word
{ key = "Delete", mods = "Command", chars = "\u000B" } # line
]
[scrolling]
multiplier = 1
[general]
live_config_reload = true
[colors.primary]
background = "#eeeeee"
foreground = "#444444"
[colors.cursor]
text = "#eeeeee"
cursor = "#005fff"
[colors.selection]
text = "#434343"
background = "#e0e0e0"
[colors.normal]
black = "#000000"
red = "#aa3731"
green = "#448c27"
yellow = "#cb9000"
blue = "#325cc0"
magenta = "#7a3e9d"
cyan = "#0083b2"
white = "#bbbbbb"
[colors.bright]
black = "#000000"
red = "#aa3731"
green = "#448c27"
yellow = "#cb9000"
blue = "#325cc0"
magenta = "#7a3e9d"
cyan = "#0083b2"
white = "#bbbbbb"

View File

@@ -0,0 +1,27 @@
[colors.primary]
background = '#F7F7F7'
foreground = '#434343'
[colors.cursor]
text = '#F7F7F7'
cursor = '#434343'
[colors.normal]
black = '#000000'
red = '#AA3731'
green = '#448C27'
yellow = '#CB9000'
blue = '#325CC0'
magenta = '#7A3E9D'
cyan = '#0083B2'
white = '#BBBBBB'
[colors.bright]
black = '#777777'
red = '#F05050'
green = '#60CB00'
yellow = '#FFBC5D'
blue = '#007ACC'
magenta = '#E64CE6'
cyan = '#00AACB'
white = '#FFFFFF'

View File

@@ -0,0 +1,13 @@
#!/bin/bash
options=(
order=above
width=2.0
hidpi=on
active_color=0xff2b2b2b
inactive_color=0xff2b2b2b
# inactive_color=0x00000000
whitelist="wezterm-gui"
)
borders "${options[@]}"

Binary file not shown.

View File

@@ -0,0 +1,33 @@
#term = xterm-256color
theme = Invero Day
# Font
font-family = "Maple Mono"
font-size = 13
font-thicken = true
font-thicken-strength = 120
font-feature = -liga, -dlig, -calt
adjust-underline-thickness = 1
adjust-strikethrough-thickness = 1
adjust-overline-thickness = 1
adjust-box-thickness = 1
adjust-cell-width = -7%
adjust-cell-height = -2
# Cursor
cursor-style = block
cursor-style-blink = false
mouse-hide-while-typing = true
shell-integration-features = ssh-terminfo,ssh-env,no-cursor
# Window
window-height = 80
window-width = 128
window-padding-x = 4
window-padding-y = 0
window-padding-color = extend
macos-titlebar-style = native
macos-icon = custom
window-inherit-working-directory = false

View File

@@ -0,0 +1,22 @@
palette = 0=#444444
palette = 1=#ff0000
palette = 2=#00af5f
palette = 3=#d75f00
palette = 4=#005fff
palette = 5=#5f5f87
palette = 6=#afd7ff
palette = 7=#eeeeee
palette = 8=#444444
palette = 9=#ff0000
palette = 10=#00af5f
palette = 11=#d75f00
palette = 12=#005fff
palette = 13=#5f5f87
palette = 14=#afd7ff
palette = 15=#eeeeee
background = #eeeeee
foreground = #444444
cursor-color = #005fff
selection-background = #dadada
selection-foreground = #444444

View File

@@ -0,0 +1,25 @@
brew "bash"
brew "dnsmasq", restart_service: :changed
brew "tmux"
cask "brave-browser"
cask "bruno"
cask "dbeaver-community"
cask "discord"
cask "firefox"
cask "font-maple-mono"
cask "font-maple-mono-nf"
cask "ghostty"
cask "google-chrome"
cask "karabiner-elements"
cask "linearmouse"
cask "macfuse"
cask "orbstack"
cask "proton-drive"
cask "protonvpn"
cask "rectangle"
cask "slack"
cask "sol"
cask "spotify"
cask "sublime-text"
cask "utm@beta"
cask "zoom"

View File

@@ -0,0 +1,15 @@
{
"profiles": [
{
"name": "Default profile",
"selected": true,
"simple_modifications": [
{
"from": { "key_code": "caps_lock" },
"to": [{ "key_code": "left_control" }]
}
],
"virtual_hid_keyboard": { "keyboard_type_v2": "iso" }
}
]
}

View File

@@ -0,0 +1,34 @@
{
"global": { "show_in_menu_bar": false },
"profiles": [
{
"devices": [
{
"identifiers": {
"is_keyboard": true,
"product_id": 50475,
"vendor_id": 1133
},
"ignore_vendor_events": true
},
{
"identifiers": {
"is_keyboard": true,
"product_id": 50504,
"vendor_id": 1133
},
"ignore_vendor_events": true
}
],
"name": "Default profile",
"selected": true,
"simple_modifications": [
{
"from": { "key_code": "caps_lock" },
"to": [{ "key_code": "left_control" }]
}
],
"virtual_hid_keyboard": { "keyboard_type_v2": "iso" }
}
]
}

View File

@@ -0,0 +1,54 @@
# ~/.config/kitty/choose_tab.py
from kitty.boss import get_boss
from kittens.tui.handler import Handler
from kittens.tui.loop import Loop
class TabPicker(Handler):
def __init__(self):
super().__init__()
boss = get_boss()
win = boss.active_window
self.osw = win.os_window if win else None
self.tabs = list(self.osw.tabs) if self.osw else []
self.index = 0
def draw(self, screen):
screen.clear()
if not self.tabs:
screen.write_line("No tabs. Esc to exit.")
else:
screen.write_line("Choose a tab (↑/↓ Enter Esc)")
for i, t in enumerate(self.tabs):
mark = "" if t is self.osw.active_tab else " "
sel = ">" if i == self.index else " "
title = t.title or f"Tab {i+1}"
screen.write_line(f"{sel} {mark} {title}")
screen.refresh()
def on_key(self, event):
if not self.tabs:
if event.key in ("escape", "enter"):
self.quit_loop()
return
k = event.key
if k in ("up", "k"):
self.index = (self.index - 1) % len(self.tabs)
elif k in ("down", "j"):
self.index = (self.index + 1) % len(self.tabs)
elif k == "enter":
self.osw.set_active_tab(self.tabs[self.index])
self.quit_loop()
elif k == "escape":
self.quit_loop()
self.refresh()
def main(args):
# Correct signature for older Kitty: pass the class name and a title string
Loop(TabPicker, "choose_tab").run()
def handle_result(args, answer, target_window_id, boss):
pass

View File

@@ -0,0 +1,35 @@
# vim:ft=kitty
background #eeeeee
foreground #444444
cursor #005fff
cursor_text_color #eeeeee
selection_background #dadada
selection_foreground #444444
url_color #005fff
# Tabs
active_tab_background #005fff
active_tab_foreground #eeeeee
inactive_tab_background #dadada
inactive_tab_foreground #9e9e9e
# normal
color0 #444444
color1 #ff0000
color2 #00af5f
color3 #d75f00
color4 #005fff
color5 #5f5f87
color6 #afd7ff
color7 #eeeeee
# bright
color8 #444444
color9 #ff0000
color10 #00af5f
color11 #d75f00
color12 #005fff
color13 #5f5f87
color14 #afd7ff
color15 #eeeeee

Binary file not shown.

View File

@@ -0,0 +1,73 @@
include invero.conf
# term xterm-256color
enable_audio_bell no
cursor_shape block
wheel_scroll_multiplier 1.0
touch_scroll_multiplier 1.0
wheel_scroll_min_lines 1
shell_integration no-cursor
cursor_blink_interval 0
remember_window_position yes
remember_window_size yes
# Font
font_family Maple Mono
font_size 13.0
# disable_ligatures always
# undercurl_style thick-sparse
modify_font cell_width 94%
modify_font cell_height -2px
# modify_font baseline 2px
# modify_font underline_thickness 180%
# modify_font underline_position 2px
# modify_font strikethrough_positon 2px
text_composition_strategy legacy
# underline_exclusion 0
placement_strategy top
window_margin_width 0 0
window_padding_width 0 4
# modify_font cell_height -1
# modify_font cell_width 90%
# Navigation / editing
# Make Option act as Alt on macOS
macos_option_as_alt yes
# Use explicit bytes (no ambiguity), not \x1bb etc.
map opt+left send_text all \x1b\x62
map opt+right send_text all \x1b\x66
map cmd+left send_text all \x01
map cmd+right send_text all \x05
map opt+backspace send_text all \x1b\x7f
map cmd+backspace send_text all \x15
map opt+delete send_text all \x1b\x64
map cmd+delete send_text all \x0b
# New window / tab
map cmd+n new_os_window
map cmd+t new_tab
map cmd+1 goto_tab 1
map cmd+2 goto_tab 2
map cmd+3 goto_tab 3
map cmd+4 goto_tab 4
map cmd+5 goto_tab 5
map cmd+6 goto_tab 6
map cmd+7 goto_tab 7
map cmd+8 goto_tab 8
map cmd+9 goto_tab 9
# BEGIN_KITTY_FONTS
# font_family family="JetBrains Mono"
bold_font auto
italic_font auto
bold_italic_font auto
# END_KITTY_FONTS

View File

@@ -0,0 +1,44 @@
{
"$schema": "https:\/\/schema.linearmouse.app\/0.10.0",
"schemes": [
{
"if" : {
"device" : {
"vendorID" : "0x46d",
"productID" : "0xc52b",
"productName" : "USB Receiver",
"category" : "mouse"
}
},
"scrolling": {
"reverse": {
"vertical": true
},
"speed": {
"vertical": 0
},
"acceleration": {
"vertical": 1
},
"distance": {
"vertical": "100px"
},
"modifiers": {
"vertical": {
"command": {
"type": "preventDefault"
}
}
}
},
"buttons": {
"universalBackForward": true
},
"pointer": {
"acceleration": 0.3,
"speed": 0.2,
"disableAcceleration": false
}
}
]
}

View File

@@ -0,0 +1,286 @@
{
"bundleId" : "com.knollsoft.Rectangle",
"defaults" : {
"SUEnableAutomaticChecks" : {
"bool" : true
},
"allowAnyShortcut" : {
"bool" : true
},
"almostMaximizeHeight" : {
"float" : 0
},
"almostMaximizeWidth" : {
"float" : 0
},
"altThirdCycle" : {
"int" : 0
},
"alternateDefaultShortcuts" : {
"bool" : true
},
"alwaysAccountForStage" : {
"int" : 0
},
"applyGapsToMaximize" : {
"int" : 0
},
"applyGapsToMaximizeHeight" : {
"int" : 0
},
"attemptMatchOnNextPrevDisplay" : {
"int" : 0
},
"autoMaximize" : {
"int" : 0
},
"cascadeAllDeltaSize" : {
"float" : 30
},
"centerHalfCycles" : {
"int" : 0
},
"centeredDirectionalMove" : {
"int" : 0
},
"cornerSnapAreaSize" : {
"float" : 20
},
"curtainChangeSize" : {
"int" : 0
},
"cycleSizesIsChanged" : {
"bool" : false
},
"disabledApps" : {
},
"doubleClickTitleBar" : {
"int" : 0
},
"doubleClickTitleBarIgnoredApps" : {
},
"doubleClickTitleBarRestore" : {
"int" : 0
},
"dragFromStage" : {
"int" : 0
},
"enhancedUI" : {
"int" : 1
},
"footprintAlpha" : {
"float" : 0.3
},
"footprintAnimationDurationMultiplier" : {
"float" : 0
},
"footprintBorderWidth" : {
"float" : 2
},
"footprintColor" : {
},
"footprintFade" : {
"int" : 0
},
"fullIgnoreBundleIds" : {
},
"gapSize" : {
"float" : 0
},
"hapticFeedbackOnSnap" : {
"int" : 0
},
"hideMenubarIcon" : {
"bool" : false
},
"ignoreDragSnapToo" : {
"int" : 0
},
"ignoredSnapAreas" : {
"int" : 0
},
"landscapeSnapAreas" : {
"string" : "[4,{\"compound\":-2},1,{\"action\":15},2,{\"action\":2},6,{\"action\":13},7,{\"compound\":-4},8,{\"action\":14},3,{\"action\":16},5,{\"compound\":-3}]"
},
"launchOnLogin" : {
"bool" : true
},
"minimumWindowHeight" : {
"float" : 0
},
"minimumWindowWidth" : {
"float" : 0
},
"missionControlDragging" : {
"int" : 0
},
"missionControlDraggingAllowedOffscreenDistance" : {
"float" : 25
},
"missionControlDraggingDisallowedDuration" : {
"int" : 250
},
"moveCursor" : {
"int" : 0
},
"moveCursorAcrossDisplays" : {
"int" : 0
},
"notifiedOfProblemApps" : {
"bool" : false
},
"obtainWindowOnClick" : {
"int" : 0
},
"portraitSnapAreas" : {
},
"relaunchOpensMenu" : {
"bool" : false
},
"resizeOnDirectionalMove" : {
"bool" : false
},
"screenEdgeGapBottom" : {
"float" : 0
},
"screenEdgeGapLeft" : {
"float" : 0
},
"screenEdgeGapRight" : {
"float" : 0
},
"screenEdgeGapTop" : {
"float" : 0
},
"screenEdgeGapTopNotch" : {
"float" : 0
},
"screenEdgeGapsOnMainScreenOnly" : {
"bool" : false
},
"selectedCycleSizes" : {
"int" : 0
},
"shortEdgeSnapAreaSize" : {
"float" : 145
},
"showAllActionsInMenu" : {
"int" : 0
},
"sixthsSnapArea" : {
"int" : 0
},
"sizeOffset" : {
"float" : 0
},
"snapEdgeMarginBottom" : {
"float" : 5
},
"snapEdgeMarginLeft" : {
"float" : 5
},
"snapEdgeMarginRight" : {
"float" : 5
},
"snapEdgeMarginTop" : {
"float" : 5
},
"snapModifiers" : {
"int" : 0
},
"specifiedHeight" : {
"float" : 1050
},
"specifiedWidth" : {
"float" : 1680
},
"stageSize" : {
"float" : 190
},
"subsequentExecutionMode" : {
"int" : 1
},
"systemWideMouseDown" : {
"int" : 0
},
"systemWideMouseDownApps" : {
},
"todo" : {
"int" : 0
},
"todoApplication" : {
},
"todoMode" : {
"bool" : false
},
"todoSidebarSide" : {
"int" : 1
},
"todoSidebarWidth" : {
"float" : 400
},
"traverseSingleScreen" : {
"int" : 0
},
"unsnapRestore" : {
"int" : 0
},
"windowSnapping" : {
"int" : 0
}
},
"shortcuts" : {
"bottomHalf" : {
"keyCode" : 38,
"modifierFlags" : 786432
},
"firstThird" : {
"keyCode" : 33,
"modifierFlags" : 786432
},
"firstTwoThirds" : {
"keyCode" : 33,
"modifierFlags" : 917504
},
"lastThird" : {
"keyCode" : 30,
"modifierFlags" : 786432
},
"lastTwoThirds" : {
"keyCode" : 30,
"modifierFlags" : 917504
},
"leftHalf" : {
"keyCode" : 4,
"modifierFlags" : 786432
},
"maximize" : {
"keyCode" : 36,
"modifierFlags" : 786432
},
"reflowTodo" : {
"keyCode" : 45,
"modifierFlags" : 786432
},
"rightHalf" : {
"keyCode" : 37,
"modifierFlags" : 786432
},
"toggleTodo" : {
"keyCode" : 11,
"modifierFlags" : 786432
},
"topHalf" : {
"keyCode" : 40,
"modifierFlags" : 786432
}
},
"version" : "92"
}

View File

@@ -0,0 +1,10 @@
#!/bin/bash
BACKUP_FILE="$HOME/.config/homebrew/Brewfile"
echo "Backing up Homebrew installations..."
mkdir -p "$(dirname "$BACKUP_FILE")"
brew bundle dump --file="$BACKUP_FILE" --force
echo "Backup saved to $BACKUP_FILE"

View File

@@ -0,0 +1,13 @@
#!/bin/bash
BACKUP_FILE="$HOME/.config/homebrew/Brewfile"
if [[ ! -f "$BACKUP_FILE" ]]; then
echo "Backup file not found: $BACKUP_FILE"
exit 1
fi
echo "Restoring Homebrew installations..."
brew bundle --file="$BACKUP_FILE"
echo "Homebrew restoration complete."

View File

@@ -0,0 +1,196 @@
#!/usr/bin/env bash
set -euo pipefail
# Close any open System Preferences panes, to prevent them from overriding
# settings were about to change
osascript -e 'tell application "System Preferences" to quit'
# Ask for the administrator password upfront
sudo -v
# Keep-alive: update existing `sudo` time stamp until `.macos` has finished
while true; do
sudo -n true
sleep 60
kill -0 "$$" || exit
done 2>/dev/null &
# Save to disk (not to iCloud) by default
defaults write NSGlobalDomain NSDocumentSaveNewDocumentsToCloud -bool false
# Disable the “Are you sure you want to open this application?” dialog
defaults write com.apple.LaunchServices LSQuarantine -bool false
# Disable Typing features
defaults write NSGlobalDomain NSAutomaticCapitalizationEnabled -bool false
defaults write NSGlobalDomain NSAutomaticDashSubstitutionEnabled -bool false
defaults write NSGlobalDomain NSAutomaticPeriodSubstitutionEnabled -bool false
defaults write NSGlobalDomain NSAutomaticQuoteSubstitutionEnabled -bool false
defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool false
# Disable press-and-hold for keys in favor of key repeat
defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false
defaults write NSGlobalDomain KeyRepeat -int 2
defaults write NSGlobalDomain InitialKeyRepeat -int 15
defaults write NSGlobalDomain AppleLanguages -array "en" "es" "bg"
defaults write NSGlobalDomain AppleLocale -string "en_US@rg=eszzzz"
## Finder
# Screenshots/captures
defaults write com.apple.screencapture location -string "${HOME}/Pictures/Screenshots"
defaults write com.apple.screencapture style -string "display"
defaults write com.apple.screencapture target -string "file"
defaults write com.apple.screencapture video -int 1
# Finder
# Interface elements
defaults write com.apple.finder ShowPathbar -bool true
defaults write com.apple.finder ShowStatusBar -bool true
defaults write com.apple.finder ShowSidebar -bool true
defaults write com.apple.finder ShowRecentTags -bool false
# View and sorting
defaults write com.apple.finder FXPreferredViewStyle -string "Nlsv"
defaults write com.apple.finder FXPreferredSearchViewStyle -string "Nlsv"
defaults write com.apple.finder _FXSortFoldersFirst -bool true
defaults write com.apple.finder FXPreferredGroupBy -string "None"
defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"
# Behavior
defaults write com.apple.finder NewWindowTarget -string "PfHm"
defaults write com.apple.finder FXOpenFoldersInTabs -bool true
defaults write com.apple.finder FXRemoveOldTrashItems -bool false
defaults write com.apple.finder FXShowAllExtensions -bool true
defaults write com.apple.finder FXEnableExtensionChangeWarning -bool true
defaults write com.apple.finder FXRemoveICloudDriveWarning -bool true
defaults write com.apple.finder FXWarnBeforeEmptyingTrash -bool true
# Desktop icons (none)
defaults write com.apple.finder ShowHardDrivesOnDesktop -bool false
defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool false
defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool false
defaults write com.apple.finder ShowConnectedServersOnDesktop -bool false
# Tags
defaults write com.apple.finder FavoriteTagNames -array
# iCloud
defaults write com.apple.finder FXICloudDriveEnabled -bool false
# Finder: show all filename extensions
defaults write NSGlobalDomain AppleShowAllExtensions -bool true
# Avoid creating .DS_Store files on network or USB volumes
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true
## Dock
#!/bin/bash
set -euo pipefail
# Reset preferences
# rm -f ~/Library/Preferences/com.apple.dock.plist
# Reset Dock layout
defaults write com.apple.dock persistent-apps -array
defaults write com.apple.dock persistent-others -array
# Basic Dock preferences
defaults write com.apple.dock autohide -bool true
defaults write com.apple.dock autohide-delay -float 0
defaults write com.apple.dock autohide-time-modifier -float 0.4
defaults write com.apple.dock enterMissionControlByTopWindowDrag -bool false
defaults write com.apple.dock expose-group-apps -bool true
defaults write com.apple.dock mineffect -string "scale"
defaults write com.apple.dock minimize-to-application -bool false
defaults write com.apple.dock orientation -string "bottom"
defaults write com.apple.dock show-process-indicators -bool false
defaults write com.apple.dock show-recents -bool false
defaults write com.apple.dock showAppExposeGestureEnabled -bool true
defaults write com.apple.dock showDesktopGestureEnabled -bool false
defaults write com.apple.dock showLaunchpadGestureEnabled -bool false
defaults write com.apple.dock tilesize -int 38
# Add Brave Browser
defaults write com.apple.dock persistent-apps -array-add \
"<dict>
<key>tile-data</key>
<dict>
<key>file-data</key>
<dict>
<key>_CFURLString</key>
<string>/Applications/Brave Browser.app</string>
<key>_CFURLStringType</key>
<integer>0</integer>
</dict>
</dict>
<key>tile-type</key>
<string>file-tile</string>
</dict>"
# Add Ghostty
defaults write com.apple.dock persistent-apps -array-add \
"<dict>
<key>tile-data</key>
<dict>
<key>file-data</key>
<dict>
<key>_CFURLString</key>
<string>/Applications/Ghostty.app</string>
<key>_CFURLStringType</key>
<integer>0</integer>
</dict>
</dict>
<key>tile-type</key>
<string>file-tile</string>
</dict>"
# Add Screenshots directory (display as folder, show as grid)
defaults write com.apple.dock persistent-others -array-add \
"<dict>
<key>tile-data</key>
<dict>
<key>displayas</key>
<integer>1</integer>
<key>showas</key>
<integer>2</integer>
<key>file-data</key>
<dict>
<key>_CFURLString</key>
<string>/Users/tomas/Pictures/Screenshots</string>
<key>_CFURLStringType</key>
<integer>0</integer>
</dict>
</dict>
<key>tile-type</key>
<string>directory-tile</string>
</dict>"
# Add Downloads directory (display as folder, show as grid)
defaults write com.apple.dock persistent-others -array-add \
"<dict>
<key>tile-data</key>
<dict>
<key>displayas</key>
<integer>1</integer>
<key>showas</key>
<integer>2</integer>
<key>file-data</key>
<dict>
<key>_CFURLString</key>
<string>/Users/tomas/Downloads</string>
<key>_CFURLStringType</key>
<integer>0</integer>
</dict>
</dict>
<key>tile-type</key>
<string>directory-tile</string>
</dict>"
# Apply changes
killall Finder &>/dev/null
killall Dock &>/dev/null
echo "Setup complete."

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,36 @@
[colors]
background = "#eeeeee"
foreground = "#444444"
cursor_bg = "#005fff"
cursor_border = "#9e9e9e"
cursor_fg = "#eeeeee"
selection_bg = "#dadada"
selection_fg = "#444444"
split = "#005fff"
compose_cursor = "#d75f00"
scrollbar_thumb = "#9e9e9e"
copy_mode_active_highlight_bg = { Color = "#dadada" }
copy_mode_active_highlight_fg = { Color = "#d75f00" }
copy_mode_inactive_highlight_bg = { Color = "#eeeeee" }
copy_mode_inactive_highlight_fg = { Color = "#d75f00" }
ansi = ["#444444", "#ff0000", "#00af5f", "#d75f00", "#005fff", "#5f5f87", "#afd7ff", "#eeeeee"]
brights = ["#444444", "#ff0000", "#00af5f", "#d75f00", "#005fff", "#5f5f87", "#afd7ff", "#eeeeee"]
[colors.tab_bar]
inactive_tab_edge = "#ff0000"
background = "#444444"
[colors.tab_bar.active_tab]
fg_color = "#eeeeee"
bg_color = "#444444"
intensity = "Bold"
[colors.tab_bar.inactive_tab]
fg_color = "#9e9e9e"
bg_color = "#444444"
[colors.tab_bar.inactive_tab_hover]
fg_color = "#dadada"
bg_color = "#444444"

View File

@@ -0,0 +1,72 @@
local wezterm = require("wezterm")
local config = wezterm.config_builder()
local act = wezterm.action
-- General
config.term = "wezterm"
config.color_scheme = "Invero Day"
config.use_ime = false
-- Font
config.font = wezterm.font({ family = "Maple Mono NF", weight = "Medium" })
config.font_size = 13
config.harfbuzz_features = { "calt=0", "clig=0", "liga=0" } -- disables alternates and ligatures
config.underline_position = -4
config.underline_thickness = 3
-- Appearance
config.bold_brightens_ansi_colors = false
config.window_padding = { left = "0.5cell", right = "0.5cell", top = 6, bottom = 0 }
config.window_content_alignment = { horizontal = "Center", vertical = "Top" }
config.cell_width = 0.9
config.line_height = 0.9
-- Tabs
config.use_fancy_tab_bar = false
config.show_new_tab_button_in_tab_bar = false
config.hide_tab_bar_if_only_one_tab = true
-- Events
wezterm.on("toggle-tabbar", function(window, _)
local overrides = window:get_config_overrides() or {}
if overrides.enable_tab_bar == false then
wezterm.log_info("tab bar shown")
overrides.enable_tab_bar = true
else
wezterm.log_info("tab bar hidden")
overrides.enable_tab_bar = false
end
window:set_config_overrides(overrides)
end)
-- Keybindings
config.keys = {
{ mods = "OPT", key = "LeftArrow", action = act.SendString("\x1bb") }, -- Jump back one word
{ mods = "OPT", key = "RightArrow", action = act.SendString("\x1bf") }, -- Jump forward one word
{ mods = "CMD", key = "LeftArrow", action = act.SendString("\x01") }, -- Move to start of line
{ mods = "CMD", key = "RightArrow", action = act.SendString("\x05") }, -- Move to end of line
{ mods = "OPT", key = "Backspace", action = act.SendString("\x1b\x7f") }, -- Delete previous word
{ mods = "CMD", key = "Backspace", action = act.SendString("\x15") }, -- Delete previous line
{ mods = "OPT", key = "Delete", action = act.SendString("\x1bd") }, -- Delete next word
{ mods = "CMD", key = "Delete", action = act.SendString("\x0b") }, -- Delete next line
{ mods = "CMD", key = "n", action = act.SpawnWindow }, -- New window
{ mods = "CMD", key = "t", action = act.SpawnCommandInNewTab({ cwd = wezterm.home_dir }) }, -- New tab
{ mods = "SUPER|SHIFT", key = "LeftArrow", action = act({ MoveTabRelative = -1 }) }, -- Move tab left
{ mods = "SUPER|SHIFT", key = "RightArrow", action = act({ MoveTabRelative = 1 }) }, -- Move tab right
{ mods = "SUPER|SHIFT", key = "b", action = act.EmitEvent("toggle-tabbar") },
{ mods = "SUPER|SHIFT", key = "o", action = wezterm.action.ShowTabNavigator },
{
mods = "SUPER|SHIFT",
key = "r",
action = wezterm.action.PromptInputLine({
description = "Enter new tab title",
action = wezterm.action_callback(function(window, pane, line)
if line then
window:active_tab():set_title(line)
end
end),
}),
},
}
return config