MAJOR: move to wezterm

remove tmux, git-flow, time-tracker and iterm and other unused stuff, fully move to wezterm without tmux

lots of fixes for zsh/history/fzf etc as well
main
Steffen Rademacker 8 months ago
parent b65c726cc4
commit 4565a06df6

@ -45,10 +45,6 @@
ps = push ps = push
pl = pull pl = pull
mg = merge mg = merge
ffs = flow feature start
fff = flow feature finish
ffp = flow feature publish
fi = flow init
rs = reset HEAD --hard rs = reset HEAD --hard
fame = shortlog -sn --all --no-merges fame = shortlog -sn --all --no-merges
l = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(blue)<%an>%Creset' --abbrev-commit l = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(blue)<%an>%Creset' --abbrev-commit

@ -46,7 +46,7 @@ local layoutDouble = {
{ "Signal", nil, mainMonitor, screenPositions.rightBottom, nil, nil }, { "Signal", nil, mainMonitor, screenPositions.rightBottom, nil, nil },
{ "Strongbox", nil, laptopMonitor, screenPositions.full, nil, nil }, { "Strongbox", nil, laptopMonitor, screenPositions.full, nil, nil },
{ "Telegram", nil, mainMonitor, screenPositions.rightTop, nil, nil }, { "Telegram", nil, mainMonitor, screenPositions.rightTop, nil, nil },
{ "iTerm2", nil, mainMonitor, screenPositions.right, nil, nil }, { "WezTerm", nil, mainMonitor, screenPositions.right, nil, nil },
} }
local layoutSingle = { local layoutSingle = {
@ -60,7 +60,7 @@ local layoutSingle = {
{ "Signal", nil, laptopMonitor, screenPositions.full, nil, nil }, { "Signal", nil, laptopMonitor, screenPositions.full, nil, nil },
{ "Strongbox", nil, laptopMonitor, screenPositions.full, nil, nil }, { "Strongbox", nil, laptopMonitor, screenPositions.full, nil, nil },
{ "Telegram", nil, laptopMonitor, screenPositions.full, nil, nil }, { "Telegram", nil, laptopMonitor, screenPositions.full, nil, nil },
{ "iTerm2", nil, laptopMonitor, screenPositions.full, nil, nil }, { "WezTerm", nil, laptopMonitor, screenPositions.full, nil, nil },
} }
local appNames = { local appNames = {
@ -74,7 +74,7 @@ local appNames = {
"Signal", "Signal",
"Strongbox", "Strongbox",
"Telegram", "Telegram",
"iTerm", "WezTerm",
} }
-- Local helper functions -- Local helper functions
@ -157,7 +157,7 @@ hotkey.bind(hyper, 'w', function()
end) end)
-- Direct app navigation -- Direct app navigation
hotkey.bind(hyper, 'a', function() app.launchOrFocus('iTerm') end) hotkey.bind(hyper, 'a', function() app.launchOrFocus('WezTerm') end)
hotkey.bind(hyper, 's', function() app.launchOrFocus('Firefox') end) hotkey.bind(hyper, 's', function() app.launchOrFocus('Firefox') end)
hotkey.bind(hyper, 'd', function() app.launchOrFocus('ForkLift') end) hotkey.bind(hyper, 'd', function() app.launchOrFocus('ForkLift') end)
hotkey.bind(hyper, 'g', function() launchApps() end) hotkey.bind(hyper, 'g', function() launchApps() end)

@ -25,22 +25,19 @@ export PATH=/usr/local/bin:/usr/local/sbin:$PATH
# basics # basics
brew install curl brew install curl
brew install git brew install git
brew install git-flow
brew install openssl brew install openssl
brew install zsh brew install zsh
# basic config symlinks # basic config symlinks
mkdir ~/.config mkdir ~/.config
cd ~/dotfiles cd ~/dotfiles
ln -s ~/dotfiles/wezterm.lua ~/.wezterm.lua
ln -s ~/dotfiles/gitconfig ~/.gitconfig ln -s ~/dotfiles/gitconfig ~/.gitconfig
ln -s ~/dotfiles/gitignore ~/.gitignore ln -s ~/dotfiles/gitignore ~/.gitignore
ln -s ~/dotfiles/zsh ~/.zsh ln -s ~/dotfiles/zsh ~/.zsh
ln -s ~/dotfiles/zsh/zshrc ~/.zshrc ln -s ~/dotfiles/zsh/zshrc ~/.zshrc
# set xterm/screen terminals to enable italic fonts in terminal # homebrew zsh as default
tic ~/dotfiles/other/xterm-256color.terminfo
# zsh as default
sudo vim /etc/shells sudo vim /etc/shells
chsh -s /opt/homebrew/bin/zsh chsh -s /opt/homebrew/bin/zsh
/usr/bin/env zsh /usr/bin/env zsh

@ -5,7 +5,6 @@ brew tap homebrew/services
# install additional brew packages -- see _install.sh too # install additional brew packages -- see _install.sh too
brew install bat brew install bat
brew install clipper
brew install fd brew install fd
brew install ffmpeg brew install ffmpeg
brew install fzf brew install fzf
@ -13,9 +12,7 @@ brew install jump
brew install lazygit brew install lazygit
brew install nnn brew install nnn
brew install ripgrep brew install ripgrep
brew install speedread
brew install spotifyd brew install spotifyd
brew install starship
brew install switchaudio-osx brew install switchaudio-osx
brew install topgrade brew install topgrade
brew install tree brew install tree
@ -34,15 +31,10 @@ ln -s ~/dotfiles/spotifyd.toml ~/.config/spotifyd/spotifyd.conf
npm install -g fkill-cli npm install -g fkill-cli
npm install -g trash-cli npm install -g trash-cli
pip install tiptop pip install tiptop
pip install tt-time-tracker
# install fzf # install fzf
/opt/homebrew/opt/fzf/install /opt/homebrew/opt/fzf/install
# clipper
mkdir -p ~/Library/LaunchAgents
brew services start clipper
# switchaudio + custom node-script # switchaudio + custom node-script
cd ~/dotfiles/other/out cd ~/dotfiles/other/out
npm install npm install

@ -1,16 +1,11 @@
#!/usr/bin/env zsh #!/usr/bin/env zsh
brew install neovim brew install neovim
brew install tmux
gem install neovim gem install neovim
pip install neovim pip install neovim
# link config files # link config files
ln -s ~/dotfiles/nvim ~/.config/nvim ln -s ~/dotfiles/nvim ~/.config/nvim
ln -s ~/dotfiles/tmux.conf ~/.tmux.conf
# vim and tmux plugin managers
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
# additional language-servers for nvim-lspconfig # additional language-servers for nvim-lspconfig
npm install -g eslint_d npm install -g eslint_d

@ -11,7 +11,6 @@ brew install --cask firefox
brew install --cask forklift brew install --cask forklift
brew install --cask google-chrome brew install --cask google-chrome
brew install --cask hammerspoon brew install --cask hammerspoon
brew install --cask iterm2
brew install --cask kap brew install --cask kap
brew install --cask karabiner-elements brew install --cask karabiner-elements
brew install --cask microsoft-teams brew install --cask microsoft-teams
@ -20,13 +19,13 @@ brew install --cask signal
brew install --cask syntax-highlight brew install --cask syntax-highlight
brew install --cask telegram brew install --cask telegram
brew install --cask vlc brew install --cask vlc
brew install --cask wezterm
# seldomly used software # seldomly used software
#brew install --cask paw #brew install --cask paw
#brew install --cask sequel-pro #brew install --cask sequel-pro
#brew install --cask sketch #brew install --cask sketch
#brew install --cask transmission #brew install --cask transmission
#brew install --cask vmware-fusion
# Quicklook-reset # Quicklook-reset
xattr -cr ~/Library/QuickLook xattr -cr ~/Library/QuickLook
@ -49,5 +48,4 @@ brew install --cask font-fira-code-nerd-font
# bill: https://billtheapp.com/ # bill: https://billtheapp.com/
# citrix: https://www.citrix.com/downloads/workspace-app/mac/workspace-app-for-mac-latest.html # citrix: https://www.citrix.com/downloads/workspace-app/mac/workspace-app-for-mac-latest.html
# app-store: # app-store: strongbox, xcode
# strongbox, hazeover, xcode

@ -23,11 +23,8 @@ map('n', 'N', 'Nzzzv')
map('n', 'j', 'gj') map('n', 'j', 'gj')
map('n', 'k', 'gk') map('n', 'k', 'gk')
-- sane yanking and copying to clipboard/alfred-history -- large yank in normal mode
map('n', 'Y', 'y$') map('n', 'Y', 'y$')
map('n', 'yy', 'yy <cmd>call system("nc localhost 8377", @0)<cr>')
map('v', 'y', 'y <cmd>call system("nc localhost 8377", @0)<cr>')
map('v', 'Y', 'y <cmd>call system("nc localhost 8377", @0)<cr>')
-- Swap v and CTRL-V, because Block mode is more useful -- Swap v and CTRL-V, because Block mode is more useful
map('n', 'v', '<C-V>') map('n', 'v', '<C-V>')
@ -42,14 +39,14 @@ map('i', '!', '!<c-g>u')
map('i', '?', '?<c-g>u') map('i', '?', '?<c-g>u')
-- bubbling of lines/selections with alt + hjkl -- bubbling of lines/selections with alt + hjkl
map('n', '˚', ':move .-2<cr>', { noremap = false }) map('n', '<M-k>', ':move .-2<cr>', { noremap = false })
map('n', '', ':move .+1<cr>', { noremap = false }) map('n', '<M-j>', ':move .+1<cr>', { noremap = false })
map('n', '˙', '<<', { noremap = false }) map('n', '<M-h>', '<<', { noremap = false })
map('n', '¬', '>>', { noremap = false }) map('n', '<M-l>', '>>', { noremap = false })
map('v', '˚', ":move '<-2<cr>gv", { noremap = false }) map('v', '<M-k>', ":move '<-2<cr>gv", { noremap = false })
map('v', '', ":move '>+1<cr>gv", { noremap = false }) map('v', '<M-j>', ":move '>+1<cr>gv", { noremap = false })
map('v', '˙', '<gv', { noremap = false }) map('v', '<M-h>', '<gv', { noremap = false })
map('v', '¬', '>gv', { noremap = false }) map('v', '<M-l>', '>gv', { noremap = false })
-- use the arrowkeys for usefull stuff in normal mode -- switching buffers -- use the arrowkeys for usefull stuff in normal mode -- switching buffers
map('n', '<up>', '<cmd>bfirst<cr>') map('n', '<up>', '<cmd>bfirst<cr>')
@ -101,3 +98,12 @@ map('n', '<F5>', '<cmd>checktime<cr><cmd>redraw!<cr>');
map('n', '<leader>ve', '<cmd>e $MYVIMRC<cr>') map('n', '<leader>ve', '<cmd>e $MYVIMRC<cr>')
map('n', '<leader>vr', '<cmd>source $MYVIMRC<cr>') map('n', '<leader>vr', '<cmd>source $MYVIMRC<cr>')
map('n', '<leader>w', '<cmd>set wrap! wrap?<cr>') map('n', '<leader>w', '<cmd>set wrap! wrap?<cr>')
-- Navigator.nvim
map('n', '<C-h>', '<cmd>NavigatorLeft<cr>')
map('n', '<C-j>', '<cmd>NavigatorDown<cr>')
map('n', '<C-k>', '<cmd>NavigatorUp<cr>')
map('n', '<C-l>', '<cmd>NavigatorRight<cr>')
-- FTerm.nvim
-- map('n', '-', '<cmd>lua require("FTerm").run("nnn")<cr>')

@ -8,7 +8,8 @@ g.loaded_perl_provider = 0
-- general options -- general options
set.breakindent = true set.breakindent = true
set.cmdheight = 2 set.clipboard = 'unnamedplus'
set.cmdheight = 1
set.completeopt= { 'menu', 'menuone', 'noselect' } set.completeopt= { 'menu', 'menuone', 'noselect' }
set.cpoptions:append('$') set.cpoptions:append('$')
set.cursorline = true set.cursorline = true
@ -49,8 +50,6 @@ set.wildmode = { 'list:longest', 'list:full' }
-- colorscheme and default language -- colorscheme and default language
set.background = 'dark' set.background = 'dark'
set.termguicolors = true set.termguicolors = true
-- g.gruvbox_baby_background_color = 'dark'
g.gruvbox_baby_telescope_theme = 1 g.gruvbox_baby_telescope_theme = 1
cmd 'colorscheme gruvbox-baby' cmd 'colorscheme gruvbox-baby'
cmd 'language en_US.UTF-8' cmd 'language en_US.UTF-8'

@ -6,10 +6,7 @@ end
-- ensure folke/lazy.nvim is being loaded -- ensure folke/lazy.nvim is being loaded
local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim' local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim'
if not vim.loop.fs_stat(lazypath) then if not vim.loop.fs_stat(lazypath) then
vim.fn.system({ vim.fn.system({ 'git', 'clone', '--filter=blob:none', 'https://github.com/folke/lazy.nvim.git', '--branch=stable', lazypath })
'git', 'clone', '--filter=blob:none',
'https://github.com/folke/lazy.nvim.git', '--branch=stable', lazypath,
})
end end
vim.opt.rtp:prepend(lazypath) vim.opt.rtp:prepend(lazypath)
@ -22,19 +19,22 @@ require('lazy').setup({
-- The colorscheme of choice -- The colorscheme of choice
{ 'luisiacc/gruvbox-baby', priority = 1000 }, { 'luisiacc/gruvbox-baby', priority = 1000 },
-- core pieces: telescope & fzf/terminal/tmux integration, -- modern neovim with treesitter, lsp, floaterm-integration (nnn, lazygit...)
-- completion-engine + snippets -- telescope and cmp as completion engine, vsnip-support
-- TODO replace null-ls with nvim-lint
{ 'voldikss/vim-floaterm', init = get_config('floaterm') }, { 'voldikss/vim-floaterm', init = get_config('floaterm') },
{ 'wincent/terminus' }, { 'nvim-treesitter/nvim-treesitter', init = get_config('treesitter'), build = ':TSUpdate' },
{ 'christoomey/vim-tmux-navigator'}, { 'neovim/nvim-lspconfig', init = get_config('lspconfig') },
{ 'jose-elias-alvarez/null-ls.nvim', init = get_config('null-ls'), dependencies = { 'nvim-lua/plenary.nvim' } },
{ {
'nvim-telescope/telescope.nvim', 'nvim-telescope/telescope.nvim',
tag = '0.1.2', tag = '0.1.3',
init = get_config('telescope'), init = get_config('telescope'),
dependencies = { 'nvim-lua/plenary.nvim' } dependencies = { 'nvim-lua/plenary.nvim' }
}, },
{ 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' }, { 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' },
{ 'hrsh7th/vim-vsnip', init = get_config('vsnip') }, { 'hrsh7th/vim-vsnip', init = get_config('vsnip') },
{ 'rafamadriz/friendly-snippets', dependencies = { 'hrsh7th/vim-vsnip' } },
{ {
'hrsh7th/nvim-cmp', 'hrsh7th/nvim-cmp',
init = get_config('cmp'), init = get_config('cmp'),
@ -48,29 +48,39 @@ require('lazy').setup({
'hrsh7th/cmp-vsnip', 'hrsh7th/cmp-vsnip',
}, },
}, },
{ 'rafamadriz/friendly-snippets', dependencies = { 'hrsh7th/vim-vsnip' } },
-- more modern neovim with treesitter, lsp, auto-setup and -- editing / moving enhancements
-- null-ls integration; see ../../install/3_vimux.sh
-- and null-ls-config for installed and supported tools (Eslint, TSC etc.)
{ 'nvim-treesitter/nvim-treesitter', init = get_config('treesitter'), build = ':TSUpdate' },
{ 'neovim/nvim-lspconfig', init = get_config('lspconfig') },
{ 'jose-elias-alvarez/null-ls.nvim', init = get_config('null-ls'), dependencies = { 'nvim-lua/plenary.nvim' } },
{ 'editorconfig/editorconfig-vim' },
-- editing enhancements
{ 'AndrewRadev/splitjoin.vim' }, { 'AndrewRadev/splitjoin.vim' },
{ 'numToStr/Comment.nvim', config = true }, { 'numToStr/Comment.nvim', config = true },
{ 'numToStr/Navigator.nvim', config = true },
{ 'tpope/vim-ragtag' }, { 'tpope/vim-ragtag' },
{ 'tpope/vim-repeat' }, { 'tpope/vim-repeat' },
{ 'tpope/vim-surround' }, { 'tpope/vim-surround' },
{ 'windwp/nvim-autopairs', config = true }, { 'windwp/nvim-autopairs', config = true },
{
'folke/flash.nvim',
event = 'VeryLazy',
-- TODO use whichkey for key mappings everywhere, one single init.lua ?!
keys = {
{ 's', mode = { "n", "o", "x" }, function() require("flash").jump() end, desc = "Flash" },
{ 'S', mode = { "n", "o", "x" }, function() require("flash").treesitter() end, desc = "Flash Treesitter" },
},
},
-- interface/code-navigation enhancements, git and others -- interface/code-navigation enhancements, git and others
{ 'lewis6991/gitsigns.nvim', config = true }, { 'lewis6991/gitsigns.nvim', config = true },
{ 'nvim-lualine/lualine.nvim', { 'nvim-lualine/lualine.nvim',
dependencies = { 'nvim-tree/nvim-web-devicons' }, dependencies = { 'nvim-tree/nvim-web-devicons' },
opts = { options = { theme = 'gruvbox' } }, opts = {
sections = {
lualine_b = { 'branch' },
lualine_x = {},
lualine_y = { 'diff', 'diagnostics' },
},
options = {
theme = 'gruvbox'
}
},
}, },
{ 'norcalli/nvim-colorizer.lua', { 'norcalli/nvim-colorizer.lua',
event = 'BufReadPre', event = 'BufReadPre',
@ -112,22 +122,17 @@ require('lazy').setup({
"MunifTanjim/nui.nvim", "MunifTanjim/nui.nvim",
}, },
event = "VeryLazy", event = "VeryLazy",
opts = {},
keys = { keys = {
{ {
"gw", "gw",
mode = { "n" }, mode = { "n" },
function() function() require("wtf").ai() end,
require("wtf").ai()
end,
desc = "Debug diagnostic with AI", desc = "Debug diagnostic with AI",
}, },
{ {
mode = { "n" }, mode = { "n" },
"gW", "gW",
function() function() require("wtf").search() end,
require("wtf").search()
end,
desc = "Search diagnostic with Google", desc = "Search diagnostic with Google",
}, },
}, },
@ -135,9 +140,7 @@ require('lazy').setup({
{ {
'jackMort/ChatGPT.nvim', 'jackMort/ChatGPT.nvim',
event = "VeryLazy", event = "VeryLazy",
config = function() config = true,
require("chatgpt").setup()
end,
dependencies = { dependencies = {
"MunifTanjim/nui.nvim", "MunifTanjim/nui.nvim",
"nvim-lua/plenary.nvim", "nvim-lua/plenary.nvim",
@ -158,15 +161,6 @@ require('lazy').setup({
}, },
}, },
}, },
{
'folke/flash.nvim',
event = 'VeryLazy',
keys = {
{ 's', mode = { "n", "o", "x" }, function() require("flash").jump() end, desc = "Flash" },
{ 'S', mode = { "n", "o", "x" }, function() require("flash").treesitter() end, desc = "Flash Treesitter" },
{ 'Q', mode = { "n", "o", "x" }, function() require("flash").treesitter_search() end, desc = "Treesitter Search" },
},
},
{ {
"folke/which-key.nvim", "folke/which-key.nvim",
event = "VeryLazy", event = "VeryLazy",

@ -9,6 +9,7 @@ PassCmd "security find-internet-password -s 'imap.mailbox.org' -a 's.rademacker@
SSLType IMAPS SSLType IMAPS
SSLVersions TLSv1.2 SSLVersions TLSv1.2
CertificateFile ~/dotfiles/office/certificates.crt CertificateFile ~/dotfiles/office/certificates.crt
AuthMechs LOGIN
# Remote storage # Remote storage
IMAPStore mailbox-remote IMAPStore mailbox-remote

@ -1,11 +0,0 @@
#!/usr/bin/env zsh
TMPFILE=$(mktemp)
tt --no-color status &> $TMPFILE
local current=$(cat $TMPFILE)
if [[ $current = 'You have been working on '* ]]; then
local currTemp=${current:s/You have been working on //}
local project=$(echo $currTemp | head -n1 | cut -d " " -f1)
echo "$project"
fi

@ -1,186 +0,0 @@
# Reconstructed via infocmp from file: /usr/share/terminfo/78/xterm-256color
xterm-256color|xterm with 256 colors,
am,
bce,
ccc,
km,
mc5i,
mir,
msgr,
npc,
xenl,
colors#256,
cols#80,
it#8,
lines#24,
pairs#32767,
acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
bel=^G,
blink=\E[5m,
bold=\E[1m,
cbt=\E[Z,
civis=\E[?25l,
clear=\E[H\E[2J,
cnorm=\E[?12l\E[?25h,
cr=^M,
csr=\E[%i%p1%d;%p2%dr,
cub=\E[%p1%dD,
cub1=^H,
cud=\E[%p1%dB,
cud1=^J,
cuf=\E[%p1%dC,
cuf1=\E[C,
cup=\E[%i%p1%d;%p2%dH,
cuu=\E[%p1%dA,
cuu1=\E[A,
cvvis=\E[?12;25h,
dch=\E[%p1%dP,
dch1=\E[P,
dl=\E[%p1%dM,
dl1=\E[M,
ech=\E[%p1%dX,
ed=\E[J,
el=\E[K,
el1=\E[1K,
flash=\E[?5h$<100/>\E[?5l,
home=\E[H,
hpa=\E[%i%p1%dG,
ht=^I,
hts=\EH,
ich=\E[%p1%d@,
il=\E[%p1%dL,
il1=\E[L,
ind=^J,
indn=\E[%p1%dS,
initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
invis=\E[8m,
is2=\E[!p\E[?3;4l\E[4l\E>,
kDC=\E[3;2~,
kEND=\E[1;2F,
kHOM=\E[1;2H,
kIC=\E[2;2~,
kLFT=\E[1;2D,
kNXT=\E[6;2~,
kPRV=\E[5;2~,
kRIT=\E[1;2C,
kb2=\EOE,
kbs=^H,
kcbt=\E[Z,
kcub1=\EOD,
kcud1=\EOB,
kcuf1=\EOC,
kcuu1=\EOA,
kdch1=\E[3~,
kend=\EOF,
kent=\EOM,
kf1=\EOP,
kf10=\E[21~,
kf11=\E[23~,
kf12=\E[24~,
kf13=\E[1;2P,
kf14=\E[1;2Q,
kf15=\E[1;2R,
kf16=\E[1;2S,
kf17=\E[15;2~,
kf18=\E[17;2~,
kf19=\E[18;2~,
kf2=\EOQ,
kf20=\E[19;2~,
kf21=\E[20;2~,
kf22=\E[21;2~,
kf23=\E[23;2~,
kf24=\E[24;2~,
kf25=\E[1;5P,
kf26=\E[1;5Q,
kf27=\E[1;5R,
kf28=\E[1;5S,
kf29=\E[15;5~,
kf3=\EOR,
kf30=\E[17;5~,
kf31=\E[18;5~,
kf32=\E[19;5~,
kf33=\E[20;5~,
kf34=\E[21;5~,
kf35=\E[23;5~,
kf36=\E[24;5~,
kf37=\E[1;6P,
kf38=\E[1;6Q,
kf39=\E[1;6R,
kf4=\EOS,
kf40=\E[1;6S,
kf41=\E[15;6~,
kf42=\E[17;6~,
kf43=\E[18;6~,
kf44=\E[19;6~,
kf45=\E[20;6~,
kf46=\E[21;6~,
kf47=\E[23;6~,
kf48=\E[24;6~,
kf49=\E[1;3P,
kf5=\E[15~,
kf50=\E[1;3Q,
kf51=\E[1;3R,
kf52=\E[1;3S,
kf53=\E[15;3~,
kf54=\E[17;3~,
kf55=\E[18;3~,
kf56=\E[19;3~,
kf57=\E[20;3~,
kf58=\E[21;3~,
kf59=\E[23;3~,
kf6=\E[17~,
kf60=\E[24;3~,
kf61=\E[1;4P,
kf62=\E[1;4Q,
kf63=\E[1;4R,
kf7=\E[18~,
kf8=\E[19~,
kf9=\E[20~,
khome=\EOH,
kich1=\E[2~,
kind=\E[1;2B,
kmous=\E[M,
knp=\E[6~,
kpp=\E[5~,
kri=\E[1;2A,
mc0=\E[i,
mc4=\E[4i,
mc5=\E[5i,
meml=\El,
memu=\Em,
op=\E[39;49m,
rc=\E8,
rev=\E[7m,
ri=\EM,
rin=\E[%p1%dT,
rmacs=\E(B,
rmam=\E[?7l,
rmcup=\E[?1049l,
rmir=\E[4l,
rmkx=\E[?1l\E>,
rmm=\E[?1034l,
rmso=\E[27m,
rmul=\E[24m,
rs1=\Ec,
rs2=\E[!p\E[?3;4l\E[4l\E>,
sc=\E7,
setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m,
setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m,
sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
sgr0=\E(B\E[m,
smacs=\E(0,
smam=\E[?7h,
smcup=\E[?1049h,
smir=\E[4h,
smkx=\E[?1h\E=,
smm=\E[?1034h,
smso=\E[7m,
smul=\E[4m,
tbc=\E[3g,
u6=\E[%i%d;%dR,
u7=\E[6n,
u8=\E[?1;2c,
u9=\E[c,
vpa=\E[%i%p1%dd,
sitm=\E[3m,
ritm=\E[23m,

@ -6,10 +6,3 @@ min_time = 5_000
[directory] [directory]
truncation_length = 6 truncation_length = 6
[custom.tttimetracker]
command = "~/Dotfiles/other/tt-time-tracker.status.zsh" # shows output of command
when = ""
symbol = ""
style = "bold blue"
format = "[$symbol($output)]($style) "

@ -1,57 +0,0 @@
# Defaults, rest will be set with tmux-sensible
set -g default-terminal "tmux"
set -g default-shell $SHELL
set -g prefix C-a
set -g base-index 1
setw -g pane-base-index 1
setw -g xterm-keys on
setw -g mode-keys vi
set-option -as terminal-overrides ",xterm*:RGB"
# Copy & Paste with clipper -- see https://github.com/wincent/clipper
# starting copy & paste with Ctrl+a [
bind-key -T copy-mode-vi 'v' send-keys -X begin-selection
bind-key -T copy-mode-vi 'y' send-keys -X copy-pipe-and-cancel "nc localhost 8377"
bind-key -T copy-mode-vi Escape send -X cancel
# Saner window splitting / new windows
bind-key '\' split-window -h -c "#{pane_current_path}"
bind-key - split-window -v -c "#{pane_current_path}"
bind-key c new-window -c "#{pane_current_path}"
# Mouse support
set -g mouse on
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'"
bind -n WheelDownPane select-pane -t= \; send-keys -M
bind -n C-WheelUpPane select-pane -t= \; copy-mode -e \; send-keys -M
source-file /Users/webgefrickel/.local/share/nvim/lazy/gruvbox-baby/extras/tmux/MEDIUM.tmux
# Custom statusbar, gruvbox style
set -g status-style bg=black,fg=yellow,default
set -g pane-border-style 'fg=#504945'
set -g pane-active-border-style 'fg=#504945'
set -g message-style bg=black,fg=brightred
set -g display-panes-active-colour blue
set -g display-panes-colour brightred
set -g status-left-length 100
set -g status-right-length 100
set -g status-left '#[fg=black,bg=white] ⧉ #S #[fg=white,bg=default,nobold] '
set -g status-right '#[fg=white,bg=default,nobold]#(whoami)@#h #[fg=black,bg=white,nobold] %d.%m.%Y ¦ %H:%M '
set -g window-status-format '#[fg=white,bg=default] #I #W '
set -g window-status-current-format '#[fg=blue,bg=black]#[fg=black,bg=blue] #I #W #[fg=blue,bg=black]#[fg=blue,bg=black,nobold]'
# Plugin configuration
set -g @resurrect-processes 'nnn v nvim m neomutt spt git gs'
set -g @continuum-restore 'on'
set -g @continuum-boot 'off'
# Plugins loading and tmux plugin manager initialization
set -g @plugin 'christoomey/vim-tmux-navigator'
set -g @plugin 'schasse/tmux-jump'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-sessionist'
set -g @plugin 'tmux-plugins/tpm'
run '~/.tmux/plugins/tpm/tpm'

@ -0,0 +1,149 @@
local wezterm = require('wezterm')
local mux = wezterm.mux
local act = wezterm.action
local config = wezterm.config_builder()
-- helper functions
local function get_current_working_dir(tab)
local current_dir = tab.active_pane.current_working_dir
local HOME_DIR = string.format('file://%s', os.getenv('HOME'))
return current_dir == HOME_DIR and '~' or string.gsub(current_dir, '(.*[/\\])(.*)', '%2')
end
local function isNvim(pane)
return pane:get_foreground_process_name():find('n?vim') ~= nil
end
local function conditionalActivatePane(window, pane, pane_direction, vim_direction)
if isNvim(pane) then
window:perform_action(act.SendKey({ key = vim_direction, mods = 'CTRL' }), pane)
else
window:perform_action(act.ActivatePaneDirection(pane_direction), pane)
end
end
-- base config
config.color_scheme = 'GruvboxDark'
config.font = wezterm.font('FiraCode Nerd Font')
config.font_size = 14.0
config.inactive_pane_hsb = { saturation = 0.5, brightness = 0.9 }
config.leader = { key = 'a', mods = 'CTRL', timeout_milliseconds = 1000 }
config.scrollback_lines = 5000
config.show_new_tab_button_in_tab_bar = false
config.tab_bar_at_bottom = true
config.use_dead_keys = false
config.use_fancy_tab_bar = false
config.window_close_confirmation = 'NeverPrompt'
config.window_decorations = 'RESIZE'
-- key mappings
config.keys = {
{ key = '\\',
mods = 'LEADER',
action = act.SplitHorizontal,
},
{
key = '-',
mods = 'LEADER',
action = act.SplitVertical,
},
{
key = ']',
mods = 'LEADER',
action = act.ActivateCopyMode,
},
{
key = ',',
mods = 'LEADER',
action = act.PromptInputLine {
description = 'Enter new name for tab',
action = wezterm.action_callback(function(window, pane, line)
if line then
window:active_tab():set_title(line)
end
end),
},
},
{
key = 'c',
mods = 'LEADER',
action = act.PromptInputLine {
description = 'Enter name for new workspace',
action = wezterm.action_callback(function(window, pane, line)
if line then
window:perform_action(
act.SwitchToWorkspace {
name = line,
},
pane
)
end
end),
},
},
{
key = '$',
mods = 'LEADER',
action = act.PromptInputLine {
description = 'Rename current workspace',
action = wezterm.action_callback(function(window, pane, line)
if line then
wezterm.mux.rename_workspace(wezterm.mux.get_active_workspace(), line)
end
end),
},
},
{ -- switching workspaces with CTRL-a g
key = 'g',
mods = 'LEADER',
action = act.ShowLauncherArgs {
flags = 'FUZZY|WORKSPACES',
},
},
-- Navigator.nvim keys
{ key = 'h', mods = 'CTRL', action = act.EmitEvent('ActivatePaneDirection-left') },
{ key = 'j', mods = 'CTRL', action = act.EmitEvent('ActivatePaneDirection-down') },
{ key = 'k', mods = 'CTRL', action = act.EmitEvent('ActivatePaneDirection-up') },
{ key = 'l', mods = 'CTRL', action = act.EmitEvent('ActivatePaneDirection-right') },
}
-- Navigator.nvim events
wezterm.on('ActivatePaneDirection-right', function(window, pane)
conditionalActivatePane(window, pane, 'Right', 'l')
end)
wezterm.on('ActivatePaneDirection-left', function(window, pane)
conditionalActivatePane(window, pane, 'Left', 'h')
end)
wezterm.on('ActivatePaneDirection-up', function(window, pane)
conditionalActivatePane(window, pane, 'Up', 'k')
end)
wezterm.on('ActivatePaneDirection-down', function(window, pane)
conditionalActivatePane(window, pane, 'Down', 'j')
end)
-- set tab-title to current dir if not set explicitly
wezterm.on('format-tab-title', function(tab)
local cwd = get_current_working_dir(tab)
local title = tab.tab_title
local num = tab.tab_index + 1
if title and #title > 0 then
return string.format(' %s %s ', num, title)
end
return string.format(' %s %s ', num, cwd)
end)
-- show workspace on the left side of tabbar
wezterm.on('update-status', function(window)
local workspace = mux.get_active_workspace()
window:set_left_status(string.format(' %s ', workspace))
end)
-- always maximise and start default session with mutt, neorg and dotfiles
wezterm.on('gui-startup', function()
local tab, pane, window = mux.spawn_window({})
window:gui_window():maximize()
end)
return config

@ -4,7 +4,6 @@ alias ..='cd ..'
alias O="cd ~ && mbsync -a && mu index" alias O="cd ~ && mbsync -a && mu index"
alias g="git" alias g="git"
alias gd="git diff" alias gd="git diff"
alias gf="git-flow"
alias ggpl='git pull origin $(current_branch)' alias ggpl='git pull origin $(current_branch)'
alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)' alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)'
alias ggps='git push origin $(current_branch)' alias ggps='git push origin $(current_branch)'
@ -20,8 +19,6 @@ alias ns="npm start"
alias out="node ~/Dotfiles/other/out/main.js" alias out="node ~/Dotfiles/other/out/main.js"
alias q='exit' alias q='exit'
alias sudo='sudo ' alias sudo='sudo '
alias t='tmux -u -2'
alias ta='tmux -u attach'
alias to='tiptop --net en0' alias to='tiptop --net en0'
alias upall='n lts && topgrade && npm-check -gu && vimup && brew cleanup && brew autoremove' alias upall='n lts && topgrade && npm-check -gu && vimup && brew cleanup && brew autoremove'
alias v=$EDITOR alias v=$EDITOR

@ -6,6 +6,7 @@ export EDITOR="/opt/homebrew/bin/nvim"
export LANG=en_US.UTF-8 export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8 export LC_ALL=en_US.UTF-8
export LC_CTYPE=$LANG export LC_CTYPE=$LANG
export LC_COLLATE=C
export LESS="-F -i -J -M -R -W -x2 -X -z-4" export LESS="-F -i -J -M -R -W -x2 -X -z-4"
export MANPATH=/opt/homebrew/share/man:$MANPATH export MANPATH=/opt/homebrew/share/man:$MANPATH
export PAGER="less -F -i -J -M -R -W -x2 -X -z-4" export PAGER="less -F -i -J -M -R -W -x2 -X -z-4"
@ -40,12 +41,10 @@ export PATH="$PYENV_ROOT/bin:$PATH"
# fzf colors # fzf colors
export FZF_DEFAULT_COMMAND="rg --files --hidden --follow --glob '!.git'" export FZF_DEFAULT_COMMAND="rg --files --hidden --follow --glob '!.git'"
export FZF_DEFAULT_OPTS="${FZF_DEFAULT_OPTS} ${FZF_THEME}"
# n node version management # n node version management
export N_PREFIX="$HOME/n"; [[ :$PATH: == *":$N_PREFIX/bin:"* ]] || PATH+=":$N_PREFIX/bin" # Added by n-install (see http://git.io/n-install-repo). export N_PREFIX="$HOME/n"; [[ :$PATH: == *":$N_PREFIX/bin:"* ]] || PATH+=":$N_PREFIX/bin" # Added by n-install (see http://git.io/n-install-repo).
# tt-time-tracker
export SHEET_FILE='/Users/webgefrickel/Documents/tt-time-tracker.json'
# lazygit # lazygit
export LG_CONFIG_FILE="/Users/webgefrickel/.config/lazygit/config.yml" export LG_CONFIG_FILE="/Users/webgefrickel/.config/lazygit/config.yml"

@ -11,12 +11,19 @@ autoload -Uz _zinit
(( ${+_comps} )) && _comps[zinit]=_zinit (( ${+_comps} )) && _comps[zinit]=_zinit
# plugins # plugins
zinit wait lucid for \ zi load zsh-users/zsh-autosuggestions
light-mode zsh-users/zsh-autosuggestions \ zi load zsh-users/zsh-completions
light-mode zsh-users/zsh-completions \ zi load zdharma-continuum/fast-syntax-highlighting
light-mode zdharma-continuum/fast-syntax-highlighting \ zi load starship/starship
light-mode PZT::modules/history/init.zsh \ zi snippet PZTM::history
light-mode PZT::modules/completion/init.zsh zi snippet PZTM::completion
# Fixes for unicode
setopt COMBINING_CHARS
# additional gruvbox colors
source ~/.local/share/nvim/lazy/gruvbox-baby/extras/bash/MEDIUM.bash
source ~/.local/share/nvim/lazy/gruvbox-baby/extras/fzf/fzf.theme
# exports, functions and aliases # exports, functions and aliases
source ~/dotfiles/zsh/exports.zsh source ~/dotfiles/zsh/exports.zsh
@ -34,7 +41,6 @@ eval "$(jump shell)"
eval "$(rbenv init - --no-rehash)" eval "$(rbenv init - --no-rehash)"
eval "$(pyenv init --path --no-rehash)" eval "$(pyenv init --path --no-rehash)"
# colors # chat-gpt, hooray
source ~/.local/share/nvim/lazy/gruvbox-baby/extras/bash/MEDIUM.bash
source ~/.local/share/nvim/lazy/gruvbox-baby/extras/fzf/fzf.theme
source ~/OPENAI_API_KEY.sh source ~/OPENAI_API_KEY.sh

Loading…
Cancel
Save