Compare commits
13 Commits
dbf7186397
...
95ef074764
Author | SHA1 | Date | |
---|---|---|---|
95ef074764 | |||
fba777fa03 | |||
c00ed42656 | |||
f3f61472c8 | |||
21a502588e | |||
2dc9e0445d | |||
00083b0deb | |||
ce2955c8d7 | |||
43ac415294 | |||
5ff61f8757 | |||
85f3dbc61d | |||
fbf57952e9 | |||
239579f8cd |
22
.bashrc
22
.bashrc
@ -98,6 +98,10 @@ export FZF_DEFAULT_OPTS=" \
|
|||||||
--color=fg:#4c4f69,header:#d20f39,info:#8839ef,pointer:#dc8a78 \
|
--color=fg:#4c4f69,header:#d20f39,info:#8839ef,pointer:#dc8a78 \
|
||||||
--color=marker:#dc8a78,fg+:#4c4f69,prompt:#8839ef,hl+:#d20f39"
|
--color=marker:#dc8a78,fg+:#4c4f69,prompt:#8839ef,hl+:#d20f39"
|
||||||
|
|
||||||
|
# Override this in .bashrc_local if a nerd font is installed locally.
|
||||||
|
export HAVE_NERD_FONT=false
|
||||||
|
export HIDE_HOSTNAME=false
|
||||||
|
|
||||||
# Add a local un-tracked bash-rc if present
|
# Add a local un-tracked bash-rc if present
|
||||||
if [[ -f ${HOME}/.bashrc_local ]];
|
if [[ -f ${HOME}/.bashrc_local ]];
|
||||||
then
|
then
|
||||||
@ -144,6 +148,14 @@ else
|
|||||||
c_git_dirty=
|
c_git_dirty=
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
prev_status_prompt_minimal () {
|
||||||
|
status=$?
|
||||||
|
if [ $status -ne 0 ]; then
|
||||||
|
red=`tput setaf 1; tput bold`
|
||||||
|
echo "${red}${status}${c_reset} "
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
prev_status_prompt () {
|
prev_status_prompt () {
|
||||||
status=$?
|
status=$?
|
||||||
if [ $status -ne 0 ]; then
|
if [ $status -ne 0 ]; then
|
||||||
@ -162,7 +174,15 @@ git_prompt () {
|
|||||||
echo " -- $git_branch"
|
echo " -- $git_branch"
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ "$BASH" != "" ]; then
|
if [ "$BASH" != "" ] && [ "$TMUX" != "" ]; then
|
||||||
|
h="\h"
|
||||||
|
if [ $HIDE_HOSTNAME = true ]; then
|
||||||
|
h=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# In tmux, hide the path and gitprompt and reduce to one line.
|
||||||
|
PS1="\n\$(prev_status_prompt_minimal)${h} "
|
||||||
|
elif [ "$BASH" != "" ]; then
|
||||||
# Prompt
|
# Prompt
|
||||||
PS1="\n╔ \w\$(prev_status_prompt)\$(git_prompt) -- \$(date '+%y-%m-%dT%H:%M:%S')\n╚ \h\$ "
|
PS1="\n╔ \w\$(prev_status_prompt)\$(git_prompt) -- \$(date '+%y-%m-%dT%H:%M:%S')\n╚ \h\$ "
|
||||||
fi
|
fi
|
||||||
|
10
.gitmux.conf
Normal file
10
.gitmux.conf
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
# https://github.com/arl/gitmux/blob/main/README.md#customizing
|
||||||
|
tmux:
|
||||||
|
layout: [branch, divergence, " - ", flags]
|
||||||
|
styles:
|
||||||
|
branch: '#[fg=cyan,bold]'
|
||||||
|
options:
|
||||||
|
branch_max_len: 25
|
||||||
|
branch_trim: right
|
||||||
|
ellipsis: …
|
||||||
|
hide_clean: true
|
@ -1,4 +1,5 @@
|
|||||||
set-option -g status on
|
set-option -g status on
|
||||||
|
set-option -g status-position top
|
||||||
set-option -g status-interval 2
|
set-option -g status-interval 2
|
||||||
set-option -g renumber-windows on
|
set-option -g renumber-windows on
|
||||||
set-option -g history-limit 10000
|
set-option -g history-limit 10000
|
||||||
@ -17,7 +18,7 @@ bind-key r source-file ~/.tmux.conf\; display-message "Reloaded config"
|
|||||||
bind-key m set-window-option mouse\; display-message "mouse support is now #{?mouse,on,off}"
|
bind-key m set-window-option mouse\; display-message "mouse support is now #{?mouse,on,off}"
|
||||||
|
|
||||||
### Open LazyGit in a popup
|
### Open LazyGit in a popup
|
||||||
bind-key g display-popup -E -w 90% -h 90% lazygit
|
bind-key g display-popup -E -d '#{pane_current_path}' -w 90% -h 90% lazygit
|
||||||
|
|
||||||
# New panes and windows have same cwd as the one opening it
|
# New panes and windows have same cwd as the one opening it
|
||||||
bind c new-window -c "#{pane_current_path}"
|
bind c new-window -c "#{pane_current_path}"
|
||||||
@ -59,11 +60,11 @@ set -g @catppuccin_window_middle_separator ""
|
|||||||
set -g @catppuccin_window_right_separator "█ "
|
set -g @catppuccin_window_right_separator "█ "
|
||||||
set -g @catppuccin_window_default_text "#W"
|
set -g @catppuccin_window_default_text "#W"
|
||||||
set -g @catppuccin_window_default_fill "number"
|
set -g @catppuccin_window_default_fill "number"
|
||||||
# set -g @catppuccin_window_current_text "#W"
|
|
||||||
set -g @catppuccin_window_current_text "#W#{?window_zoomed_flag, ,}"
|
set -g @catppuccin_window_current_text "#W#{?window_zoomed_flag, ,}"
|
||||||
set -g @catppuccin_window_current_fill "number"
|
set -g @catppuccin_window_current_fill "number"
|
||||||
set -g @catppuccin_status_modules_right "directory date_time session"
|
set -g @catppuccin_status_modules_right "directory gitmux session"
|
||||||
set -g @catppuccin_directory_text "#{pane_current_path}"
|
set -g @catppuccin_directory_text "#( echo \#{pane_current_path} | sed \"s|$HOME|~|\" )"
|
||||||
|
set -g @catppuccin_gitmux_text "#(gitmux -cfg $HOME/.gitmux.conf \"#{pane_current_path}\")"
|
||||||
set -g @catppuccin_status_left_separator " "
|
set -g @catppuccin_status_left_separator " "
|
||||||
set -g @catppuccin_status_fill "icon"
|
set -g @catppuccin_status_fill "icon"
|
||||||
set -g @catppuccin_window_status_enable "no"
|
set -g @catppuccin_window_status_enable "no"
|
||||||
|
1
bin/linux/gitmux
Symbolic link
1
bin/linux/gitmux
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
gitmux_v0.10.4
|
BIN
bin/linux/gitmux_v0.10.4
Executable file
BIN
bin/linux/gitmux_v0.10.4
Executable file
Binary file not shown.
@ -71,6 +71,9 @@ function performSetup() {
|
|||||||
echo "Installing tmux plugins"
|
echo "Installing tmux plugins"
|
||||||
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
|
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
|
||||||
|
|
||||||
|
echo "Linking gitmux..."
|
||||||
|
linkFile ".gitmux.conf"
|
||||||
|
|
||||||
echo "Linking neovim config"
|
echo "Linking neovim config"
|
||||||
ln -fns ${DOTFILES_DIR}/nvim ~/.config/nvim
|
ln -fns ${DOTFILES_DIR}/nvim ~/.config/nvim
|
||||||
|
|
||||||
|
@ -147,6 +147,22 @@ vim.keymap.set('n', '<C-l>', '<C-w><C-l>', { desc = 'Move focus to the right win
|
|||||||
vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower window' })
|
vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower window' })
|
||||||
vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' })
|
vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' })
|
||||||
|
|
||||||
|
-- [[ Utility functions ]]
|
||||||
|
|
||||||
|
-- Retreive selected text from the editor.
|
||||||
|
function vim.getVisualSelection()
|
||||||
|
vim.cmd 'noau normal! "vy"'
|
||||||
|
local text = vim.fn.getreg 'v'
|
||||||
|
vim.fn.setreg('v', {})
|
||||||
|
|
||||||
|
text = string.gsub(text, '\n', '')
|
||||||
|
if #text > 0 then
|
||||||
|
return text
|
||||||
|
else
|
||||||
|
return ''
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- [[ Basic Autocommands ]]
|
-- [[ Basic Autocommands ]]
|
||||||
-- See `:help lua-guide-autocommands`
|
-- See `:help lua-guide-autocommands`
|
||||||
|
|
||||||
@ -280,11 +296,20 @@ require('lazy').setup({
|
|||||||
-- You can put your default mappings / updates / etc. in here
|
-- You can put your default mappings / updates / etc. in here
|
||||||
-- All the info you're looking for is in `:help telescope.setup()`
|
-- All the info you're looking for is in `:help telescope.setup()`
|
||||||
--
|
--
|
||||||
-- defaults = {
|
defaults = {
|
||||||
-- mappings = {
|
mappings = {
|
||||||
-- i = { ['<c-enter>'] = 'to_fuzzy_refine' },
|
n = {
|
||||||
-- },
|
-- Add action to delete a buffer from the Telescope list
|
||||||
-- },
|
['<c-d>'] = require('telescope.actions').delete_buffer,
|
||||||
|
},
|
||||||
|
i = {
|
||||||
|
-- ['<c-enter>'] = 'to_fuzzy_refine',
|
||||||
|
|
||||||
|
-- Add action to delete a buffer from the Telescope list
|
||||||
|
['<c-d>'] = require('telescope.actions').delete_buffer,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
-- pickers = {}
|
-- pickers = {}
|
||||||
extensions = {
|
extensions = {
|
||||||
['ui-select'] = {
|
['ui-select'] = {
|
||||||
@ -316,6 +341,13 @@ require('lazy').setup({
|
|||||||
}
|
}
|
||||||
end, { desc = '[S]earch Recent Files in CWD' })
|
end, { desc = '[S]earch Recent Files in CWD' })
|
||||||
|
|
||||||
|
vim.keymap.set('v', '<leader>g', function()
|
||||||
|
builtin.grep_string {
|
||||||
|
search = vim.getVisualSelection(),
|
||||||
|
prompt_title = 'Grep all files',
|
||||||
|
}
|
||||||
|
end, { desc = '[G]rep everywhere' })
|
||||||
|
|
||||||
-- Slightly advanced example of overriding default behavior and theme
|
-- Slightly advanced example of overriding default behavior and theme
|
||||||
vim.keymap.set('n', '<leader>/', function()
|
vim.keymap.set('n', '<leader>/', function()
|
||||||
-- You can pass additional configuration to Telescope to change the theme, layout, etc.
|
-- You can pass additional configuration to Telescope to change the theme, layout, etc.
|
||||||
@ -628,6 +660,12 @@ require('lazy').setup({
|
|||||||
luasnip.config.setup {}
|
luasnip.config.setup {}
|
||||||
|
|
||||||
cmp.setup {
|
cmp.setup {
|
||||||
|
window = {
|
||||||
|
-- Optionally add a border to the completions windows.
|
||||||
|
-- Does not affect the <shift>-k window.
|
||||||
|
-- completion = cmp.config.window.bordered(),
|
||||||
|
-- documentation = cmp.config.window.bordered(),
|
||||||
|
},
|
||||||
snippet = {
|
snippet = {
|
||||||
expand = function(args)
|
expand = function(args)
|
||||||
luasnip.lsp_expand(args.body)
|
luasnip.lsp_expand(args.body)
|
||||||
@ -733,6 +771,14 @@ require('lazy').setup({
|
|||||||
telescope = true,
|
telescope = true,
|
||||||
which_key = true,
|
which_key = true,
|
||||||
},
|
},
|
||||||
|
custom_highlights = function(C)
|
||||||
|
return {
|
||||||
|
WinSeparator = { fg = C.pink },
|
||||||
|
NormalFloat = { bg = C.crust },
|
||||||
|
Pmenu = { bg = C.crust },
|
||||||
|
PmenuSel = { fg = C.text, bg = C.surface0, style = { 'bold' } },
|
||||||
|
}
|
||||||
|
end,
|
||||||
},
|
},
|
||||||
init = function()
|
init = function()
|
||||||
vim.cmd.colorscheme 'catppuccin'
|
vim.cmd.colorscheme 'catppuccin'
|
||||||
@ -760,20 +806,10 @@ require('lazy').setup({
|
|||||||
-- - sr)' - [S]urround [R]eplace [)] [']
|
-- - sr)' - [S]urround [R]eplace [)] [']
|
||||||
require('mini.surround').setup()
|
require('mini.surround').setup()
|
||||||
|
|
||||||
-- Simple and easy statusline.
|
-- Startup dashboard
|
||||||
-- You could remove this setup call if you don't like it,
|
require('mini.starter').setup {
|
||||||
-- and try some other statusline plugin
|
footer = '',
|
||||||
local statusline = require 'mini.statusline'
|
}
|
||||||
-- set use_icons to true if you have a Nerd Font
|
|
||||||
statusline.setup { use_icons = vim.g.have_nerd_font }
|
|
||||||
|
|
||||||
-- You can configure sections in the statusline by overriding their
|
|
||||||
-- default behavior. For example, here we set the section for
|
|
||||||
-- cursor location to LINE:COLUMN
|
|
||||||
---@diagnostic disable-next-line: duplicate-set-field
|
|
||||||
statusline.section_location = function()
|
|
||||||
return '%2l:%-2v'
|
|
||||||
end
|
|
||||||
|
|
||||||
-- ... and there is more!
|
-- ... and there is more!
|
||||||
-- Check out: https://github.com/echasnovski/mini.nvim
|
-- Check out: https://github.com/echasnovski/mini.nvim
|
||||||
@ -783,7 +819,7 @@ require('lazy').setup({
|
|||||||
'nvim-treesitter/nvim-treesitter',
|
'nvim-treesitter/nvim-treesitter',
|
||||||
build = ':TSUpdate',
|
build = ':TSUpdate',
|
||||||
opts = {
|
opts = {
|
||||||
ensure_installed = { 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'vim', 'vimdoc' },
|
ensure_installed = { 'bash', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'vim', 'vimdoc', 'sql', 'go', 'typescript', 'javascript' },
|
||||||
-- Autoinstall languages that are not installed
|
-- Autoinstall languages that are not installed
|
||||||
auto_install = true,
|
auto_install = true,
|
||||||
highlight = {
|
highlight = {
|
||||||
|
11
nvim/lua/custom/plugins/dadbod.lua
Normal file
11
nvim/lua/custom/plugins/dadbod.lua
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
-- UI for working with databases from within vim.
|
||||||
|
-- https://github.com/tpope/vim-dadbod
|
||||||
|
-- https://github.com/kristijanhusak/vim-dadbod-ui
|
||||||
|
return {
|
||||||
|
'tpope/vim-dadbod',
|
||||||
|
dependencies = {
|
||||||
|
'kristijanhusak/vim-dadbod-ui',
|
||||||
|
'kristijanhusak/vim-dadbod-completion',
|
||||||
|
},
|
||||||
|
config = function() end,
|
||||||
|
}
|
58
nvim/lua/custom/plugins/lualine.lua
Normal file
58
nvim/lua/custom/plugins/lualine.lua
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
-- Highly configurable status line
|
||||||
|
-- https://github.com/nvim-lualine/lualine.nvim
|
||||||
|
return {
|
||||||
|
'nvim-lualine/lualine.nvim',
|
||||||
|
dependencies = { 'nvim-tree/nvim-web-devicons' },
|
||||||
|
opts = {
|
||||||
|
options = {
|
||||||
|
theme = 'catppuccin',
|
||||||
|
icons_enabled = true,
|
||||||
|
component_separators = { left = '', right = '' },
|
||||||
|
section_separators = { left = '', right = '' },
|
||||||
|
},
|
||||||
|
sections = {
|
||||||
|
lualine_a = { 'mode' },
|
||||||
|
lualine_b = { 'diagnostics' },
|
||||||
|
lualine_c = {
|
||||||
|
{
|
||||||
|
'filename',
|
||||||
|
file_status = true, -- Displays file status (readonly status, modified status)
|
||||||
|
newfile_status = true, -- Display new file status (new file means no write after created)
|
||||||
|
path = 1, -- Relative path
|
||||||
|
shorting_target = 40, -- Shortens path to leave 40 spaces in the window
|
||||||
|
symbols = {
|
||||||
|
modified = '', -- Text to show when the file is modified.
|
||||||
|
readonly = '', -- Text to show when the file is non-modifiable or readonly.
|
||||||
|
unnamed = '[No Name]', -- Text to show for unnamed buffers.
|
||||||
|
newfile = '', -- Text to show for newly created file before first write
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
lualine_x = { 'fileformat', 'filetype' },
|
||||||
|
lualine_y = { 'progress' },
|
||||||
|
lualine_z = { 'location' },
|
||||||
|
},
|
||||||
|
inactive_sections = {
|
||||||
|
lualine_a = {},
|
||||||
|
lualine_b = {},
|
||||||
|
lualine_c = {
|
||||||
|
{
|
||||||
|
'filename',
|
||||||
|
file_status = true, -- Displays file status (readonly status, modified status)
|
||||||
|
newfile_status = true, -- Display new file status (new file means no write after created)
|
||||||
|
path = 1, -- Relative path
|
||||||
|
shorting_target = 40, -- Shortens path to leave 40 spaces in the window
|
||||||
|
symbols = {
|
||||||
|
modified = '', -- Text to show when the file is modified.
|
||||||
|
readonly = '', -- Text to show when the file is non-modifiable or readonly.
|
||||||
|
unnamed = '[No Name]', -- Text to show for unnamed buffers.
|
||||||
|
newfile = '', -- Text to show for newly created file before first write
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
lualine_x = { 'location' },
|
||||||
|
lualine_y = {},
|
||||||
|
lualine_z = {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user