dotfile: sync

This commit is contained in:
2024-03-19 11:47:31 +02:00
parent 1d791dee9b
commit 65a6a5c334
10 changed files with 272 additions and 39 deletions

View File

@@ -1,6 +1,8 @@
# DOTFILES
## macOS
https://gist.github.com/sarthakpranesh/c4ba43a2f8e75518acedb9480087a3ee
```bash
# cli tools + rosetta
xcode-select --install

View File

@@ -0,0 +1,132 @@
live_config_reload = true
[colors]
draw_bold_text_with_bright_colors = true
[colors.bright]
black = "0x4C566A"
blue = "0x81A1C1"
cyan = "0x8FBCBB"
green = "0xA3BE8C"
magenta = "0xB48EAD"
red = "0xBF616A"
white = "0xECEFF4"
yellow = "0xEBCB8B"
[colors.cursor]
cursor = "0xD8DEE9"
text = "0x2E3440"
[colors.normal]
black = "0x3B4252"
blue = "0x81A1C1"
cyan = "0x88C0D0"
green = "0xA3BE8C"
magenta = "0xB48EAD"
red = "0xBF616A"
white = "0xE5E9F0"
yellow = "0xEBCB8B"
[colors.primary]
background = "0x2E3440"
foreground = "0xD8DEE9"
[cursor]
style = "Block"
unfocused_hollow = true
[env]
TERM = "xterm-256color"
[font]
size = 20.0
[font.bold]
family = "Fira Code"
style = "Bold"
[font.glyph_offset]
x = 0
y = 0
[font.italic]
family = "Fira Code"
style = "Light"
[font.normal]
family = "Fira Code"
style = "Medium"
[font.offset]
x = 0
y = 0
[[keyboard.bindings]]
action = "Paste"
key = "V"
mods = "Command"
[[keyboard.bindings]]
action = "Copy"
key = "C"
mods = "Command"
[[keyboard.bindings]]
action = "Paste"
key = "Paste"
[[keyboard.bindings]]
action = "Copy"
key = "Copy"
[[keyboard.bindings]]
action = "Quit"
key = "Q"
mods = "Command"
[[keyboard.bindings]]
action = "Quit"
key = "W"
mods = "Command"
[[keyboard.bindings]]
action = "ResetFontSize"
key = "Key0"
mods = "Command"
[[keyboard.bindings]]
action = "IncreaseFontSize"
key = "Equals"
mods = "Command"
[[keyboard.bindings]]
action = "DecreaseFontSize"
key = "Minus"
mods = "Command"
[[keyboard.bindings]]
chars = "\u0002"
key = "F18"
[mouse]
hide_when_typing = true
[selection]
semantic_escape_chars = ",│`|:\"' ()[]{}<>"
[shell]
args = ["-l", "-c", "/opt/homebrew/bin/tmux attach || /opt/homebrew/bin/tmux"]
program = "/bin/bash"
[window]
decorations = "none"
dynamic_title = true
startup_mode = "Maximized"
[window.dimensions]
columns = 80
lines = 24
[window.padding]
x = 0
y = 0

View File

@@ -37,6 +37,7 @@ export BASH_SILENCE_DEPRECATION_WARNING=1
export HOMEBREW_NO_ENV_HINTS=true
export RUBY_CONFIGURE_OPTS="--with-openssl-dir=/opt/homebrew/opt/openssl@1.1"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.:/usr/local/lib
# export LIBRARY_PATH="$LIBRARY_PATH:$(brew --prefix)/lib"
export EDITOR=nvim
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
@@ -73,6 +74,7 @@ alias gcom='git checkout master'
alias gcob='git checkout -b'
alias gd='git diff'
alias gdc='git diff --cached'
alias gdn='git diff --no-index'
alias gc='git commit'
alias gca='git commit --amend'
alias gcw='git commit -m "wip"'

View File

@@ -1,6 +1,6 @@
# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.
htop_version=3.2.2
htop_version=3.3.0
config_reader_min_version=3
fields=0 48 17 18 38 39 2 46 47 49 1
hide_kernel_threads=1
@@ -46,8 +46,8 @@ all_branches_collapsed=0
screen:Main=PID USER PRIORITY NICE M_VIRT M_RESIDENT STATE PERCENT_CPU PERCENT_MEM TIME Command
.sort_key=PERCENT_CPU
.tree_sort_key=PERCENT_CPU
.tree_view=1
.tree_view_always_by_pid=0
.tree_view=1
.sort_direction=1
.tree_sort_direction=-1
.all_branches_collapsed=0

View File

@@ -13,8 +13,11 @@ end
vim.g.mapleader = ' '
nmap(';', ':')
map('v', ';', ':')
nmap(',,', '<C-^>')
nmap('<leader>w', ':w<CR>') -- TODO: stop this madness, :h autowrite
-- TODO: stop this madness, :h autowrite
-- doesnt seem to work well in terminal
nmap('<leader>w', ':w<CR>')
nmap('Q', ':q!<CR>')
nmap('<leader><space>', ':nohlsearch<CR>', { silent = true })
@@ -28,7 +31,7 @@ nmap('k', 'gk')
nmap('H', '^')
nmap('L', '$')
nmap('J', 'mzJ`z')
nmap('K', '<Nop>')
-- nmap('K', '<Nop>')
nmap('gQ', '<Nop>')
nmap('vv', ':vs<CR>')
@@ -50,12 +53,13 @@ map('v', '<', '<gv')
map('v', '>', '>gv')
-- vim-easy-align
vim.keymap.set("n", "ga", "<Plug>(EasyAlign)")
vim.keymap.set("x", "ga", "<Plug>(EasyAlign)")
map("n", "ga", "<Plug>(EasyAlign)")
map("x", "ga", "<Plug>(EasyAlign)")
-- nvim-tree.lua
nmap('<leader>n', ':NvimTreeToggle<CR>')
nmap('<leader>N', ':NvimTreeFindFile<CR>')
-- nmap('<leader>n', ':NvimTreeToggle<CR>')
-- nmap('<leader>N', ':NvimTreeFindFile<CR>')
vim.keymap.set("n", "-", "<CMD>Oil<CR>", { desc = "Open parent directory" })
-- glow.vim
nmap('<leader>p', ':Glow<CR>')
@@ -78,8 +82,28 @@ nmap('<C-f>', '<Plug>CtrlSFPrompt')
-- trim whitespace
nmap('<leader>W', ':TrimWhitespace<CR>')
-- EXPERIMENTAL:
-- nmap('<leader>x', ':!rm %<CR>')
nmap('<leader>x', ":call delete(expand('%')) | bdelete!<CR>")
nmap('<leader>q', ':copen<CR>')
nmap(']q', ':cnext<CR>')
nmap('[q', ':cprevious<CR>')
-- command mode
vim.keymap.set('c', '<C-a>', '<Home>')
vim.keymap.set('c', '<C-e>', '<End>')
-- paste in visual mode and keep available
local expr = { expr = true, noremap = false, silent = false }
vim.keymap.set('x', 'p', [['pgv"'.v:register.'y`>']], expr)
vim.keymap.set('x', 'P', [['Pgv"'.v:register.'y`>']], expr)
-- vim.keymap.set('n', 'gQ', 'mzgggqG`z<cmd>delmarks z<cr>zz', { desc = 'Format buffer' })
vim.keymap.set('n', '<C-d>', '<C-d>zz', { desc = 'Scroll downwards' })
vim.keymap.set('n', '<C-u>', '<C-u>zz', { desc = 'Scroll upwards' })
-- vim.keymap.set('n', '<leader>to', '<cmd>tabonly<cr>', { desc = 'Close other tab pages' })
-- Make U opposite to u.
-- vim.keymap.set('n', 'U', '<C-r>', { desc = 'Redo' })

View File

@@ -125,7 +125,26 @@ packer.startup(function()
-- EXPERIMENTAL: trying out different plugins
use { 'skywind3000/asyncrun.vim' }
use {'kevinhwang91/nvim-bqf', ft = 'qf'} -- better qf
use { 'kevinhwang91/nvim-bqf', ft = 'qf' }
use { 'kevinhwang91/nvim-pqf', ft = 'qf' }
use { 'weilbith/vim-qfloc-edit', ft = 'qf' }
use({
"stevearc/oil.nvim",
config = function()
require("oil").setup({
-- skip_confirm_for_simple_edits = true,
-- prompt_save_on_select_new_entry = true,
default_file_explorer = true,
view_options = {
-- Show files and directories that start with "."
show_hidden = false,
}
})
end,
})
end)
require('plugins.lsp')

View File

@@ -2,8 +2,11 @@ local M = {}
function M.setup()
vim.keymap.set('n', '<leader>ff', function() require('telescope.builtin').find_files({ hidden = true }) end)
vim.keymap.set('n', '<leader>fb', function() require('telescope.builtin').buffers({ hidden = true }) end)
vim.keymap.set('n', '<leader>fo', function() require('telescope.builtin').find_files({ cwd = '~/Syncthing/Obsidian/Personal/', search_file = '*.md' }) end)
vim.keymap.set('n', '<leader>fO', function() require('telescope.builtin').live_grep({ cwd = '~/Syncthing/Obsidian/Personal/', search_file = '*.md' }) end)
vim.keymap.set('n', '<leader>fh', function() require('telescope.builtin').help_tags() end)
vim.keymap.set('n', '<leader>fq', function() require('telescope.builtin').quickfix() end)
-- require('telescope.builtin').find_files({ hidden = true })
end

View File

@@ -1,6 +1,4 @@
local cmd, opt, g = vim.cmd, vim.opt, vim.g
cmd('au TextYankPost * lua vim.highlight.on_yank { timeout = 250 }')
local opt, g = vim.opt, vim.g
opt.smartindent = true -- Autoindenting when starting a new line
opt.completeopt = {'menu', 'menuone', 'noselect'}
@@ -33,16 +31,16 @@ opt.listchars = {
nbsp = '', -- CIRCLED REVERSE SOLIDUS (U+29B8, UTF-8: E2 A6 B8)
extends = '»', -- RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK (U+00BB, UTF-8: C2 BB)
precedes = '«', -- LEFT-POINTING DOUBLE ANGLE QUOTATION MARK (U+00AB, UTF-8: C2 AB)
-- tab = ' ', -- '▷─' WHITE RIGHT-POINTING TRIANGLE (U+25B7, UTF-8: E2 96 B7) + BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL (U+2505, UTF-8: E2 94 85)
trail = '', -- BULLET (U+2022, UTF-8: E2 80 A2)
space = ' ',
tab = '<->'
tab = ''
}
opt.fillchars = {
diff = '',
eob = ' ', -- NO-BREAK SPACE (U+00A0, UTF-8: C2 A0) to suppress ~ at EndOfBuffer
vert = '', -- window border when window splits vertically ─ ┴ ┬ ┤ ├ ┼
-- vert = '│', -- window border when window splits vertically ─ ┴ ┬ ┤ ├ ┼
vert = '',
msgsep = '',
fold = '·', -- MIDDLE DOT (U+00B7, UTF-8: C2 B7)
foldopen = '',
@@ -79,6 +77,7 @@ opt.shortmess = {
if vim.fn.executable('rg') > 0 then
vim.o.grepprg = [[rg --glob "!.git" --no-heading --vimgrep --follow $*]]
-- opt.grepformat = opt.grepformat ^ { '%f:%l:%c:%m' }
end
-- ignore when autocompleting
@@ -104,3 +103,41 @@ g.ctrlsf_mapping = {
}
g.ruby_host_prog = 'asdf exec neovim-ruby-host'
-- highlight yanked text briefly
vim.api.nvim_create_autocmd('TextYankPost', {
callback = function()
vim.highlight.on_yank {
higroup = 'Search',
timeout = 250,
on_visual = true,
}
end,
})
-- resize splits when Vim is resized
vim.api.nvim_create_autocmd('VimResized', { command = 'horizontal wincmd =' })
vim.api.nvim_create_augroup('cursorline_focus', {})
vim.api.nvim_create_autocmd({ 'InsertLeave', 'WinEnter' }, {
group = 'cursorline_focus',
callback = function()
vim.wo.cursorline = true
end,
})
vim.api.nvim_create_autocmd({ 'InsertEnter', 'WinLeave' }, {
group = 'cursorline_focus',
callback = function()
vim.wo.cursorline = false
end,
})
-- Experimental
opt.iskeyword:prepend { '-' } -- treat dash separated words as a word textobject
opt.updatetime = 100
opt.timeout = true
opt.timeoutlen = 1000
opt.ttimeoutlen = 10
vim.cmd('packadd cfilter')

View File

@@ -49,8 +49,8 @@ local function save_profiles(threshold)
end
time([[Luarocks path setup]], true)
local package_path_str = "/Users/madundead/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/Users/madundead/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/Users/madundead/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/Users/madundead/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
local install_cpath_pattern = "/Users/madundead/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so"
local package_path_str = "/Users/madundead/.cache/nvim/packer_hererocks/2.1.1703358377/share/lua/5.1/?.lua;/Users/madundead/.cache/nvim/packer_hererocks/2.1.1703358377/share/lua/5.1/?/init.lua;/Users/madundead/.cache/nvim/packer_hererocks/2.1.1703358377/lib/luarocks/rocks-5.1/?.lua;/Users/madundead/.cache/nvim/packer_hererocks/2.1.1703358377/lib/luarocks/rocks-5.1/?/init.lua"
local install_cpath_pattern = "/Users/madundead/.cache/nvim/packer_hererocks/2.1.1703358377/lib/lua/5.1/?.so"
if not string.find(package.path, package_path_str, 1, true) then
package.path = package.path .. ';' .. package_path_str
end
@@ -173,6 +173,13 @@ _G.packer_plugins = {
path = "/Users/madundead/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
url = "https://github.com/neovim/nvim-lspconfig"
},
["nvim-pqf"] = {
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/Users/madundead/.local/share/nvim/site/pack/packer/opt/nvim-pqf",
url = "https://github.com/kevinhwang91/nvim-pqf"
},
["nvim-tree.lua"] = {
commands = { "NvimTreeToggle", "NvimTreeFindFile" },
config = { "\27LJ\2\n@\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\vconfig\22plugins/nvim-tree\frequire\0" },
@@ -200,6 +207,12 @@ _G.packer_plugins = {
path = "/Users/madundead/.local/share/nvim/site/pack/packer/opt/nvim-treesitter-textobjects",
url = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects"
},
["oil.nvim"] = {
config = { "\27LJ\2\n]\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\2B\0\2\1K\0\1\0\17view_options\1\0\0\1\0\1\16show_hidden\1\nsetup\boil\frequire\0" },
loaded = true,
path = "/Users/madundead/.local/share/nvim/site/pack/packer/start/oil.nvim",
url = "https://github.com/stevearc/oil.nvim"
},
["packer.nvim"] = {
loaded = false,
needs_bufread = false,
@@ -250,6 +263,13 @@ _G.packer_plugins = {
path = "/Users/madundead/.local/share/nvim/site/pack/packer/start/vim-fugitive",
url = "https://github.com/tpope/vim-fugitive"
},
["vim-qfloc-edit"] = {
loaded = false,
needs_bufread = true,
only_cond = false,
path = "/Users/madundead/.local/share/nvim/site/pack/packer/opt/vim-qfloc-edit",
url = "https://github.com/weilbith/vim-qfloc-edit"
},
["vim-rails"] = {
loaded = true,
path = "/Users/madundead/.local/share/nvim/site/pack/packer/start/vim-rails",
@@ -278,20 +298,10 @@ _G.packer_plugins = {
path = "/Users/madundead/.local/share/nvim/site/pack/packer/start/vim-surround",
url = "https://github.com/tpope/vim-surround"
},
["vim-test"] = {
loaded = true,
path = "/Users/madundead/.local/share/nvim/site/pack/packer/start/vim-test",
url = "https://github.com/vim-test/vim-test"
},
["vim-tmux-navigator"] = {
loaded = true,
path = "/Users/madundead/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator",
url = "https://github.com/christoomey/vim-tmux-navigator"
},
vimux = {
loaded = true,
path = "/Users/madundead/.local/share/nvim/site/pack/packer/start/vimux",
url = "https://github.com/benmills/vimux"
}
}
@@ -324,10 +334,6 @@ if not vim.g.packer_custom_loader_enabled then
vim.g.packer_custom_loader_enabled = true
end
-- Setup for: telescope.nvim
time([[Setup for telescope.nvim]], true)
try_loadstring("\27LJ\2\n?\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\22plugins/telescope\frequire\0", "setup", "telescope.nvim")
time([[Setup for telescope.nvim]], false)
-- Setup for: nord.nvim
time([[Setup for nord.nvim]], true)
try_loadstring("\27LJ\2\n:\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\17plugins.nord\frequire\0", "setup", "nord.nvim")
@@ -335,10 +341,18 @@ time([[Setup for nord.nvim]], false)
time([[packadd for nord.nvim]], true)
vim.cmd [[packadd nord.nvim]]
time([[packadd for nord.nvim]], false)
-- Setup for: telescope.nvim
time([[Setup for telescope.nvim]], true)
try_loadstring("\27LJ\2\n?\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\22plugins/telescope\frequire\0", "setup", "telescope.nvim")
time([[Setup for telescope.nvim]], false)
-- Config for: nord.nvim
time([[Config for nord.nvim]], true)
try_loadstring("\27LJ\2\n;\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\vconfig\17plugins.nord\frequire\0", "config", "nord.nvim")
time([[Config for nord.nvim]], false)
-- Config for: oil.nvim
time([[Config for oil.nvim]], true)
try_loadstring("\27LJ\2\n]\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\2B\0\2\1K\0\1\0\17view_options\1\0\0\1\0\1\16show_hidden\1\nsetup\boil\frequire\0", "config", "oil.nvim")
time([[Config for oil.nvim]], false)
-- Conditional loads
time([[Conditional loading of telescope-fzf-native.nvim]], true)
require("packer.load")({"telescope-fzf-native.nvim"}, {}, _G.packer_plugins)
@@ -380,12 +394,12 @@ vim.cmd [[augroup packer_load_aucmds]]
vim.cmd [[au!]]
-- Filetype lazy-loads
time([[Defining lazy-load filetype autocommands]], true)
vim.cmd [[au FileType qf ++once lua require("packer.load")({'nvim-bqf'}, { ft = "qf" }, _G.packer_plugins)]]
vim.cmd [[au FileType qf ++once lua require("packer.load")({'nvim-pqf', 'nvim-bqf', 'vim-qfloc-edit'}, { ft = "qf" }, _G.packer_plugins)]]
time([[Defining lazy-load filetype autocommands]], false)
-- Event lazy-loads
time([[Defining lazy-load event autocommands]], true)
vim.cmd [[au BufRead * ++once lua require("packer.load")({'nvim-treesitter'}, { event = "BufRead *" }, _G.packer_plugins)]]
vim.cmd [[au BufNewFile * ++once lua require("packer.load")({'nvim-treesitter'}, { event = "BufNewFile *" }, _G.packer_plugins)]]
vim.cmd [[au BufRead * ++once lua require("packer.load")({'nvim-treesitter'}, { event = "BufRead *" }, _G.packer_plugins)]]
time([[Defining lazy-load event autocommands]], false)
vim.cmd("augroup END")