Compare commits

...

18 Commits

Author SHA1 Message Date
fd11f9966b chore(config): tmux-sessionizer bindings 2024-10-25 13:03:53 +03:00
722b3c0cde chore(scripts): tweak install-asdf, add update 2024-10-25 12:42:38 +03:00
4fcb9d9741 chore(config): fzf default opts 2024-10-25 12:42:38 +03:00
fc232f26f7 chore(config): update tmux config 2024-10-25 12:42:38 +03:00
8b078309cf chore(nvim): dashboard tweaks, add q for fast quit 2024-10-25 12:42:38 +03:00
5a8f990e52 chore(nvim): which-key tweaks 2024-10-25 12:42:38 +03:00
c76c5d08b0 chore(nvim): treesitter config tweaks 2024-10-25 12:42:38 +03:00
b2857e226c chore(nvim): telescope config tweaks 2024-10-25 12:42:38 +03:00
dfbac0c736 chore(nvim): lsp config tweaks, add neoconf, ts_ls 2024-10-25 12:42:38 +03:00
fdd713908c chore(nvim): cmp tweaks, add luasnip snippets 2024-10-25 12:42:37 +03:00
60210c9bec chore(deps): cleanup oh-my-posh config 2024-10-25 12:42:37 +03:00
eaf8d2bdca chore(config): update direnv config 2024-10-25 12:42:37 +03:00
cc00055626 chore(deps): update tool-versions & cargo-package
# Conflicts:
#	base/tool-versions
2024-10-25 12:42:34 +03:00
renovate[bot]
567de68844 feat(github-action): update actions/setup-python ( v5.2.0 → v5.3.0 )
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-24 23:17:20 +00:00
github-actions[bot]
ed0b229757 chore: update pre-commit hooks (#40)
Co-authored-by: ivuorinen <11024+ivuorinen@users.noreply.github.com>
2024-10-22 09:09:53 +03:00
c8b6243c0b chore(deps): update asdf dependencies 2024-10-17 23:47:05 +03:00
renovate[bot]
21a92eb145 chore(deps): update node to v22.10.0 (#39)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-17 23:38:09 +03:00
8ec317f582 chore: tweaks and cleanup 2024-10-17 23:29:40 +03:00
17 changed files with 272 additions and 82 deletions

View File

@@ -12,7 +12,7 @@ jobs:
pull-requests: write pull-requests: write
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: actions/setup-python@v5.2.0 - uses: actions/setup-python@v5.3.0
- run: pip install pre-commit && pre-commit autoupdate - run: pip install pre-commit && pre-commit autoupdate
- uses: peter-evans/create-pull-request@v7 - uses: peter-evans/create-pull-request@v7
with: with:

View File

@@ -40,7 +40,7 @@ repos:
- id: shellcheck - id: shellcheck
- repo: https://github.com/scop/pre-commit-shfmt - repo: https://github.com/scop/pre-commit-shfmt
rev: v3.9.0-1 rev: v3.10.0-1
hooks: hooks:
- id: shfmt - id: shfmt

View File

@@ -1,2 +1,2 @@
python 3.13.0 python 3.13.0
nodejs 22.9.0 nodejs 22.10.0

View File

@@ -1,21 +1,21 @@
asdf-plugin-manager 1.4.0 asdf-plugin-manager 1.4.0
nodejs 22.9.0 nodejs 23.0.0
golang 1.23.2 golang 1.23.2
python 3.12.7 python 3.12.7
ruby 3.3.4 ruby 3.3.4
rust 1.81.0 rust 1.82.0
direnv 2.34.0 direnv 2.35.0
fd 10.2.0 fd 10.2.0
1password-cli 2.30.0 1password-cli 2.30.0
age 1.2.0 age 1.2.0
bottom 0.10.2 bottom 0.10.2
dotenv-linter 3.3.0 dotenv-linter 3.3.0
editorconfig-checker 2.8.0 editorconfig-checker 2.8.0
github-cli 2.58.0 github-cli 2.59.0
hadolint 2.12.0 hadolint 2.12.0
kubectl 1.31.1 kubectl 1.31.1
pipx 1.7.1 pipx 1.7.1
pre-commit 3.8.0 pre-commit 4.0.1
ripgrep 14.1.1 ripgrep 14.1.1
shellcheck 0.10.0 shellcheck 0.10.0
shfmt 3.9.0 shfmt 3.9.0
@@ -26,5 +26,3 @@ yq 4.44.3
bats 1.11.0 bats 1.11.0
gitleaks 8.18.4 gitleaks 8.18.4
delta 0.18.1 delta 0.18.1
sops 3.9.0
eza system

View File

@@ -21,3 +21,5 @@ bob-nvim
bottom bottom
// A modern alternative to ls // A modern alternative to ls
eza eza
// Tmux Sessionizer: A tool for opening git repositories as tmux sessions
tmux-sessionizer

View File

@@ -1,6 +1,6 @@
1password-cli https://github.com/NeoHsu/asdf-1password-cli.git f5d5aab 1password-cli https://github.com/NeoHsu/asdf-1password-cli.git f5d5aab
age https://github.com/threkk/asdf-age.git 396bdf6 age https://github.com/threkk/asdf-age.git 396bdf6
asdf-plugin-manager https://github.com/asdf-community/asdf-plugin-manager.git 0ef4f9e asdf-plugin-manager https://github.com/asdf-community/asdf-plugin-manager.git c721275
bats https://github.com/timgluz/asdf-bats.git 299551f bats https://github.com/timgluz/asdf-bats.git 299551f
bottom https://github.com/carbonteq/asdf-btm.git fd8a55a bottom https://github.com/carbonteq/asdf-btm.git fd8a55a
delta https://github.com/andweeb/asdf-delta.git 501318b delta https://github.com/andweeb/asdf-delta.git 501318b
@@ -10,19 +10,20 @@ editorconfig-checker https://github.com/gabitchov/asdf-editorconfig-checker.git
fd https://gitlab.com/wt0f/asdf-fd.git 17d56e0 fd https://gitlab.com/wt0f/asdf-fd.git 17d56e0
github-cli https://github.com/bartlomiejdanek/asdf-github-cli.git e0605b7 github-cli https://github.com/bartlomiejdanek/asdf-github-cli.git e0605b7
gitleaks https://github.com/jmcvetta/asdf-gitleaks.git 0cc0d7e gitleaks https://github.com/jmcvetta/asdf-gitleaks.git 0cc0d7e
golang https://github.com/asdf-community/asdf-golang.git d4f1d65 golang https://github.com/asdf-community/asdf-golang.git e2527a3
hadolint https://github.com/devlincashman/asdf-hadolint.git 335e230 hadolint https://github.com/devlincashman/asdf-hadolint.git 335e230
kubectl https://github.com/asdf-community/asdf-kubectl.git 2fb3b57 kubectl https://github.com/asdf-community/asdf-kubectl.git 2fb3b57
nodejs https://github.com/asdf-vm/asdf-nodejs.git c36e6f0 nodejs https://github.com/asdf-vm/asdf-nodejs.git c36e6f0
php https://github.com/asdf-community/asdf-php.git 52c669a
pipx https://github.com/yozachar/asdf-pipx.git 31db618 pipx https://github.com/yozachar/asdf-pipx.git 31db618
pre-commit https://github.com/jonathanmorley/asdf-pre-commit.git 26bfc42 pre-commit https://github.com/jonathanmorley/asdf-pre-commit.git 26bfc42
python https://github.com/asdf-community/asdf-python a3a0185 python https://github.com/asdf-community/asdf-python a3a0185
ripgrep https://gitlab.com/wt0f/asdf-ripgrep.git e836665 ripgrep https://gitlab.com/wt0f/asdf-ripgrep.git e836665
ruby https://github.com/asdf-vm/asdf-ruby.git 96334db ruby https://github.com/asdf-vm/asdf-ruby.git e955978
rust https://github.com/code-lever/asdf-rust.git 95acf4f rust https://github.com/code-lever/asdf-rust.git 95acf4f
shellcheck https://github.com/luizm/asdf-shellcheck.git 66200ff shellcheck https://github.com/luizm/asdf-shellcheck.git 66200ff
shfmt https://github.com/luizm/asdf-shfmt.git a42c5ff shfmt https://github.com/luizm/asdf-shfmt.git a42c5ff
terragrunt https://github.com/ohmer/asdf-terragrunt.git 4a6651a terragrunt https://github.com/ohmer/asdf-terragrunt.git 4a6651a
tf-summarize https://github.com/adamcrews/asdf-tf-summarize.git 880ad26 tf-summarize https://github.com/adamcrews/asdf-tf-summarize.git 880ad26
yamllint https://github.com/ericcornelissen/asdf-yamllint.git 38e3870 yamllint https://github.com/ericcornelissen/asdf-yamllint.git 2f825d9
yq https://github.com/sudermanjr/asdf-yq.git 772992f yq https://github.com/sudermanjr/asdf-yq.git 772992f

View File

@@ -1,11 +1,11 @@
[global] [global]
disable_stdin = true disable_stdin = false
load_dotenv = true load_dotenv = true
hide_env_diff = true hide_env_diff = false
[whitelist] [whitelist]
prefix = [ prefix = [
"~/Code/ivuorinen/" "~/Code/"
] ]
exact = [ exact = [
"~/.dotfiles/.envrc" "~/.dotfiles/.envrc"

View File

@@ -25,12 +25,11 @@ fi
# Load asdf # Load asdf
export ASDF_DIR="$XDG_BIN_HOME/asdf" export ASDF_DIR="$XDG_BIN_HOME/asdf"
if [[ -d $ASDF_DIR ]]; then if [[ -d $ASDF_DIR ]]; then
[[ -d $ASDF_DIR/bin ]] && x-path-prepend "$ASDF_DIR/bin"
[[ -d $ASDF_DIR/shims ]] && x-path-prepend "$ASDF_DIR/shims"
[[ -d $ASDF_DIR/completions ]] && fpath=("$ASDF_DIR/completions" $fpath) [[ -d $ASDF_DIR/completions ]] && fpath=("$ASDF_DIR/completions" $fpath)
[[ -d $ASDF_DIR/plugins ]] && fpath=("$ASDF_DIR/plugins" $fpath) [[ -d $ASDF_DIR/plugins ]] && fpath=("$ASDF_DIR/plugins" $fpath)
source "$ASDF_DIR/asdf.sh" source "$ASDF_DIR/asdf.sh"
fi fi
export PATH="$ASDF_DIR/bin:$ASDF_DIR/shims:$PATH"
if ! command -v msg &> /dev/null; then if ! command -v msg &> /dev/null; then
# Function to print messages if VERBOSE is enabled # Function to print messages if VERBOSE is enabled
@@ -400,6 +399,9 @@ x-dc "$DOCKER_CONFIG"
# Docker: Disable snyk ad # Docker: Disable snyk ad
export DOCKER_SCAN_SUGGEST=false export DOCKER_SCAN_SUGGEST=false
# fzf
export FZF_DEFAULT_OPTS='--height 40% --tmux bottom,40% --layout reverse --border top'
# GnuPG # GnuPG
# https://gnupg.org/documentation/manuals/gnupg/Invoking-GPG.html # https://gnupg.org/documentation/manuals/gnupg/Invoking-GPG.html
msg "Setting up GnuPG configuration" msg "Setting up GnuPG configuration"

View File

@@ -14,15 +14,17 @@ return {
-- https://github.com/L3MON4D3/LuaSnip -- https://github.com/L3MON4D3/LuaSnip
{ {
'L3MON4D3/LuaSnip', 'L3MON4D3/LuaSnip',
version = '*',
event = 'BufReadPre',
build = 'make install_jsregexp', build = 'make install_jsregexp',
dependencies = { dependencies = {
-- luasnip completion source for nvim-cmp -- luasnip completion source for nvim-cmp
-- https://github.com/saadparwaiz1/cmp_luasnip -- https://github.com/saadparwaiz1/cmp_luasnip
'saadparwaiz1/cmp_luasnip', 'saadparwaiz1/cmp_luasnip',
'rafamadriz/friendly-snippets', 'rafamadriz/friendly-snippets',
'molleweide/LuaSnip-snippets.nvim',
}, },
}, },
{ 'saadparwaiz1/cmp_luasnip' },
-- ── Adds other completion capabilities. ───────────────────────────── -- ── Adds other completion capabilities. ─────────────────────────────
-- ── nvim-cmp does not ship with all sources by default. -- ── nvim-cmp does not ship with all sources by default.
@@ -86,7 +88,9 @@ return {
local luasnip = require 'luasnip' local luasnip = require 'luasnip'
local lspkind = require 'lspkind' local lspkind = require 'lspkind'
luasnip.config.setup {} luasnip.config.setup {}
luasnip.snippets = require('luasnip_snippets').load_snippets()
require('luasnip.loaders.from_vscode').lazy_load() require('luasnip.loaders.from_vscode').lazy_load()
require('copilot_cmp').setup() require('copilot_cmp').setup()
require('cmp_dictionary').setup { require('cmp_dictionary').setup {

View File

@@ -19,6 +19,11 @@ capabilities.textDocument.foldingRange = {
} }
return { return {
{
'folke/neoconf.nvim',
cmd = 'Neoconf',
opts = {},
},
-- Portable package manager for Neovim that runs everywhere Neovim runs. -- Portable package manager for Neovim that runs everywhere Neovim runs.
-- Easily install and manage LSP servers, DAP servers, linters, and formatters. -- Easily install and manage LSP servers, DAP servers, linters, and formatters.
-- https://github.com/williamboman/mason.nvim -- https://github.com/williamboman/mason.nvim
@@ -31,15 +36,12 @@ return {
-- Mason servers to install -- Mason servers to install
-- See: https://mason-registry.dev/registry/list -- See: https://mason-registry.dev/registry/list
ensure_installed = { ensure_installed = {
'bash-language-server',
'clang-format', 'clang-format',
'codespell', 'codespell',
'commitlint', 'commitlint',
'diagnostic-languageserver',
'editorconfig-checker', 'editorconfig-checker',
'fixjson', 'fixjson',
'jsonlint', 'jsonlint',
'lua-language-server',
'luacheck', 'luacheck',
'phpcbf', 'phpcbf',
'phpcs', 'phpcs',
@@ -48,8 +50,6 @@ return {
'shellcheck', 'shellcheck',
'shfmt', 'shfmt',
'stylua', 'stylua',
'vim-language-server',
'vue-language-server',
'yamllint', 'yamllint',
}, },
}, },
@@ -64,13 +64,16 @@ return {
ensure_installed = { ensure_installed = {
'bashls', 'bashls',
-- 'csharp_ls', -- 'csharp_ls',
'diagnosticls',
'gopls', 'gopls',
'html', 'html',
'intelephense', 'intelephense',
'jsonls',
'lua_ls',
'tailwindcss', 'tailwindcss',
'ts_ls', 'ts_ls',
'lua_ls', 'vimls',
'jsonls', 'volar',
}, },
automatic_installation = true, automatic_installation = true,
handlers = { handlers = {
@@ -184,14 +187,34 @@ return {
}, },
} }
end, end,
['ts_ls'] = function()
local mason_registry = require 'mason-registry'
local ts_plugin_location = mason_registry
.get_package('vue-language-server')
:get_install_path() .. '/node_modules/@vue/typescript-plugin'
require('lspconfig')['volar'].setup {
init_options = {
plugins = {
{
name = '@vue/typescript-plugin',
location = ts_plugin_location,
languages = { 'javascript', 'typescript', 'vue' },
},
},
},
filetypes = {
'typescript',
'javascript',
'javascriptreact',
'typescriptreact',
'vue',
},
}
end,
}, },
}, },
}, },
-- Automatically install formatters registered with conform.nvim via mason.nvim
-- https://github.com/zapling/mason-conform.nvim
-- { 'zapling/mason-conform.nvim', opts = {} },
-- ── Misc ─────────────────────────────────────────────────── -- ── Misc ───────────────────────────────────────────────────
-- vscode-like pictograms for neovim lsp completion items -- vscode-like pictograms for neovim lsp completion items
-- https://github.com/onsails/lspkind-nvim -- https://github.com/onsails/lspkind-nvim
@@ -203,7 +226,7 @@ return {
-- ── LSP ──────────────────────────────────────────────────── -- ── LSP ────────────────────────────────────────────────────
-- Quick start configs for Nvim LSP -- Quick start configs for Nvim LSP
-- https://github.com/neovim/nvim-lspconfig -- https://github.com/neovim/nvim-lspconfig
{ 'neovim/nvim-lspconfig' }, { 'neovim/nvim-lspconfig', dependencies = { 'folke/neoconf.nvim' } },
-- Garbage collector that stops inactive LSP clients to free RAM -- Garbage collector that stops inactive LSP clients to free RAM
-- https://github.com/Zeioth/garbage-day.nvim -- https://github.com/Zeioth/garbage-day.nvim

View File

@@ -14,6 +14,10 @@ return {
-- https://github.com/polirritmico/telescope-lazy-plugins.nvim -- https://github.com/polirritmico/telescope-lazy-plugins.nvim
{ 'polirritmico/telescope-lazy-plugins.nvim' }, { 'polirritmico/telescope-lazy-plugins.nvim' },
-- Neovim plugin. Telescope.nvim extension that adds LuaSnip integration.
-- https://github.com/benfowler/telescope-luasnip.nvim
{ 'benfowler/telescope-luasnip.nvim' },
-- Fuzzy Finder Algorithm which requires local dependencies to be built. -- Fuzzy Finder Algorithm which requires local dependencies to be built.
-- Only load if `make` is available -- Only load if `make` is available
{ {
@@ -21,6 +25,10 @@ return {
build = 'make', build = 'make',
cond = vim.fn.executable 'make' == 1, cond = vim.fn.executable 'make' == 1,
}, },
-- Import modules with ease
-- https://github.com/piersolenski/telescope-import.nvim
{ 'piersolenski/telescope-import.nvim' },
}, },
config = function() config = function()
local t = require 'telescope' local t = require 'telescope'
@@ -51,6 +59,23 @@ return {
-- Must be a valid path to the file containing the lazy spec and setup() call. -- Must be a valid path to the file containing the lazy spec and setup() call.
lazy_config = vim.fn.stdpath 'config' .. '/init.lua', lazy_config = vim.fn.stdpath 'config' .. '/init.lua',
}, },
import = {
-- Imports can be added at a specified line whilst keeping the cursor in place
insert_at_top = true,
-- Optionally support additional languages or modify existing languages...
custom_languages = {
{
-- The filetypes that ripgrep supports (find these via `rg --type-list`)
extensions = { 'js', 'ts' },
-- The Vim filetypes
filetypes = { 'vue' },
-- Optionally set a line other than 1
insert_at_line = 2, ---@type function|number
-- The regex pattern for the import statement
regex = [[^(?:import(?:[\"'\s]*([\w*{}\n, ]+)from\s*)?[\"'\s](.*?)[\"'\s].*)]],
},
},
},
}, },
} }
@@ -58,6 +83,8 @@ return {
pcall(t.load_extension, 'harpoon') pcall(t.load_extension, 'harpoon')
pcall(t.load_extension, 'git_worktree') pcall(t.load_extension, 'git_worktree')
pcall(t.load_extension, 'lazy_plugins') pcall(t.load_extension, 'lazy_plugins')
pcall(t.load_extension, 'luasnip')
pcall(t.load_extension, 'import')
-- Enable telescope fzf native, if installed -- Enable telescope fzf native, if installed
pcall(t.load_extension, 'fzf') pcall(t.load_extension, 'fzf')
@@ -67,10 +94,12 @@ return {
-- See `:help telescope.keymap` -- See `:help telescope.keymap`
vim.keymap.set('n', '<leader>/', function() vim.keymap.set('n', '<leader>/', function()
-- You can pass additional configuration to telescope to change theme, layout, etc. -- You can pass additional configuration to telescope to change theme, layout, etc.
require('telescope.builtin').current_buffer_fuzzy_find(themes.get_dropdown { require('telescope.builtin').current_buffer_fuzzy_find(
winblend = 10, themes.get_dropdown {
previewer = true, winblend = 20,
}) previewer = true,
}
)
end, { desc = '[/] Fuzzily search in current buffer]' }) end, { desc = '[/] Fuzzily search in current buffer]' })
end, end,
} }

View File

@@ -8,6 +8,9 @@ return {
end, end,
dependencies = { dependencies = {
'nvim-treesitter/nvim-treesitter-textobjects', 'nvim-treesitter/nvim-treesitter-textobjects',
'nvim-treesitter/nvim-treesitter-refactor',
'nvim-treesitter/nvim-treesitter-context',
'JoosepAlviste/nvim-ts-context-commentstring',
}, },
config = function() config = function()
require('nvim-treesitter.configs').setup { require('nvim-treesitter.configs').setup {
@@ -47,6 +50,32 @@ return {
'yaml', 'yaml',
}, },
refactor = {
navigation = {
enable = true,
-- Assign keymaps to false to disable them, e.g. `goto_definition = false`.
keymaps = {
goto_definition = '<leader>gnd',
list_definitions = '<leader>gnD',
list_definitions_toc = '<leader>gO',
goto_next_usage = '<a-*>',
goto_previous_usage = '<a-#>',
},
},
smart_rename = {
enable = true,
-- Assign keymaps to false to disable them, e.g. `smart_rename = false`.
keymaps = {
smart_rename = 'grr',
},
},
highlight_definitions = {
enable = true,
-- Set to false if you have an `updatetime` of ~100.
clear_on_cursor_move = true,
},
highlight_current_scope = { enable = false },
},
highlight = { enable = true }, highlight = { enable = true },
indent = { enable = true }, indent = { enable = true },
incremental_selection = { incremental_selection = {

View File

@@ -82,6 +82,13 @@ return {
action = 'Lazy update', action = 'Lazy update',
key = 'u', key = 'u',
}, },
{
icon = '',
desc = 'Quit',
group = 'DiagnosticError',
action = 'q',
key = 'q',
},
}, },
}, },
} }

View File

@@ -190,6 +190,11 @@ return {
'<cmd>Lspsaga diagnostic_jump_next<cr>', '<cmd>Lspsaga diagnostic_jump_next<cr>',
desc = 'LSPSaga: Diagnostic Jump Next', desc = 'LSPSaga: Diagnostic Jump Next',
}, },
{
'<leader>cx',
'<cmd>Telescope import<cr>',
desc = 'Telescope import',
},
-- ── DAP ───────────────────────────────────────────────────────────── -- ── DAP ─────────────────────────────────────────────────────────────
{ '<leader>d', group = '[d] DAP' }, { '<leader>d', group = '[d] DAP' },
@@ -266,24 +271,34 @@ return {
-- See: lua/plugins/telescope.lua -- See: lua/plugins/telescope.lua
{ {
'<leader><space>', '<leader><space>',
"<cmd>lua require('telescope.builtin').buffers()<cr>", '<cmd>Telescope buffers<cr>',
desc = 'Find existing buffers', desc = 'Find existing buffers',
}, },
{ {
'<leader><tab>', '<leader>sc',
"<cmd>lua require('telescope.builtin').commands()<CR>", '<cmd>Telescope commands<CR>',
desc = 'Telescope: Commands', desc = 'Telescope: Commands',
}, },
{ {
'<leader>sd', '<leader>sd',
"<cmd>lua require('telescope.builtin').diagnostics()<cr>", '<cmd>Telescope diagnostics<cr>',
desc = 'Search Diagnostics', desc = 'Search Diagnostics',
}, },
{ {
'<leader>sg', '<leader>sg',
"<cmd>lua require('telescope.builtin').live_grep()<cr>", '<cmd>Telescope live_grep<cr>',
desc = 'Search by Grep', desc = 'Search by Grep',
}, },
{
'<leader>sh',
'<cmd>Telescope highlights<cr>',
desc = 'List highlights',
},
{
'<leader>sl',
'<cmd>Telescope luasnip<CR>',
desc = 'Search LuaSnip',
},
{ {
'<leader>sm', '<leader>sm',
'<cmd>Telescope harpoon marks<CR>', '<cmd>Telescope harpoon marks<CR>',
@@ -296,7 +311,7 @@ return {
}, },
{ {
'<leader>so', '<leader>so',
"<cmd>lua require('telescope.builtin').oldfiles()<cr>", '<cmd>Telescope oldfiles<cr>',
desc = 'Find recently Opened files', desc = 'Find recently Opened files',
}, },
{ {
@@ -304,10 +319,54 @@ return {
"<cmd>lua require('telescope').extensions.lazy_plugins.lazy_plugins()<cr>", "<cmd>lua require('telescope').extensions.lazy_plugins.lazy_plugins()<cr>",
desc = 'Find neovim/lazy configs', desc = 'Find neovim/lazy configs',
}, },
{
'<leader>sq',
'<cmd>Telescope quickfix<cr>',
desc = 'Quickfix list',
},
{
'<leader>sr',
group = 'References',
{
'<leader>srd',
'<cmd>Telescope lsp_definitions<CR>',
desc = 'Definitions',
},
{
'<leader>sri',
'<cmd>Telescope lsp_implementations<CR>',
desc = 'Implementations',
},
{
'<leader>srp',
'<cmd>Telescope lsp_document_symbols<CR>',
desc = 'Document Symbols',
},
{
'<leader>srr',
'<cmd>Telescope lsp_references<CR>',
desc = 'LSP References',
},
{
'<leader>srt',
'<cmd>Telescope lsp_type_definitions<CR>',
desc = 'Type Definitions',
},
{
'<leader>srw',
'<cmd>Telescope lsp_workspace_symbols<CR>',
desc = 'Workspace Symbols',
},
},
{
'<leader>ss',
'<cmd>Telescope treesitter',
desc = 'Treesitter symbols',
},
{ '<leader>st', '<cmd>TodoTelescope<CR>', desc = 'Telescope: Show Todo' }, { '<leader>st', '<cmd>TodoTelescope<CR>', desc = 'Telescope: Show Todo' },
{ {
'<leader>sw', '<leader>sw',
"<cmd>lua require('telescope.builtin').grep_string()<cr>", '<cmd>Telescope grep_string<cr>',
desc = 'Search current Word', desc = 'Search current Word',
}, },
@@ -375,6 +434,16 @@ return {
-- ── Help ──────────────────────────────────────────────────────────── -- ── Help ────────────────────────────────────────────────────────────
{ '<leader>?', group = '[?] Help & Cheat sheets' }, { '<leader>?', group = '[?] Help & Cheat sheets' },
{ {
{
'<leader>?h',
'<cmd>Telescope help_tags<cr>',
desc = 'Help tags',
},
{
'<leader>?m',
'<cmd>Telescope man_pages<cr>',
desc = 'Man pages',
},
{ {
'<leader>?w', '<leader>?w',
'<cmd>lua require("which-key").show({global = true})<cr>', '<cmd>lua require("which-key").show({global = true})<cr>',

View File

@@ -36,7 +36,6 @@ type = "prompt"
type = "git" type = "git"
style = "plain" style = "plain"
foreground = "lightGreen" foreground = "lightGreen"
# template = "{{ .UpstreamIcon }}{{ .HEAD }} {{ if or (.Staging.Changed) (.Working.Changed) }}({{if .Behind }}\u2193 {{ .Behind }} {{ end }}{{if .Staging.Changed }}\uF046 {{ .Staging.String }} {{ end }}{{ if and (.Staging.Changed) (.Working.Changed) }}| {{ end }}{{ if .Working.Changed }} {{ .Working.String }}{{ end }}){{ end }}"
template = "{{ .UpstreamIcon }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }}  {{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }}  {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }}  {{ .StashCount }}{{ end }}" template = "{{ .UpstreamIcon }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }}  {{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }}  {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }}  {{ .StashCount }}{{ end }}"
[blocks.segments.properties] [blocks.segments.properties]

View File

@@ -28,6 +28,15 @@ bind -n M-Down select-pane -D
# Reload tmux config with <prefix> + r # Reload tmux config with <prefix> + r
bind r source-file ~/.dotfiles/config/tmux/tmux.conf \; display "tmux cfg reloaded!" bind r source-file ~/.dotfiles/config/tmux/tmux.conf \; display "tmux cfg reloaded!"
# Switch to next client with <prefix>( and previous with <prefix>)
bind -r '(' switch-client -p\; refresh-client -S
bind -r ')' switch-client -n\; refresh-client -S
# tms, https://github.com/jrmoulton/tmux-sessionizer
bind C-h display-popup -E "tms"
bind C-j display-popup -E "tms switch"
bind C-k display-popup -E "tms windows"
# Open a new window with <prefix> + N # Open a new window with <prefix> + N
bind N new-window bind N new-window
@@ -112,7 +121,7 @@ set-option -g status-left ''
set-option -g window-status-format ' #I:#W ' set-option -g window-status-format ' #I:#W '
set-option -g window-status-current-format ' #I:#W#{?window_zoomed_flag, ◈ ,} ' set-option -g window-status-current-format ' #I:#W#{?window_zoomed_flag, ◈ ,} '
set-option -g status-right "#{hostname_short}/#S #{tmux_mode_indicator}" set-option -g status-right "#{hostname_short}/#(tms sessions) #{tmux_mode_indicator}"
set -g pane-border-style "fg=#3b4261" set -g pane-border-style "fg=#3b4261"
set -g pane-active-border-style "fg=#7aa2f7" set -g pane-active-border-style "fg=#7aa2f7"
@@ -138,15 +147,15 @@ set -g @tmux_window_name_max_name_len "20"
set -g @tmux_window_name_use_tilde "True" set -g @tmux_window_name_use_tilde "True"
set -g @tmux_window_name_shells "['bash', 'fish', 'sh', 'zsh', 'oh-my-posh']" set -g @tmux_window_name_shells "['bash', 'fish', 'sh', 'zsh', 'oh-my-posh']"
set -g @tmux_window_dir_programs "['nvim', 'vim', 'vi', 'git']" set -g @tmux_window_dir_programs "['nvim', 'vim', 'vi', 'git']"
set -g @tmux_window_name_ignored_programs "['sqlite3', 'x-set-php-aliases', 'oh-my-posh', 'antidot']" # Default is [] set -g @tmux_window_name_ignored_programs "['sqlite3', 'x-set-php-aliases', 'oh-my-posh', 'antidot', 'direnv']" # Default is []
set -g @tmux_window_name_substitute_sets "[('.+ipython2', 'ipython2'), ('.+ipython3', 'ipython3'), ('.+\.local', '.local')]" set -g @tmux_window_name_substitute_sets "[('.+ipython2', 'ipython2'), ('.+ipython3', 'ipython3'), ('.+\.local', '.local'), ('.+asdf', 'asdf')]"
## https://github.com/tmux-plugins/tmux-continuum ## https://github.com/tmux-plugins/tmux-continuum
set -g @continuum-restore 'on' # set -g @continuum-restore 'on'
## https://github.com/tmux-plugins/tmux-resurrect ## https://github.com/tmux-plugins/tmux-resurrect
set -g @resurrect-strategy-nvim 'session' # set -g @resurrect-strategy-nvim 'session'
set -g @resurrect-dir '~/.local/state/tmux/tmux-resurrect' # set -g @resurrect-dir '~/.local/state/tmux/tmux-resurrect'
## https://github.com/MunifTanjim/tmux-mode-indicator ## https://github.com/MunifTanjim/tmux-mode-indicator
set -g @mode_indicator_prefix_mode_style 'bg=default,fg=#7aa2f7' set -g @mode_indicator_prefix_mode_style 'bg=default,fg=#7aa2f7'
@@ -160,9 +169,9 @@ set -g @mode_indicator_sync_mode_style 'bg=default,fg=red'
run-shell ~/.dotfiles/config/tmux/plugins/tmux-sensible/sensible.tmux run-shell ~/.dotfiles/config/tmux/plugins/tmux-sensible/sensible.tmux
run-shell ~/.dotfiles/config/tmux/plugins/tmux-window-name/tmux_window_name.tmux run-shell ~/.dotfiles/config/tmux/plugins/tmux-window-name/tmux_window_name.tmux
run-shell ~/.dotfiles/config/tmux/plugins/tmux-resurrect/resurrect.tmux # run-shell ~/.dotfiles/config/tmux/plugins/tmux-resurrect/resurrect.tmux
run-shell ~/.dotfiles/config/tmux/plugins/tmux-continuum/continuum.tmux # run-shell ~/.dotfiles/config/tmux/plugins/tmux-continuum/continuum.tmux
run-shell ~/.dotfiles/config/tmux/plugins/tmux-sessionist/sessionist.tmux # run-shell ~/.dotfiles/config/tmux/plugins/tmux-sessionist/sessionist.tmux
run-shell ~/.dotfiles/config/tmux/plugins/tmux-mode-indicator/mode_indicator.tmux run-shell ~/.dotfiles/config/tmux/plugins/tmux-mode-indicator/mode_indicator.tmux
run-shell ~/.dotfiles/config/tmux/plugins/tmux-suspend/suspend.tmux run-shell ~/.dotfiles/config/tmux/plugins/tmux-suspend/suspend.tmux
run-shell ~/.dotfiles/config/tmux/plugins/tmux-yank/yank.tmux run-shell ~/.dotfiles/config/tmux/plugins/tmux-yank/yank.tmux

View File

@@ -4,7 +4,7 @@
# #
# It also updates asdf and the plugins, and then reshim asdf. # It also updates asdf and the plugins, and then reshim asdf.
# #
# Usage: ./install-asdf.sh [both|install|add_plugins] # Usage: ./install-asdf.sh [both|install|update|add_plugins]
# Author: Ismo Vuorinen <https://github.com/ivuorinen> # Author: Ismo Vuorinen <https://github.com/ivuorinen>
# License: MIT # License: MIT
# #
@@ -13,9 +13,40 @@ source "${DOTFILES}/config/shared.sh"
export ASDF_DIR="${XDG_BIN_HOME}/asdf" export ASDF_DIR="${XDG_BIN_HOME}/asdf"
export PATH="${ASDF_DIR}/bin:$PATH" export PATH="${ASDF_DIR}/bin:$PATH"
# If ASDF_PLUGIN_MANAGER_PLUGIN_VERSIONS_FILENAME is not set, set it
if [ -z "${ASDF_PLUGIN_MANAGER_PLUGIN_VERSIONS_FILENAME}" ]; then
export ASDF_PLUGIN_MANAGER_PLUGIN_VERSIONS_FILENAME="${XDG_CONFIG_HOME}/asdf/plugin-versions"
fi
msg "Sourcing asdf in your shell" msg "Sourcing asdf in your shell"
. "$ASDF_DIR/asdf.sh" . "$ASDF_DIR/asdf.sh"
ASDF_INSTALLABLES=(
"1password-cli:github.com/NeoHsu/asdf-1password-cli.git"
"age:github.com/threkk/asdf-age.git"
"bottom:github.com/carbonteq/asdf-btm.git"
"direnv:github.com/asdf-community/asdf-direnv.git"
"dotenv-linter:github.com/wesleimp/asdf-dotenv-linter.git"
"editorconfig-checker:github.com/gabitchov/asdf-editorconfig-checker.git"
"fd:gitlab.com/wt0f/asdf-fd.git"
"github-cli:github.com/bartlomiejdanek/asdf-github-cli.git"
"golang:github.com/asdf-community/asdf-golang.git"
"hadolint:github.com/devlincashman/asdf-hadolint.git"
"kubectl:github.com/asdf-community/asdf-kubectl.git"
"nodejs:github.com/asdf-vm/asdf-nodejs.git"
"pipx:github.com/yozachar/asdf-pipx.git"
"pre-commit:github.com/jonathanmorley/asdf-pre-commit.git"
"python:github.com/asdf-community/asdf-python.git"
"ripgrep:gitlab.com/wt0f/asdf-ripgrep.git"
"rust:github.com/code-lever/asdf-rust.git"
"shellcheck:github.com/luizm/asdf-shellcheck.git"
"shfmt:github.com/luizm/asdf-shfmt.git"
"terragrunt:github.com/ohmer/asdf-terragrunt.git"
"tf-summarize:github.com/adamcrews/asdf-tf-summarize.git"
"yamllint:github.com/ericcornelissen/asdf-yamllint.git"
"yq:github.com/sudermanjr/asdf-yq.git"
)
# Function to update asdf and plugins # Function to update asdf and plugins
update_asdf() update_asdf()
{ {
@@ -24,41 +55,24 @@ update_asdf()
asdf global asdf-plugin-manager "$(asdf latest asdf-plugin-manager)" asdf global asdf-plugin-manager "$(asdf latest asdf-plugin-manager)"
asdf-plugin-manager version asdf-plugin-manager version
asdf-plugin-manager add-all asdf-plugin-manager add-all
asdf-plugin-manager update-all
asdf-plugin-manager export > "${ASDF_PLUGIN_MANAGER_PLUGIN_VERSIONS_FILENAME}"
asdf install asdf install
return 0 return 0
} }
update_asdf_commands()
{
msg "Updating asdf commands using asdf-plugin-manager"
asdf-plugin-manager update-all
return 0
}
# Function to install asdf plugins # Function to install asdf plugins
install_asdf_plugins() install_asdf_plugins()
{ {
ASDF_INSTALLABLES=(
"1password-cli:github.com/NeoHsu/asdf-1password-cli.git"
"age:github.com/threkk/asdf-age.git"
"bottom:github.com/carbonteq/asdf-btm.git"
"direnv:github.com/asdf-community/asdf-direnv.git"
"dotenv-linter:github.com/wesleimp/asdf-dotenv-linter.git"
"editorconfig-checker:github.com/gabitchov/asdf-editorconfig-checker.git"
"fd:gitlab.com/wt0f/asdf-fd.git"
"github-cli:github.com/bartlomiejdanek/asdf-github-cli.git"
"golang:github.com/asdf-community/asdf-golang.git"
"hadolint:github.com/devlincashman/asdf-hadolint.git"
"kubectl:github.com/asdf-community/asdf-kubectl.git"
"nodejs:github.com/asdf-vm/asdf-nodejs.git"
"pipx:github.com/yozachar/asdf-pipx.git"
"pre-commit:github.com/jonathanmorley/asdf-pre-commit.git"
"python:github.com/asdf-community/asdf-python.git"
"ripgrep:gitlab.com/wt0f/asdf-ripgrep.git"
"rust:github.com/code-lever/asdf-rust.git"
"shellcheck:github.com/luizm/asdf-shellcheck.git"
"shfmt:github.com/luizm/asdf-shfmt.git"
"terragrunt:github.com/ohmer/asdf-terragrunt.git"
"tf-summarize:github.com/adamcrews/asdf-tf-summarize.git"
"yamllint:github.com/ericcornelissen/asdf-yamllint.git"
"yq:github.com/sudermanjr/asdf-yq.git"
)
msg "Installing asdf plugins" msg "Installing asdf plugins"
for item in "${ASDF_INSTALLABLES[@]}"; do for item in "${ASDF_INSTALLABLES[@]}"; do
CMD=$(echo "${item}" | awk -F ":" '{print $1}') CMD=$(echo "${item}" | awk -F ":" '{print $1}')
@@ -70,7 +84,7 @@ install_asdf_plugins()
done done
msg "Exporting asdf plugin versions" msg "Exporting asdf plugin versions"
asdf-plugin-manager export > "${XDG_CONFIG_HOME}/asdf/plugin-versions" asdf-plugin-manager export > "${ASDF_PLUGIN_MANAGER_PLUGIN_VERSIONS_FILENAME}"
return 0 return 0
} }
@@ -85,7 +99,7 @@ reshim()
# create usage function # create usage function
usage() usage()
{ {
echo "Usage: $0 [both|install|add_plugins]" echo "Usage: $0 [both|install|add_plugins|update]"
exit 1 exit 1
} }
@@ -97,6 +111,10 @@ main()
update_asdf update_asdf
reshim reshim
;; ;;
"update")
update_asdf_commands
reshim
;;
"install") "install")
update_asdf update_asdf
reshim reshim