Compare commits

..

5 Commits

Author SHA1 Message Date
b03cdf34ae Merge branch 'main' of ssh://git.zacke.dev:222/wholteza/dotfiles 2026-05-14 11:53:20 +02:00
ba813ef462 Wezterm conf 2026-05-14 11:53:15 +02:00
0b50ddcf3c add wezterm 2026-05-14 11:52:51 +02:00
a098b5d2ed Merge branch 'main' of ssh://git.zacke.dev:222/wholteza/dotfiles 2026-05-14 11:50:49 +02:00
7bc3cfbfd6 laptop 2026-05-14 11:50:25 +02:00
8 changed files with 257 additions and 164 deletions

View File

@@ -117,9 +117,9 @@ fi
## Modified by me
### Start tmux if not already in a session
if [[ -z "$TMUX" ]]; then
tmux attach || tmux new
fi
# if [[ -z "$TMUX" ]]; then
# tmux attach || tmux new
# fi
### GPG and SSH agent configurations for yubikey
# This is now disabled since i use bw
#export GPG_TTY="$(tty)"

View File

@@ -2,7 +2,9 @@
vim.o.number = true -- Show line numbers
vim.o.wrap = true -- Soft-wrap lines
vim.o.tabstop = 2 -- 2 space tab width
vim.o.tabstop = 2 -- Same as above
vim.o.shiftwidth = 2 -- 2 space tab width
vim.o.expandtab = true -- 2 space tab width
vim.o.swapfile = false -- Disable swap files (annoying)
vim.o.undofile = true -- Enable undo between sessions
vim.o.mouse = 'a' -- Enable mouse support

View File

@@ -1,92 +1,45 @@
{
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
"palette": {
"base": "#1E1E2E",
"blue": "#89B4FA",
"crust": "#11111B",
"docker": "p:sky",
"false": "p:red",
"flamingo": "#F2CDCD",
"git": "p:lavender",
"go": "p:mauve",
"green": "#A6E3A1",
"haskell": "p:mauve",
"julia": "p:mauve",
"lavender": "#B4BEFE",
"lua": "p:mauve",
"mantle": "#181825",
"maroon": "#EBA0AC",
"mauve": "#CBA6F7",
"os-bg": "p:overlay1",
"os-fg": "p:base",
"overlay0": "#6C7086",
"overlay1": "#7F849C",
"overlay2": "#9399B2",
"path": "p:yellow",
"peach": "#FAB387",
"pink": "#F5C2E7",
"python": "p:mauve",
"red": "#F38BA8",
"root-bg": "p:yellow",
"root-fg": "p:base",
"rosewater": "#F5E0DC",
"rust": "p:mauve",
"sapphire": "#74C7EC",
"sky": "#89DCEB",
"subtext0": "#A6ADC8",
"subtext1": "#BAC2DE",
"surface0": "#313244",
"surface1": "#45475A",
"surface2": "#585B70",
"teal": "#94E2D5",
"text": "#CDD6F4",
"time": "p:overlay1",
"true": "p:green",
"yellow": "#F9E2AF"
"os": "#ACB0BE",
"closer": "p:os",
"pink": "#F4B8E4",
"lavender": "#BABBF1",
"blue": "#8CAAEE"
},
"transient_prompt": {
"template": "{{ now | date \"15:04:05\" }} {{ if gt .Code 0 }}<p:false></>{{ else }}<p:true></>{{ end }} ",
"foreground": "p:time"
},
"console_title_template": "{{ .Shell }} in {{ .PWD }}",
"blocks": [
{
"type": "prompt",
"alignment": "left",
"segments": [
{
"properties": {
"cache_duration": "none",
"windows": "\ue70f"
},
"trailing_diamond": "\ue0b0",
"foreground": "p:os",
"style": "plain",
"template": "{{.Icon}} ",
"foreground": "p:os-fg",
"background": "p:os-bg",
"type": "os",
"style": "diamond",
"foreground_templates": ["{{ if .Root }}p:root-fg{{ end }}"],
"background_templates": ["{{ if .Root }}p:root-bg{{ end }}"]
"type": "os"
},
{
"foreground": "p:blue",
"style": "plain",
"template": "{{ .UserName }} ",
"type": "session"
},
{
"foreground": "p:pink",
"properties": {
"cache_duration": "none",
"folder_icon": "..",
"folder_icon": "..\ue5fe..",
"home_icon": "~",
"style": "agnoster_short"
},
"style": "plain",
"template": "{{ .Path }} ",
"foreground": "p:path",
"type": "path",
"style": "plain"
"type": "path"
},
{
"foreground": "p:lavender",
"properties": {
"branch_icon": "\ue725 ",
"cache_duration": "none",
"cherry_pick_icon": "\ue29b ",
"commit_icon": "\uf417 ",
"fetch_stash_count": false,
"fetch_status": false,
"fetch_upstream_icon": false,
"merge_icon": "\ue727 ",
@@ -96,109 +49,39 @@
"tag_icon": "\uf412 "
},
"template": "{{ .HEAD }} ",
"foreground": "p:git",
"type": "git",
"style": "plain"
},
{
"properties": {
"cache_duration": "none"
},
"template": "\uf308 {{ .Context }} ",
"foreground": "p:docker",
"type": "docker",
"style": "plain"
},
{
"properties": {
"cache_duration": "none"
},
"template": "\ue627 {{ if not .Error }}{{ .Full }}{{ end }} ",
"foreground": "p:go",
"type": "go",
"style": "plain"
},
{
"properties": {
"cache_duration": "none"
},
"template": "\ue61f {{ if not .Error }}{{ .Full }}{{ end }} ",
"foreground": "p:haskell",
"type": "haskell",
"style": "plain"
},
{
"properties": {
"cache_duration": "none"
},
"template": "\ue624 {{ if not .Error }}{{ .Full }}{{ end }} ",
"foreground": "p:julia",
"type": "julia",
"style": "plain"
},
{
"properties": {
"cache_duration": "none"
},
"template": "\ue620 {{ if not .Error }}{{ .Full }}{{ end }} ",
"foreground": "p:lua",
"type": "lua",
"style": "plain"
},
{
"properties": {
"cache_duration": "none",
"display_default": false,
"display_mode": "context"
},
"template": "\ue73c {{ if not .Error }}{{ if .Venv }}venv/{{ end }}{{ .Full }}{{ end }} ",
"foreground": "p:python",
"type": "python",
"style": "plain"
},
{
"properties": {
"cache_duration": "none"
},
"template": "\ue7a8 {{ if not .Error }}{{ .Full }}{{ end }} ",
"foreground": "p:rust",
"type": "rust",
"style": "plain"
},
{
"properties": {
"cache_duration": "none",
"style": "austin",
"threshold": 500
},
"template": "\udb81\udd1f {{ .FormattedMs }} ",
"foreground": "p:true",
"type": "executiontime",
"style": "plain",
"foreground_templates": ["{{ if .Code }}p:false{{ end }}"]
"type": "git"
},
{
"background": "#FFDE57",
"foreground": "#111111",
"powerline_symbol": "\ue0b0",
"properties": {
"display_mode": "environment",
"fetch_virtual_env": true,
"home_enabled": true
},
"style": "plain",
"template": " \ue235 {{ if .Venv }}({{ .Venv }}){{ end }} ",
"type": "python"
}
],
"newline": true
"type": "prompt"
},
{
"type": "prompt",
"alignment": "left",
"segments": [
{
"properties": {
"always_enabled": true,
"cache_duration": "none"
},
"template": " ",
"foreground": "p:true",
"type": "status",
"style": "plain",
"foreground_templates": ["{{ if gt .Code 0 }}p:false{{ end }}"]
"foreground": "p:closer",
"template": "\uf105",
"type": "text"
}
],
"type": "prompt",
"newline": true
}
],
"version": 3,
"shell_integration": true
"final_space": true,
"version": 3
}

View File

@@ -13,3 +13,4 @@ exec swayidle -w \
## Start XDG autostart .desktop files using dex. See also
### https://wiki.archlinux.org/index.php/XDG_Autostart
exec --no-startup-id dex --autostart --environment i3
exec --no-startup-id tailscale systray

View File

@@ -3,7 +3,8 @@
floating_modifier $mod
## Start a terminal
bindsym $mod+Return exec alacritty --config-file /home/wholteza/.config/alacritty/alacritty.toml
# bindsym $mod+Return exec alacritty --config-file /home/wholteza/.config/alacritty/alacritty.toml
bindsym $mod+Return exec wezterm
## Kill focused window
bindsym $mod+Shift+q kill

View File

@@ -13,6 +13,7 @@ for_window [title="Bitwarden"] resize set width 500 px height 700 px
for_window [title="Extension.*"] floating enable
for_window [title="Extension.*"] resize set width 500 px height 700 px
for_window [title="Alacritty"] border none
for_window [app_id="org.wezfurlong.wezterm"] border none
for_window [title=".*Mozilla Firefox"] border none
for_window [title=".*LibreWolf"] border none
for_window [title="Bolt Launcher"] floating enable

View File

@@ -38,7 +38,8 @@ fi
yay -S --noconfirm \
fnm \
oh-my-posh
oh-my-posh \
wezterm
export PATH=/home/$USER/.fnm:$PATH
eval "$(fnm env --use-on-cd --version-file-strategy=recursive)"

204
.wezterm.lua Normal file
View File

@@ -0,0 +1,204 @@
local wezterm = require("wezterm")
local act = wezterm.action
return {
check_for_updates = true,
term = "xterm-256color",
use_ime = true,
----------------
-- Appearance --
----------------
window_background_opacity = 1,
color_scheme = "Catppuccin Mocha",
window_padding = {
left = 0,
right = 0,
top = 0,
bottom = 0,
},
inactive_pane_hsb = {
saturation = 1,
brightness = 1,
},
initial_rows = 50,
initial_cols = 140,
use_fancy_tab_bar = false,
hide_tab_bar_if_only_one_tab = true,
tab_bar_at_bottom = true,
-- How many lines of scrollback you want to retain per tab
scrollback_lines = 3500,
enable_scroll_bar = true,
-----------
-- Fonts --
----------
--disable_default_key_bindings = true,
--line_height = 1,
--font = wezterm.font("FiraCode Nerd Font", { weight = "Bold", italic = false }),
--https://github.com/ryanoasis/nerd-fonts/releases/download/v3.4.0/JetBrainsMono.zip
font = wezterm.font("JetBrainsMono Nerd Font", { weight = "Bold", italic = false }),
font_size = 18.0,
-----------
-- Keys --
-----------
-- Rather than emitting fancy composed characters when alt is pressed, treat the
-- input more like old school ascii with ALT held down
send_composed_key_when_left_alt_is_pressed = false,
send_composed_key_when_right_alt_is_pressed = false,
-- change here to key="b", mods="CMD" for ^+b equivalent in tmux.
leader = { key = "b", mods = "CTRL", timeout_milliseconds = 1000 },
keys = {
{
key = " ",
mods = "CTRL",
action = act.SendKey({
key = " ",
mods = "CTRL",
}),
},
{ key = "LeftArrow", mods = "OPT", action = act.SendString("\x1bb") },
{ key = "RightArrow", mods = "OPT", action = act.SendString("\x1bf") },
-- The physical CMD key on OSX is the Alt key on Win/*nix, so map the common Alt-combo commands.
{ key = ".", mods = "CMD", action = act.SendString("\x1b.") },
{ key = "p", mods = "CMD", action = act.SendString("\x1bp") },
{ key = "n", mods = "CMD", action = act.SendString("\x1bn") },
{ key = "b", mods = "CMD", action = act.SendString("\x1bb") },
{ key = "f", mods = "CMD", action = act.SendString("\x1bf") },
-- Window management
{ key = "a", mods = "LEADER", action = act({ SendString = "`" }) },
{ key = "h", mods = "LEADER", action = act({ SplitVertical = { domain = "CurrentPaneDomain" } }) },
{ key = "s", mods = "LEADER", action = act.SplitHorizontal({ domain = "CurrentPaneDomain" }) },
{ key = "z", mods = "LEADER", action = "TogglePaneZoomState" },
{ key = "c", mods = "LEADER", action = act({ SpawnTab = "CurrentPaneDomain" }) },
{ key = "LeftArrow", mods = "LEADER", action = act.ActivatePaneDirection("Left") },
{ key = "DownArrow", mods = "LEADER", action = act.ActivatePaneDirection("Down") },
{ key = "UpArrow", mods = "LEADER", action = act.ActivatePaneDirection("Up") },
{ key = "RightArrow", mods = "LEADER", action = act.ActivatePaneDirection("Right") },
{ key = "H", mods = "LEADER", action = act({ AdjustPaneSize = { "Left", 5 } }) },
{ key = "J", mods = "LEADER", action = act({ AdjustPaneSize = { "Down", 5 } }) },
{ key = "K", mods = "LEADER", action = act({ AdjustPaneSize = { "Up", 5 } }) },
{ key = "L", mods = "LEADER", action = act({ AdjustPaneSize = { "Right", 5 } }) },
{ key = "`", mods = "LEADER", action = act.ActivateLastTab },
{ key = " ", mods = "LEADER", action = act.ActivateTabRelative(1) },
{ key = "1", mods = "LEADER", action = act({ ActivateTab = 0 }) },
{ key = "2", mods = "LEADER", action = act({ ActivateTab = 1 }) },
{ key = "3", mods = "LEADER", action = act({ ActivateTab = 2 }) },
{ key = "4", mods = "LEADER", action = act({ ActivateTab = 3 }) },
{ key = "5", mods = "LEADER", action = act({ ActivateTab = 4 }) },
{ key = "6", mods = "LEADER", action = act({ ActivateTab = 5 }) },
{ key = "7", mods = "LEADER", action = act({ ActivateTab = 6 }) },
{ key = "8", mods = "LEADER", action = act({ ActivateTab = 7 }) },
{ key = "9", mods = "LEADER", action = act({ ActivateTab = 8 }) },
{ key = "x", mods = "LEADER", action = act({ CloseCurrentPane = { confirm = true } }) },
-- Activate Copy Mode
{ key = "[", mods = "LEADER", action = act.ActivateCopyMode },
-- Paste from Copy Mode
{ key = "]", mods = "LEADER", action = act.PasteFrom("PrimarySelection") },
},
key_tables = {
-- added new shortcuts to the end
copy_mode = {
{ key = "c", mods = "CTRL", action = act.CopyMode("Close") },
{ key = "g", mods = "CTRL", action = act.CopyMode("Close") },
{ key = "q", mods = "NONE", action = act.CopyMode("Close") },
{ key = "Escape", mods = "NONE", action = act.CopyMode("Close") },
{ key = "h", mods = "NONE", action = act.CopyMode("MoveLeft") },
{ key = "j", mods = "NONE", action = act.CopyMode("MoveDown") },
{ key = "k", mods = "NONE", action = act.CopyMode("MoveUp") },
{ key = "l", mods = "NONE", action = act.CopyMode("MoveRight") },
{ key = "LeftArrow", mods = "NONE", action = act.CopyMode("MoveLeft") },
{ key = "DownArrow", mods = "NONE", action = act.CopyMode("MoveDown") },
{ key = "UpArrow", mods = "NONE", action = act.CopyMode("MoveUp") },
{ key = "RightArrow", mods = "NONE", action = act.CopyMode("MoveRight") },
{ key = "RightArrow", mods = "ALT", action = act.CopyMode("MoveForwardWord") },
{ key = "f", mods = "ALT", action = act.CopyMode("MoveForwardWord") },
{ key = "Tab", mods = "NONE", action = act.CopyMode("MoveForwardWord") },
{ key = "w", mods = "NONE", action = act.CopyMode("MoveForwardWord") },
{ key = "LeftArrow", mods = "ALT", action = act.CopyMode("MoveBackwardWord") },
{ key = "b", mods = "ALT", action = act.CopyMode("MoveBackwardWord") },
{ key = "Tab", mods = "SHIFT", action = act.CopyMode("MoveBackwardWord") },
{ key = "b", mods = "NONE", action = act.CopyMode("MoveBackwardWord") },
{ key = "0", mods = "NONE", action = act.CopyMode("MoveToStartOfLine") },
{ key = "Enter", mods = "NONE", action = act.CopyMode("MoveToStartOfNextLine") },
{ key = "$", mods = "NONE", action = act.CopyMode("MoveToEndOfLineContent") },
{ key = "$", mods = "SHIFT", action = act.CopyMode("MoveToEndOfLineContent") },
{ key = "^", mods = "NONE", action = act.CopyMode("MoveToStartOfLineContent") },
{ key = "^", mods = "SHIFT", action = act.CopyMode("MoveToStartOfLineContent") },
{ key = "m", mods = "ALT", action = act.CopyMode("MoveToStartOfLineContent") },
{ key = " ", mods = "NONE", action = act.CopyMode({ SetSelectionMode = "Cell" }) },
{ key = "v", mods = "NONE", action = act.CopyMode({ SetSelectionMode = "Cell" }) },
{ key = "V", mods = "NONE", action = act.CopyMode({ SetSelectionMode = "Line" }) },
{ key = "V", mods = "SHIFT", action = act.CopyMode({ SetSelectionMode = "Line" }) },
{ key = "v", mods = "CTRL", action = act.CopyMode({ SetSelectionMode = "Block" }) },
{ key = "G", mods = "NONE", action = act.CopyMode("MoveToScrollbackBottom") },
{ key = "G", mods = "SHIFT", action = act.CopyMode("MoveToScrollbackBottom") },
{ key = "g", mods = "NONE", action = act.CopyMode("MoveToScrollbackTop") },
{ key = "H", mods = "NONE", action = act.CopyMode("MoveToViewportTop") },
{ key = "H", mods = "SHIFT", action = act.CopyMode("MoveToViewportTop") },
{ key = "M", mods = "NONE", action = act.CopyMode("MoveToViewportMiddle") },
{ key = "M", mods = "SHIFT", action = act.CopyMode("MoveToViewportMiddle") },
{ key = "L", mods = "NONE", action = act.CopyMode("MoveToViewportBottom") },
{ key = "L", mods = "SHIFT", action = act.CopyMode("MoveToViewportBottom") },
{ key = "o", mods = "NONE", action = act.CopyMode("MoveToSelectionOtherEnd") },
{ key = "O", mods = "NONE", action = act.CopyMode("MoveToSelectionOtherEndHoriz") },
{ key = "O", mods = "SHIFT", action = act.CopyMode("MoveToSelectionOtherEndHoriz") },
{ key = "PageUp", mods = "NONE", action = act.CopyMode("PageUp") },
{ key = "PageDown", mods = "NONE", action = act.CopyMode("PageDown") },
{ key = "b", mods = "CTRL", action = act.CopyMode("PageUp") },
{ key = "f", mods = "CTRL", action = act.CopyMode("PageDown") },
-- Enter y to copy and quit the copy mode.
{
key = "y",
mods = "NONE",
action = act.Multiple({
act.CopyTo("ClipboardAndPrimarySelection"),
act.CopyMode("Close"),
}),
},
-- Enter search mode to edit the pattern.
-- When the search pattern is an empty string the existing pattern is preserved
{ key = "/", mods = "NONE", action = act({ Search = { CaseSensitiveString = "" } }) },
{ key = "?", mods = "NONE", action = act({ Search = { CaseInSensitiveString = "" } }) },
{ key = "n", mods = "CTRL", action = act({ CopyMode = "NextMatch" }) },
{ key = "p", mods = "CTRL", action = act({ CopyMode = "PriorMatch" }) },
},
search_mode = {
{ key = "Escape", mods = "NONE", action = act({ CopyMode = "Close" }) },
-- Go back to copy mode when pressing enter, so that we can use unmodified keys like "n"
-- to navigate search results without conflicting with typing into the search area.
{ key = "Enter", mods = "NONE", action = "ActivateCopyMode" },
{ key = "c", mods = "CTRL", action = "ActivateCopyMode" },
{ key = "n", mods = "CTRL", action = act({ CopyMode = "NextMatch" }) },
{ key = "p", mods = "CTRL", action = act({ CopyMode = "PriorMatch" }) },
{ key = "r", mods = "CTRL", action = act.CopyMode("CycleMatchType") },
{ key = "u", mods = "CTRL", action = act.CopyMode("ClearPattern") },
},
},
}