Dotfiles V.1.1.5

Updated Neovim Plugins as well as cleaned up aerospace config and
sketbar config and added fastfetch config
This commit is contained in:
2025-06-11 22:16:38 +02:00
parent 1f4666f417
commit af9d88c05f
100 changed files with 2045 additions and 3328 deletions

View File

@@ -0,0 +1,39 @@
-- Pull in the wezterm API
local wezterm = require("wezterm")
-- require plugin
local sessionizer = wezterm.plugin.require("https://github.com/mikkasendke/sessionizer.wezterm")
-- initialize module vairable
local module = {}
local my_schema = {
"default",
" EDU",
wezterm.home_dir .. "/Nextcloud/Vault/edu/ETH/fs25/nus_II",
wezterm.home_dir .. "/Nextcloud/Vault/edu/ETH/fs25/physik_I",
wezterm.home_dir .. "/Nextcloud/Vault/edu/ETH/fs25/analysis_II",
wezterm.home_dir .. "/Nextcloud/Vault/edu/ETH/fs25/informatik_I",
wezterm.home_dir .. "/Nextcloud/Vault/edu/ETH/fs25/grundzuege_recht",
wezterm.home_dir .. "/Nextcloud/Vault/edu/ETH/fs25/mathematische_methoden",
wezterm.home_dir .. "/Informatik_ETH/SS25/Informatik",
"󱂒 Makerspace",
wezterm.home_dir .. "/kicad",
wezterm.home_dir .. "/Nextcloud/Vault/maker_space",
" DEV",
sessionizer.FdSearch({ fd_path = "/opt/homebrew/bin/fd", wezterm.home_dir .. "/Projects" }),
}
-- key map
module.keys = {
{
key = "s",
mods = "LEADER",
action = sessionizer.show(my_schema),
},
}
return module

View File

@@ -0,0 +1,57 @@
local wezterm = require("wezterm")
-- if you are *NOT* lazy-loading smart-splits.nvim (recommended)
local function is_vim(pane)
-- this is set by the plugin, and unset on ExitPre in Neovim
return pane:get_user_vars().IS_NVIM == "true"
end
-- if you *ARE* lazy-loading smart-splits.nvim (not recommended)
-- you have to use this instead, but note that this will not work
-- in all cases (e.g. over an SSH connection). Also note that
-- `pane:get_foreground_process_name()` can have high and highly variable
-- latency, so the other implementation of `is_vim()` will be more
-- performant as well.
local direction_keys = {
h = "Left",
j = "Down",
k = "Up",
l = "Right",
}
local function split_nav(resize_or_move, key)
return {
key = key,
mods = resize_or_move == "resize" and "CTRL|SHIFT" or "CTRL",
action = wezterm.action_callback(function(win, pane)
if is_vim(pane) then
-- pass the keys through to vim/nvim
win:perform_action({
SendKey = { key = key, mods = resize_or_move == "resize" and "CTRL|SHIFT" or "CTRL" },
}, pane)
else
if resize_or_move == "resize" then
win:perform_action({ AdjustPaneSize = { direction_keys[key], 3 } }, pane)
else
win:perform_action({ ActivatePaneDirection = direction_keys[key] }, pane)
end
end
end),
}
end
return {
keys = {
-- move between split panes
split_nav("move", "h"),
split_nav("move", "j"),
split_nav("move", "k"),
split_nav("move", "l"),
-- resize panes
split_nav("resize", "h"),
split_nav("resize", "j"),
split_nav("resize", "k"),
split_nav("resize", "l"),
},
}

View File

@@ -0,0 +1,50 @@
-- Pull in the wezterm API
local wezterm = require("wezterm")
-- require plugin
local tabline = wezterm.plugin.require("https://github.com/michaelbrusegard/tabline.wez")
-- initialize module variable
local module = {}
-- initialize setup function
function module.apply_to_config(config)
tabline.setup({
options = {
theme = "Catppuccin Macchiato",
section_separators = {
left = wezterm.nerdfonts.ple_right_half_circle_thick,
right = wezterm.nerdfonts.ple_left_half_circle_thick,
},
component_separators = {
left = wezterm.nerdfonts.ple_left_half_circle_thin,
right = wezterm.nerdfonts.ple_left_half_circle_thin,
},
tab_separators = {
left = wezterm.nerdfonts.ple_right_half_circle_thick,
right = wezterm.nerdfonts.ple_left_half_circle_thick,
},
},
sections = {
tab_active = {
"index",
":",
"tab",
},
tab_inactive = {
"index",
":",
"tab",
},
tabline_x = {},
tabline_y = {},
tabline_z = { "datetime" },
},
})
end
return module