All dotfiles now
This commit is contained in:
1
.oh-my-zsh
Submodule
1
.oh-my-zsh
Submodule
Submodule .oh-my-zsh added at 242e2faa51
240
.wezterm.lua
Normal file
240
.wezterm.lua
Normal file
@@ -0,0 +1,240 @@
|
|||||||
|
-- ~/.config/wezterm/wezterm.lua
|
||||||
|
local wezterm = require 'wezterm'
|
||||||
|
local act = wezterm.action
|
||||||
|
|
||||||
|
-- Create a config object
|
||||||
|
local config = wezterm.config_builder()
|
||||||
|
|
||||||
|
-- local statusbar = wezterm.plugin.require 'https://github.com/Townk/statusbar.wezterm'
|
||||||
|
|
||||||
|
-- ╭──────────────────────────────────────────────────────────╮
|
||||||
|
-- │ Shell Configuration │
|
||||||
|
-- ╰──────────────────────────────────────────────────────────╯
|
||||||
|
config.default_prog = { '/bin/zsh' }
|
||||||
|
|
||||||
|
-- ╭──────────────────────────────────────────────────────────╮
|
||||||
|
-- │ Appearance │
|
||||||
|
-- ╰──────────────────────────────────────────────────────────╯
|
||||||
|
-- Font configuration
|
||||||
|
config.font = wezterm.font_with_fallback({
|
||||||
|
{ family = 'FiraCode Nerd Font', weight = 'Regular' },
|
||||||
|
{ family = 'JetBrains Mono', weight = 'Regular' },
|
||||||
|
{ family = 'Symbols Nerd Font Mono', scale = 0.85 },
|
||||||
|
})
|
||||||
|
config.font_size = 10.0
|
||||||
|
config.harfbuzz_features = { "calt", "clig", "liga", "kern", "dlig" }
|
||||||
|
config.warn_about_missing_glyphs = false
|
||||||
|
|
||||||
|
-- Base Color scheme
|
||||||
|
config.color_scheme = 'Dracula' -- Base scheme, specific colors below will override where needed
|
||||||
|
|
||||||
|
-- Window Appearance
|
||||||
|
config.window_background_opacity = 0.7
|
||||||
|
config.window_decorations = "INTEGRATED_BUTTONS|RESIZE"
|
||||||
|
config.window_padding = {
|
||||||
|
left = '1cell',
|
||||||
|
right = '1cell',
|
||||||
|
top = '0.5cell',
|
||||||
|
bottom = '0.5cell',
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Cursor appearance
|
||||||
|
config.default_cursor_style = "SteadyBlock"
|
||||||
|
config.cursor_blink_rate = 0 -- Steady cursor (no blinking)
|
||||||
|
|
||||||
|
-- Inactive Pane Dimming
|
||||||
|
config.inactive_pane_hsb = {
|
||||||
|
saturation = 0.9,
|
||||||
|
brightness = 0.8,
|
||||||
|
}
|
||||||
|
|
||||||
|
-- ╭──────────────────────────────────────────────────────────╮
|
||||||
|
-- │ Tab Bar Styling │
|
||||||
|
-- ╰──────────────────────────────────────────────────────────╯
|
||||||
|
config.hide_tab_bar_if_only_one_tab = false
|
||||||
|
config.tab_bar_at_bottom = false
|
||||||
|
config.use_fancy_tab_bar = true -- Keep this false for custom styling below
|
||||||
|
config.show_tab_index_in_tab_bar = true
|
||||||
|
config.tab_max_width = 25
|
||||||
|
|
||||||
|
-- Detailed Color Overrides for UI Elements (including Tab Bar)
|
||||||
|
config.colors = {
|
||||||
|
-- Base Dracula colors (can be inherited from the scheme, but explicit is fine)
|
||||||
|
foreground = "#f8f8f2", -- WHITE
|
||||||
|
background = "#000000", -- SCHWARZ
|
||||||
|
cursor_bg = "#ec5353",
|
||||||
|
cursor_fg = "#282a36",
|
||||||
|
cursor_border = "#f8f8f2",
|
||||||
|
selection_bg = "#44475a",
|
||||||
|
selection_fg = "#f8f8f2",
|
||||||
|
-- ANSI Colors (ensure they match Dracula if needed)
|
||||||
|
ansi = {
|
||||||
|
'#000000', '#ff5555', '#50fa7b', '#f1fa8c',
|
||||||
|
'#bd93f9', '#ff79c6', '#8be9fd', '#bfbfbf',
|
||||||
|
},
|
||||||
|
brights = {
|
||||||
|
'#4d4d4d', '#ff6e6e', '#69ff94', '#ffffa5',
|
||||||
|
'#d6acff', '#ff92df', '#a4ffff', '#ffffff',
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Tab Bar Colors
|
||||||
|
tab_bar = {
|
||||||
|
background = "#000000", -- Slightly darker background for the bar itself
|
||||||
|
active_tab = {
|
||||||
|
bg_color = "#00a6e9", -- Blau
|
||||||
|
fg_color = "#282a36", -- Dark background for text
|
||||||
|
intensity = "Bold", -- Make active tab text bold
|
||||||
|
underline = "None",
|
||||||
|
italic = false,
|
||||||
|
strikethrough = false,
|
||||||
|
},
|
||||||
|
inactive_tab = {
|
||||||
|
bg_color = "#44475a", -- Dracula selection color (muted)
|
||||||
|
fg_color = "#f8f8f2", -- Standard foreground
|
||||||
|
},
|
||||||
|
inactive_tab_hover = {
|
||||||
|
bg_color = "#6272a4", -- Dracula comment color (brighter on hover)
|
||||||
|
fg_color = "#f8f8f2",
|
||||||
|
italic = true, -- Italicize on hover
|
||||||
|
},
|
||||||
|
new_tab = {
|
||||||
|
bg_color = "#282a36", -- Standard background
|
||||||
|
fg_color = "#f8f8f2", -- Standard foreground
|
||||||
|
},
|
||||||
|
new_tab_hover = {
|
||||||
|
bg_color = "#ff79c6", -- Dracula pink
|
||||||
|
fg_color = "#282a36", -- Dark text
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Optional: Subtle pane borders using Dracula comment color
|
||||||
|
split = "#6272a4",
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Window Frame / Title Bar Styling (Subtle adjustments)
|
||||||
|
config.window_frame = {
|
||||||
|
font = wezterm.font { family = 'FiraCode Nerd Font', weight = 'Bold' }, -- Use bold font for title/tabs
|
||||||
|
font_size = config.font_size, -- Match terminal font size
|
||||||
|
active_titlebar_bg = "#282a36", -- Keep consistent with background
|
||||||
|
inactive_titlebar_bg = "#21222c", -- Slightly darker when inactive
|
||||||
|
-- Border colors removed here, using 'split' color above for pane lines instead
|
||||||
|
}
|
||||||
|
|
||||||
|
-- ╭──────────────────────────────────────────────────────────╮
|
||||||
|
-- │ Scrollback & Performance │
|
||||||
|
-- ╰──────────────────────────────────────────────────────────╯
|
||||||
|
config.scrollback_lines = 10000
|
||||||
|
config.enable_scroll_bar = true -- Keep the scrollbar visible
|
||||||
|
config.term = "wezterm"
|
||||||
|
config.front_end = "WebGpu"
|
||||||
|
config.webgpu_power_preference = "HighPerformance"
|
||||||
|
config.animation_fps = 60
|
||||||
|
config.max_fps = 165
|
||||||
|
|
||||||
|
-- ╭──────────────────────────────────────────────────────────╮
|
||||||
|
-- │ Keybindings │
|
||||||
|
-- ╰──────────────────────────────────────────────────────────╯
|
||||||
|
config.leader = { key = "Space", mods = "CTRL" }
|
||||||
|
|
||||||
|
config.keys = {
|
||||||
|
-- { key = "m", mods = "LEADER", action = act.ShowMenu },
|
||||||
|
|
||||||
|
{ key = "t", mods = "LEADER", action = act.SpawnTab("CurrentPaneDomain") },
|
||||||
|
{ key = "w", mods = "LEADER", action = act.CloseCurrentTab({ confirm = true }) },
|
||||||
|
{ key = "Tab", mods = "LEADER", action = act.ActivateTabRelative(1) },
|
||||||
|
{ key = "Tab", mods = "LEADER|SHIFT", action = act.ActivateTabRelative(-1) },
|
||||||
|
|
||||||
|
{ key = "b", mods = "LEADER", action = act.SplitVertical({ domain = "CurrentPaneDomain" }) },
|
||||||
|
{ key = "h", mods = "LEADER", action = act.SplitHorizontal({ domain = "CurrentPaneDomain" }) },
|
||||||
|
|
||||||
|
{ key = "h", mods = "LEADER", action = act.ActivatePaneDirection("Left") },
|
||||||
|
{ key = "j", mods = "LEADER", action = act.ActivatePaneDirection("Down") },
|
||||||
|
{ key = "k", mods = "LEADER", action = act.ActivatePaneDirection("Up") },
|
||||||
|
{ key = "l", mods = "LEADER", action = act.ActivatePaneDirection("Right") },
|
||||||
|
|
||||||
|
|
||||||
|
{ key = "+", mods = "LEADER|SHIFT", action = act.IncreaseFontSize },
|
||||||
|
{ key = "-", mods = "LEADER|SHIFT", action = act.DecreaseFontSize },
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
key = ",",
|
||||||
|
mods = "LEADER",
|
||||||
|
action = act.SpawnCommandInNewTab {
|
||||||
|
args = { "xdg-open", wezterm.config_dir .. "/wezterm.lua" },
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
-- ╭──────────────────────────────────────────────────────────╮
|
||||||
|
-- │ Mouse Configuration (Disabled) │
|
||||||
|
-- ╰──────────────────────────────────────────────────────────╯
|
||||||
|
-- config.mouse_bindings = {} -- Explicitly empty or commented out
|
||||||
|
|
||||||
|
-- ╭──────────────────────────────────────────────────────────╮
|
||||||
|
-- │ Advanced Features & Event Handlers │
|
||||||
|
-- ╰──────────────────────────────────────────────────────────╯
|
||||||
|
|
||||||
|
-- Automatically reload configuration notification (Optional, uncomment if desired)
|
||||||
|
-- wezterm.on("window-config-reloaded", function(window, pane)
|
||||||
|
-- window:toast_notification("WezTerm", "Konfiguration neu geladen!", nil, 3000)
|
||||||
|
-- end)
|
||||||
|
|
||||||
|
-- Custom tab title formatting (Enhanced version)
|
||||||
|
wezterm.on("format-tab-title", function(tab, tabs, panes, config, hover, max_width)
|
||||||
|
local pane = tab.active_pane
|
||||||
|
local process_name = pane.foreground_process_name or ""
|
||||||
|
process_name = process_name:gsub(".*/", "") -- Extract basename
|
||||||
|
|
||||||
|
-- Shorten common shell names or identify key processes
|
||||||
|
local display_name = process_name:upper() -- Default to uppercase name
|
||||||
|
if process_name == "zsh" then
|
||||||
|
display_name = "ZSH"
|
||||||
|
elseif process_name == "bash" then
|
||||||
|
display_name = "BASH"
|
||||||
|
elseif process_name == "fish" then
|
||||||
|
display_name = "FISH"
|
||||||
|
elseif process_name == "nvim" or process_name == "vim" then
|
||||||
|
display_name = "NVIM" -- Or VIM
|
||||||
|
elseif process_name == "htop" then
|
||||||
|
display_name = "HTOP"
|
||||||
|
elseif process_name == "ssh" then
|
||||||
|
display_name = "SSH"
|
||||||
|
-- Add more specific names if needed
|
||||||
|
end
|
||||||
|
|
||||||
|
local index = ""
|
||||||
|
if config.show_tab_index_in_tab_bar then
|
||||||
|
index = tostring(tab.tab_index + 1) .. ":"
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Add indicator for active tab (using Nerd Font icons if available)
|
||||||
|
local prefix = " " -- Default space
|
||||||
|
if tab.is_active then
|
||||||
|
prefix = " " -- Example: Active dot icon
|
||||||
|
else
|
||||||
|
prefix = " " -- Example: Inactive dot icon (or just space " ")
|
||||||
|
end
|
||||||
|
|
||||||
|
local title = prefix .. index .. " " .. display_name .. " "
|
||||||
|
|
||||||
|
-- Truncate if necessary
|
||||||
|
local title_width = wezterm.nerdfonts.string_width(title) -- Use nerdfonts for accurate width
|
||||||
|
if max_width and title_width > max_width then
|
||||||
|
title = wezterm.truncate_right(title, max_width)
|
||||||
|
end
|
||||||
|
|
||||||
|
return title
|
||||||
|
end)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Remove the status bar related code entirely
|
||||||
|
-- config.status_update_interval = 1000 -- REMOVED
|
||||||
|
-- local function make_component(...) end -- REMOVED
|
||||||
|
-- local separator_fg = ... -- REMOVED
|
||||||
|
-- local separator_char = ... -- REMOVED
|
||||||
|
-- wezterm.on("update-status", function(window, pane) ... end) -- REMOVED
|
||||||
|
|
||||||
|
-- Apply the configuration
|
||||||
|
return config
|
||||||
105
.zshrc
Normal file
105
.zshrc
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
# If you come from bash you might have to change your $PATH.
|
||||||
|
# export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/bin:$PATH
|
||||||
|
|
||||||
|
# Path to your Oh My Zsh installation.
|
||||||
|
export ZSH="$HOME/.oh-my-zsh"
|
||||||
|
|
||||||
|
# Set name of the theme to load --- if set to "random", it will
|
||||||
|
# load a random theme each time Oh My Zsh is loaded, in which case,
|
||||||
|
# to know which specific one was loaded, run: echo $RANDOM_THEME
|
||||||
|
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
|
||||||
|
ZSH_THEME="passion"
|
||||||
|
|
||||||
|
# Set list of themes to pick from when loading at random
|
||||||
|
# Setting this variable when ZSH_THEME=random will cause zsh to load
|
||||||
|
# a theme from this variable instead of looking in $ZSH/themes/
|
||||||
|
# If set to an empty array, this variable will have no effect.
|
||||||
|
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
|
||||||
|
|
||||||
|
# Uncomment the following line to use case-sensitive completion.
|
||||||
|
# CASE_SENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to use hyphen-insensitive completion.
|
||||||
|
# Case-sensitive completion must be off. _ and - will be interchangeable.
|
||||||
|
# HYPHEN_INSENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment one of the following lines to change the auto-update behavior
|
||||||
|
# zstyle ':omz:update' mode disabled # disable automatic updates
|
||||||
|
# zstyle ':omz:update' mode auto # update automatically without asking
|
||||||
|
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
|
||||||
|
|
||||||
|
# Uncomment the following line to change how often to auto-update (in days).
|
||||||
|
# zstyle ':omz:update' frequency 13
|
||||||
|
|
||||||
|
# Uncomment the following line if pasting URLs and other text is messed up.
|
||||||
|
# DISABLE_MAGIC_FUNCTIONS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable colors in ls.
|
||||||
|
# DISABLE_LS_COLORS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable auto-setting terminal title.
|
||||||
|
# DISABLE_AUTO_TITLE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to enable command auto-correction.
|
||||||
|
ENABLE_CORRECTION="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to display red dots whilst waiting for completion.
|
||||||
|
# You can also set it to another string to have that shown instead of the default red dots.
|
||||||
|
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
|
||||||
|
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
|
||||||
|
# COMPLETION_WAITING_DOTS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to disable marking untracked files
|
||||||
|
# under VCS as dirty. This makes repository status check for large repositories
|
||||||
|
# much, much faster.
|
||||||
|
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to change the command execution time
|
||||||
|
# stamp shown in the history command output.
|
||||||
|
# You can set one of the optional three formats:
|
||||||
|
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
|
||||||
|
# or set a custom format using the strftime function format specifications,
|
||||||
|
# see 'man strftime' for details.
|
||||||
|
# HIST_STAMPS="mm/dd/yyyy"
|
||||||
|
|
||||||
|
# Would you like to use another custom folder than $ZSH/custom?
|
||||||
|
# ZSH_CUSTOM=/path/to/new-custom-folder
|
||||||
|
|
||||||
|
# Which plugins would you like to load?
|
||||||
|
# Standard plugins can be found in $ZSH/plugins/
|
||||||
|
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
|
||||||
|
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||||
|
# Add wisely, as too many plugins slow down shell startup.
|
||||||
|
plugins=(git)
|
||||||
|
|
||||||
|
source $ZSH/oh-my-zsh.sh
|
||||||
|
|
||||||
|
# User configuration
|
||||||
|
|
||||||
|
# export MANPATH="/usr/local/man:$MANPATH"
|
||||||
|
|
||||||
|
# You may need to manually set your language environment
|
||||||
|
# export LANG=en_US.UTF-8
|
||||||
|
|
||||||
|
# Preferred editor for local and remote sessions
|
||||||
|
# if [[ -n $SSH_CONNECTION ]]; then
|
||||||
|
# export EDITOR='vim'
|
||||||
|
# else
|
||||||
|
# export EDITOR='nvim'
|
||||||
|
# fi
|
||||||
|
|
||||||
|
# Compilation flags
|
||||||
|
# export ARCHFLAGS="-arch $(uname -m)"
|
||||||
|
|
||||||
|
# Set personal aliases, overriding those provided by Oh My Zsh libs,
|
||||||
|
# plugins, and themes. Aliases can be placed here, though Oh My Zsh
|
||||||
|
# users are encouraged to define aliases within a top-level file in
|
||||||
|
# the $ZSH_CUSTOM folder, with .zsh extension. Examples:
|
||||||
|
# - $ZSH_CUSTOM/aliases.zsh
|
||||||
|
# - $ZSH_CUSTOM/macos.zsh
|
||||||
|
# For a full list of active aliases, run `alias`.
|
||||||
|
#
|
||||||
|
# Example aliases
|
||||||
|
# alias zshconfig="mate ~/.zshrc"
|
||||||
|
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||||||
|
fastfetch
|
||||||
Reference in New Issue
Block a user