Compare commits

...

17 Commits

Author SHA1 Message Date
Valeriy Filippov
1b953e2c9e tmux: fix typo 2026-05-05 10:06:28 +03:00
Valeriy Filippov
db2dab6ee2 tmux: add config 2026-05-04 16:07:25 +03:00
Valeriy Filippov
d21e83c921 nvim: upd mason config 2026-04-17 11:04:26 +03:00
Valeriy Filippov
eec510c9fb nvim: remove ansible ftype plugin 2026-04-17 11:04:07 +03:00
Valeriy Filippov
36e44c4ea8 mise: fix mise env decryption problem #2
mise use rops under the hood, so variable SOPS_AGE_KEY_FILE not working
properly when you open new terminal pane in directory under mise config.
Change it to sops.age_key_file setting fixes the problem.
2026-04-17 11:03:41 +03:00
Valeriy Filippov
b4f025c019 mise: fix mise env decryption problem
mise use rops under the hood, so variable SOPS_AGE_KEY_FILE not working
properly when you open new terminal pane in directory under mise config.
Change it to sops.age_key_file setting fixes the problem.
2026-04-06 17:43:39 +03:00
Valeriy Filippov
cef0c0bdf7 mason: bump terraformls version 2026-04-03 15:43:05 +03:00
Valeriy Filippov
23fb9d2593 Update READMEs 2026-04-03 15:42:43 +03:00
Valeriy Filippov
4717c01483 nvim: update README for tree-sitter dependencie 2026-04-03 15:34:03 +03:00
Valeriy Filippov
e82f6e5356 nvim: fix treesitter config for 0.12 nvim version 2026-04-03 15:31:40 +03:00
Valeriy Filippov
5f7db64250 nvim: zsh interactive mode causes problems with fzf installed 2026-04-03 15:31:15 +03:00
Valeriy Filippov
05b5c17a56 starship: remove k8s ctx and command duration 2026-04-03 15:30:32 +03:00
Valeriy Filippov
ab111b9fb9 nvim: fix commentstring error 2026-04-02 18:15:32 +03:00
Valeriy Filippov
905e22a712 nvim: todo coments in hidden folders 2026-04-02 18:14:54 +03:00
Valeriy Filippov
1930f98e22 nvim: update yamlls with reference tag 2026-04-02 18:14:32 +03:00
Valeriy Filippov
4fa8591142 nvim: update used shell 2026-04-02 18:14:08 +03:00
Valeriy Filippov
5549cae9d4 update shell complition, functions and aliases 2026-04-02 18:13:43 +03:00
15 changed files with 210 additions and 143 deletions

2
.gitignore vendored
View File

@@ -15,6 +15,8 @@ mise/*
nvim/lazy-lock.json nvim/lazy-lock.json
nvim/lazyvim.json nvim/lazyvim.json
!tmux/
!yazi/ !yazi/
yazi/flavours/ yazi/flavours/
yazi/plugins/ yazi/plugins/

View File

@@ -67,7 +67,7 @@ plugins=(
) )
``` ```
### ### Fabric
https://github.com/Mu-L/fabric-ai/tree/main https://github.com/Mu-L/fabric-ai/tree/main
```shell ```shell
@@ -134,6 +134,13 @@ https://mise.jdx.dev/
brew install mise brew install mise
``` ```
### OpenCode
https://github.com/anomalyco/opencode
```shell
brew install opencode
```
### Pwgen ### Pwgen
https://github.com/aronhoyer/pwgen https://github.com/aronhoyer/pwgen

View File

@@ -11,7 +11,7 @@ categories:
source: source:
# renovate:datasource=github-releases # renovate:datasource=github-releases
id: pkg:generic/hashicorp/terraform-ls@v0.38.4 id: pkg:generic/hashicorp/terraform-ls@v0.38.6
download: download:
- target: darwin_arm64 - target: darwin_arm64
files: files:

View File

@@ -1,11 +1,21 @@
[settings] [settings]
experimental = true experimental = true
env_shell_expand = true env_shell_expand = true
sops.age_key_file = "$HOME/.config/sops/.age"
[env] [env]
_.file = ".secrets.yaml"
SOPS_AGE_KEY_FILE = "$HOME/.config/sops/.age" SOPS_AGE_KEY_FILE = "$HOME/.config/sops/.age"
TFENV_REMOTE = "https://hashicorp-releases.yandexcloud.net" TFENV_REMOTE = "https://hashicorp-releases.yandexcloud.net"
K9S_FEATURE_GATE_NODE_SHELL = true
[shell_alias] [shell_alias]
nvimc = "nvim ~/.config"
nvimm = "nvim ~/.config/mise/config.toml"
nvimn = "nvim ~/.config/nvim"
nvimz = "nvim ~/.config/zsh/.zshrc"
gh = "cd ~ && clear"
gw = "cd ~/work && clear"
gp = "cd ~/personal && clear"
ytr = "fabric-ai -p rate_content -g ru -s -y" ytr = "fabric-ai -p rate_content -g ru -s -y"

View File

@@ -14,10 +14,10 @@ brew install go
brew install lazygit brew install lazygit
# https://github.com/getsops/sops # https://github.com/getsops/sops
brew onstall sops brew install sops
# https://tree-sitter.github.io/ # https://tree-sitter.github.io/
brew install tree-sitter brew install tree-sitter-cli
# https://github.com/ryanoasis/nerd-fonts # https://github.com/ryanoasis/nerd-fonts
brew install --cask font-jetbrains-mono-nerd-font brew install --cask font-jetbrains-mono-nerd-font

View File

@@ -4,7 +4,7 @@ return {
filetypes = { filetypes = {
"yaml", "yaml",
"yaml.docker-compose", "yaml.docker-compose",
-- "yaml.gitlab", "yaml.gitlab",
"yaml.helm-values", "yaml.helm-values",
}, },
root_markers = { root_markers = {
@@ -21,6 +21,9 @@ return {
format = { format = {
enable = true, enable = true,
}, },
customTags = {
"!reference sequence",
},
}, },
}, },
} }

View File

@@ -43,3 +43,6 @@ opt.splitbelow = true -- split horizontal window to the bottom
-- turn off swapfile -- turn off swapfile
opt.swapfile = false opt.swapfile = false
-- set shell to zsh
opt.shell = "/bin/zsh"

View File

@@ -1,8 +0,0 @@
-- https://github.com/mfussenegger/nvim-ansible/tree/main
return {
"mfussenegger/nvim-ansible",
ft = "yaml.ansible",
opts = {
-- leave empty or see below
},
}

View File

@@ -2,19 +2,19 @@
return { return {
"numToStr/Comment.nvim", "numToStr/Comment.nvim",
event = { "BufReadPre", "BufNewFile" }, event = { "BufReadPre", "BufNewFile" },
dependencies = { -- dependencies = {
"JoosepAlviste/nvim-ts-context-commentstring", -- "JoosepAlviste/nvim-ts-context-commentstring",
}, -- },
config = function() -- config = function()
-- import comment plugin safely -- -- import comment plugin safely
local comment = require("Comment") -- local comment = require("Comment")
--
local ts_context_commentstring = require("ts_context_commentstring.integrations.comment_nvim") -- local ts_context_commentstring = require("ts_context_commentstring.integrations.comment_nvim")
--
-- enable comment -- -- enable comment
comment.setup({ -- comment.setup({
-- for commenting tsx, jsx, svelte, html files -- -- for commenting tsx, jsx, svelte, html files
pre_hook = ts_context_commentstring.create_pre_hook(), -- pre_hook = ts_context_commentstring.create_pre_hook(),
}) -- })
end, -- end,
} }

View File

@@ -1,4 +1,5 @@
-- https://github.com/mason-org/mason.nvim -- https://github.com/mason-org/mason.nvim
-- https://github.com/mason-org/mason-registry
-- https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim -- https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim
return { return {
{ {

View File

@@ -7,5 +7,20 @@ return {
-- your configuration comes here -- your configuration comes here
-- or leave it empty to use the default settings -- or leave it empty to use the default settings
-- refer to the configuration section below -- refer to the configuration section below
} search = {
command = "rg",
args = {
"--color=never",
"--no-heading",
"--with-filename",
"--line-number",
"--column",
"--hidden",
},
-- regex that will be used to match keywords.
-- don't replace the (KEYWORDS) placeholder
pattern = [[\b(KEYWORDS):]], -- ripgrep regex
-- pattern = [[\b(KEYWORDS)\b]], -- match without the extra colon. You'll likely get false positives
},
},
} }

View File

@@ -1,29 +1,16 @@
-- https://github.com/nvim-treesitter/nvim-treesitter -- https://github.com/nvim-treesitter/nvim-treesitter
return { return {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
event = { "BufReadPre", "BufNewFile" }, lazy = false,
build = ":TSUpdate", build = ":TSUpdate",
dependencies = {
"windwp/nvim-ts-autotag",
},
config = function() config = function()
-- import nvim-treesitter plugin -- import nvim-treesitter plugin
local treesitter = require("nvim-treesitter.configs") local treesitter = require("nvim-treesitter")
-- configure treesitter -- configure treesitter
treesitter.setup({ treesitter.setup({})
-- enable syntax highlighting -- install parsers
highlight = { treesitter.install({
enable = true,
},
-- enable indentation
indent = { enable = true },
-- enable autotagging (w/ nvim-ts-autotag plugin)
autotag = {
enable = true,
},
-- ensure these language parsers are installed
ensure_installed = {
"bash", "bash",
"dockerfile", "dockerfile",
"gitignore", "gitignore",
@@ -41,20 +28,6 @@ return {
"vim", "vim",
"vimdoc", "vimdoc",
"yaml", "yaml",
},
modules = {},
sync_install = false,
ignore_install = {},
auto_install = false,
incremental_selection = {
enable = true,
keymaps = {
init_selection = "<C-space>",
node_incremental = "<C-space>",
scope_incremental = false,
node_decremental = "<bs>",
},
},
}) })
end, end,
} }

View File

@@ -4,8 +4,6 @@ $directory\
$git_branch\ $git_branch\
$git_state\ $git_state\
$git_status\ $git_status\
$kubernetes\
$cmd_duration\
$line_break\ $line_break\
$character""" $character"""

51
tmux/tmux.conf Normal file
View File

@@ -0,0 +1,51 @@
set -g default-terminal "tmux-256color"
set -g terminal-overrides ",*:RGB"
# Index options
set -g base-index 1 # set base index for windows
set-window-option -g pane-base-index 1 # ser base index for panes
set-option -g renumber-windows on # renumber all windows when any window is closed
# Base configuration
set -g history-limit 1000000 # increase history size (from 2,000)
set -g mouse on # Enable mouse
set -g set-clipboard on # use system clipboard
# Vim-like copy/paste
set-window-option -g mode-keys vi # set vi mode for windows
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
unbind -T copy-mode-vi MouseDragEnd1Pane # disable copy with mouse
# Style
gray_dark="#3B4252"
gray_light="#D8DEE9"
gray_medium="#ABB2BF"
green_soft="#A3BE8C"
cyan_soft="#88C0D0"
blue_muted="#81A1C1"
magenta="#C099FF"
set -g status-position top # macOS / darwin style
set -g status-left-length 100 # more room for session name
set -g status-style "fg=${gray_light},bg=default"
set -g status-left " #{?client_prefix,#[fg=${magenta}],#[fg=${green_soft}]}#[bold] #S#[fg=${gray_light},nobold] | "
set -g status-right ""
set -g window-status-current-format "#[fg=${cyan_soft},bold] #[underscore]#I:#W"
set -g window-status-format "#I:#W"
set -g message-style "fg=${gray_light},bg=default"
set -g mode-style "fg=${gray_dark},bg=${blue_muted}"
set -g pane-border-style "fg=${gray_dark}"
set -g pane-active-border-style "fg=${gray_medium}"
# Keybins
bind r source-file $HOME/.config/tmux/tmux.conf \; display-message "Configuration reload..."
# Popups
# new session
bind C-n display-popup -w 50% -h 5% -E 'bash -i -c "read -p \"Session name: \" name; tmux new-session -d -s \$name && tmux switch-client -t \$name"'
# jump to session
bind C-j display-popup -E "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t"
# terminal
bind C-t display-popup -d "#{pane_current_path}" -w 75% -h 75% -E "zsh"

View File

@@ -69,30 +69,44 @@ source $ZSH/oh-my-zsh.sh
export EDITOR='nvim' export EDITOR='nvim'
fi fi
# Set personal aliases, overriding those provided by oh-my-zsh libs, # YandexCloud CLI completion
# plugins, and themes. Aliases can be placed here, though oh-my-zsh # NOTE: Versions checked from utility version output
# users are encouraged to define aliases within the ZSH_CUSTOM folder. source "$HOMEBREW_PREFIX/Caskroom/yandex-cloud-cli/$(yc --version | egrep -o "([0-9]{1,}\.)+[0-9]{1,}")/yandex-cloud-cli/completion.zsh.inc"
# For a full list of active aliases, run `alias`.
#compdef opencode
###-begin-opencode-completions-###
# #
# Example aliases # yargs command completion script
# alias zshconfig="mate ~/.zshrc" #
# alias ohmyzsh="mate ~/.oh-my-zsh" # Installation: opencode completion >> ~/.zshrc
alias vi="nvim" # or opencode completion >> ~/.zprofile on OSX.
alias vim="nvim" #
alias vimdiff="nvim -d" _opencode_yargs_completions()
alias ovim="/usr/bin/vim" {
local reply
local si=$IFS
IFS=$'
' reply=($(COMP_CWORD="$((CURRENT-1))" COMP_LINE="$BUFFER" COMP_POINT="$CURSOR" opencode --get-yargs-completions "${words[@]}"))
IFS=$si
if [[ ${#reply} -gt 0 ]]; then
_describe 'values' reply
else
_default
fi
}
if [[ "'${zsh_eval_context[-1]}" == "loadautofunc" ]]; then
_opencode_yargs_completions "$@"
else
compdef _opencode_yargs_completions opencode
fi
###-end-opencode-completions-###
alias vimz="nvim ~/.config/zsh/.zshrc" # Add Docker Desktop for Mac (docker)
alias vimn="nvim ~/.config/nvim" export PATH="$PATH:/Applications/Docker.app/Contents/Resources/bin/"
alias gh="cd ~ && clear"
alias gw="cd ~/work && clear"
alias gp="cd ~/personal && clear"
# Functions
## Functions
#Generate strong password #Generate strong password
pwg() { function pwg() {
pwgen -cny -r \[\]\{\}\(\)\"\'\-\|\:\;\`\,\<\>\$\= 32 1 pwgen -cny -r \[\]\{\}\(\)\"\'\-\|\:\;\`\,\<\>\$\= 32 1
} }
@@ -106,9 +120,7 @@ function y() {
rm -f -- "$tmp" rm -f -- "$tmp"
} }
# YandexCloud CLI completion #DuckDuckGo Search with w3m
# NOTE: Versions checked from utility version output function ddgs(){
source "$HOMEBREW_PREFIX/Caskroom/yandex-cloud-cli/$(yc --version | egrep -o "([0-9]{1,}\.)+[0-9]{1,}")/yandex-cloud-cli/completion.zsh.inc" w3m https://lite.duckduckgo.com/html/\?q\="$@"
}
# Add Docker Desktop for Mac (docker)
export PATH="$PATH:/Applications/Docker.app/Contents/Resources/bin/"