migrate to stow

This commit is contained in:
2022-03-20 00:37:41 +03:00
parent 8544e93367
commit 2ef5b95984
41 changed files with 351 additions and 93 deletions

View File

@@ -1,5 +1,11 @@
# .files
### How to install
```bash
stow -S config neovim
```
### What do I use
| Name | Little description | Homepage |

View File

@@ -1,92 +0,0 @@
#!/bin/bash
# complete_alias is a script that allows to use completion in aliases
declare -A bashCompletions=(
["complete_alias"]="https://raw.githubusercontent.com/cykerway/complete-alias/master/complete_alias"
["tmux"]="https://raw.githubusercontent.com/Bash-it/bash-it/master/completion/available/tmux.completion.bash"
["git"]="https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash"
)
declare -A configs=(
["$PWD/config/.bashrc"]="$HOME/.bashrc"
["$PWD/config/.inputrc"]="$HOME/.inputrc"
["$PWD/config/.gitconfig"]="$HOME/.gitconfig"
["$PWD/config/.tmux.conf"]="$HOME/.tmux.conf"
["$PWD/config/nvim"]="$HOME/.config/nvim"
["$PWD/config/alacritty"]="$HOME/.config/alacritty"
["$PWD/config/rofi"]="$HOME/.config/rofi"
["$PWD/config/dunst"]="$HOME/.config/dunst"
["$PWD/config/fontconfig"]="$HOME/.config/fontconfig"
["$PWD/config/sway"]="$HOME/.config/sway"
["$PWD/config/swaylock"]="$HOME/.config/swaylock"
["$PWD/config/waybar"]="$HOME/.config/waybar"
["$PWD/config/wlogout"]="$HOME/.config/wlogout"
["$PWD/config/swappy"]="$HOME/.config/swappy"
["$PWD/config/lf"]="$HOME/.config/lf"
["$PWD/config/kitty"]="$HOME/.config/kitty"
["$PWD/config/spotifyd"]="$HOME/.config/spotifyd"
)
bashCompletionsDir="$HOME/.config/bash-completions"
__install_bash_completions() {
if [[ ! -d "$bashCompletionsDir" ]]; then
mkdir "$bashCompletionsDir"
fi
for cmp in "${!bashCompletions[@]}"; do
source=${bashCompletions[$cmp]}
dest="$bashCompletionsDir/$cmp.bash"
if [[ ! -f "$dest" ]]; then
echo "Downloading $cmp completion"
curl "$source" -o "$dest" &>/dev/null
fi
done
}
usage() {
echo "usage: (./)bootstrap.sh [-S][-R]"
echo
echo " -S installs all this shit"
echo " -R removes all this shit"
echo " -I downloads bash completions"
}
if [ $# -eq 0 ]; then
usage
fi
# Install all configs
if [ "$1" = "-S" ]; then
# Create symlinks
for config in "${!configs[@]}"; do
ln -s $config ${configs[$config]}
done
# Install packer.nvim
mkdir ~/.local/share/nvim/site/pack
git clone --depth 1 https://github.com/wbthomason/packer.nvim \
~/.local/share/nvim/site/pack/packer/start/packer.nvim
# Install vim plugins
nvim -c "PackerInstall"
if [[ ! -d "$bashCompletionsDir" ]]; then
__install_bash_completions
fi
fi
# Remove all configs
if [ "$1" = "-R" ]; then
for config in "${!configs[@]}"; do
rm -rf ${configs[$config]}
done
rm -rf "$bashCompletionsDir"
fi
# Install bash completions defined in hashmap above
if [ "$1" = "-I" ]; then
__install_bash_completions
fi

View File

@@ -23,7 +23,7 @@ export PATH="$PATH:$MY_BIN:$PYTHON_BIN:$RUST_BIN:$GOBIN"
source $HOME/.config/bash-completions/*
# Install aliases
source $DOTFILES/config/bash/aliases.bash
source $HOME/.config/bash/aliases.bash
shopt -s autocd

26
install_bash_completions.sh Executable file
View File

@@ -0,0 +1,26 @@
#!/bin/bash
# complete_alias is a script that allows to use completion in aliases
declare -A bashCompletions=(
["complete_alias"]="https://raw.githubusercontent.com/cykerway/complete-alias/master/complete_alias"
["tmux"]="https://raw.githubusercontent.com/Bash-it/bash-it/master/completion/available/tmux.completion.bash"
["git"]="https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash"
)
bashCompletionsDir="$HOME/.config/bash-completions"
__install_bash_completions() {
if [[ ! -d "$bashCompletionsDir" ]]; then
mkdir "$bashCompletionsDir"
fi
for cmp in "${!bashCompletions[@]}"; do
source=${bashCompletions[$cmp]}
dest="$bashCompletionsDir/$cmp.bash"
if [[ ! -f "$dest" ]]; then
echo "Downloading $cmp completion"
curl "$source" -o "$dest" &>/dev/null
fi
done
}

View File

@@ -0,0 +1,318 @@
-- Automatically generated packer.nvim plugin loader code
if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
return
end
vim.api.nvim_command('packadd packer.nvim')
local no_errors, error_msg = pcall(function()
local time
local profile_info
local should_profile = false
if should_profile then
local hrtime = vim.loop.hrtime
profile_info = {}
time = function(chunk, start)
if start then
profile_info[chunk] = hrtime()
else
profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
end
end
else
time = function(chunk, start) end
end
local function save_profiles(threshold)
local sorted_times = {}
for chunk_name, time_taken in pairs(profile_info) do
sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
end
table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
local results = {}
for i, elem in ipairs(sorted_times) do
if not threshold or threshold and elem[2] > threshold then
results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
end
end
_G._packer = _G._packer or {}
_G._packer.profile_output = results
end
time([[Luarocks path setup]], true)
local package_path_str = "/home/daniil/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/daniil/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/daniil/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/daniil/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
local install_cpath_pattern = "/home/daniil/.cache/nvim/packer_hererocks/2.1.0-beta3/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
if not string.find(package.cpath, install_cpath_pattern, 1, true) then
package.cpath = package.cpath .. ';' .. install_cpath_pattern
end
time([[Luarocks path setup]], false)
time([[try_loadstring definition]], true)
local function try_loadstring(s, component, name)
local success, result = pcall(loadstring(s), name, _G.packer_plugins[name])
if not success then
vim.schedule(function()
vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {})
end)
end
return result
end
time([[try_loadstring definition]], false)
time([[Defining packer_plugins]], true)
_G.packer_plugins = {
["Comment.nvim"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/Comment.nvim",
url = "https://github.com/numToStr/Comment.nvim"
},
LuaSnip = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/LuaSnip",
url = "https://github.com/L3MON4D3/LuaSnip"
},
["SchemaStore.nvim"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/SchemaStore.nvim",
url = "https://github.com/b0o/SchemaStore.nvim"
},
["cmp-buffer"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/cmp-buffer",
url = "https://github.com/hrsh7th/cmp-buffer"
},
["cmp-cmdline"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/cmp-cmdline",
url = "https://github.com/hrsh7th/cmp-cmdline"
},
["cmp-nvim-lsp"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
url = "https://github.com/hrsh7th/cmp-nvim-lsp"
},
["cmp-path"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/cmp-path",
url = "https://github.com/hrsh7th/cmp-path"
},
cmp_luasnip = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/cmp_luasnip",
url = "https://github.com/saadparwaiz1/cmp_luasnip"
},
edge = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/edge",
url = "https://github.com/sainnhe/edge"
},
["friendly-snippets"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/friendly-snippets",
url = "https://github.com/rafamadriz/friendly-snippets"
},
["gitsigns.nvim"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/gitsigns.nvim",
url = "https://github.com/lewis6991/gitsigns.nvim"
},
["impatient.nvim"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/impatient.nvim",
url = "https://github.com/lewis6991/impatient.nvim"
},
["indent-blankline.nvim"] = {
config = { "\27LJ\2\nr\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\2\25space_char_blankline\6 \25show_current_context\2\nsetup\21indent_blankline\frequire\0" },
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim",
url = "https://github.com/lukas-reineke/indent-blankline.nvim"
},
["lsp_signature.nvim"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/lsp_signature.nvim",
url = "https://github.com/ray-x/lsp_signature.nvim"
},
["lualine.nvim"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/lualine.nvim",
url = "https://github.com/nvim-lualine/lualine.nvim"
},
["markdown-preview.nvim"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/markdown-preview.nvim",
url = "https://github.com/iamcco/markdown-preview.nvim"
},
["null-ls.nvim"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/null-ls.nvim",
url = "https://github.com/jose-elias-alvarez/null-ls.nvim"
},
["nvim-autopairs"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/nvim-autopairs",
url = "https://github.com/windwp/nvim-autopairs"
},
["nvim-cmp"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/nvim-cmp",
url = "https://github.com/hrsh7th/nvim-cmp"
},
["nvim-colorizer.lua"] = {
config = { "\27LJ\2\nA\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\2\0\0\6*\nsetup\14colorizer\frequire\0" },
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua",
url = "https://github.com/norcalli/nvim-colorizer.lua"
},
["nvim-lsp-installer"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/nvim-lsp-installer",
url = "https://github.com/williamboman/nvim-lsp-installer"
},
["nvim-lspconfig"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
url = "https://github.com/neovim/nvim-lspconfig"
},
["nvim-tree.lua"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/nvim-tree.lua",
url = "https://github.com/kyazdani42/nvim-tree.lua"
},
["nvim-treesitter"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
url = "https://github.com/nvim-treesitter/nvim-treesitter"
},
["nvim-ts-autotag"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/nvim-ts-autotag",
url = "https://github.com/windwp/nvim-ts-autotag"
},
["nvim-ts-context-commentstring"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/nvim-ts-context-commentstring",
url = "https://github.com/JoosepAlviste/nvim-ts-context-commentstring"
},
["nvim-web-devicons"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
url = "https://github.com/kyazdani42/nvim-web-devicons"
},
["packer.nvim"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/packer.nvim",
url = "https://github.com/wbthomason/packer.nvim"
},
playground = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/playground",
url = "https://github.com/nvim-treesitter/playground"
},
["plenary.nvim"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/plenary.nvim",
url = "https://github.com/nvim-lua/plenary.nvim"
},
["popup.nvim"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/popup.nvim",
url = "https://github.com/nvim-lua/popup.nvim"
},
["tailwindcss-colors.nvim"] = {
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\nsetup\23tailwindcss-colors\frequire\0" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/home/daniil/.local/share/nvim/site/pack/packer/opt/tailwindcss-colors.nvim",
url = "https://github.com/themaxmarchuk/tailwindcss-colors.nvim"
},
["telescope-fzf-native.nvim"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/telescope-fzf-native.nvim",
url = "https://github.com/nvim-telescope/telescope-fzf-native.nvim"
},
["telescope-symbols.nvim"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/telescope-symbols.nvim",
url = "https://github.com/nvim-telescope/telescope-symbols.nvim"
},
["telescope.nvim"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/telescope.nvim",
url = "https://github.com/nvim-telescope/telescope.nvim"
},
["todo-comments.nvim"] = {
config = { "\27LJ\2\nI\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\1\nsigns\1\nsetup\18todo-comments\frequire\0" },
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/todo-comments.nvim",
url = "https://github.com/folke/todo-comments.nvim"
},
["tokyonight.nvim"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/tokyonight.nvim",
url = "https://github.com/folke/tokyonight.nvim"
},
["vim-fugitive"] = {
loaded = true,
path = "/home/daniil/.local/share/nvim/site/pack/packer/start/vim-fugitive",
url = "https://github.com/tpope/vim-fugitive"
}
}
time([[Defining packer_plugins]], false)
local module_lazy_loads = {
["^tailwindcss%-colors"] = "tailwindcss-colors.nvim"
}
local lazy_load_called = {['packer.load'] = true}
local function lazy_load_module(module_name)
local to_load = {}
if lazy_load_called[module_name] then return nil end
lazy_load_called[module_name] = true
for module_pat, plugin_name in pairs(module_lazy_loads) do
if not _G.packer_plugins[plugin_name].loaded and string.match(module_name, module_pat) then
to_load[#to_load + 1] = plugin_name
end
end
if #to_load > 0 then
require('packer.load')(to_load, {module = module_name}, _G.packer_plugins)
local loaded_mod = package.loaded[module_name]
if loaded_mod then
return function(modname) return loaded_mod end
end
end
end
if not vim.g.packer_custom_loader_enabled then
table.insert(package.loaders, 1, lazy_load_module)
vim.g.packer_custom_loader_enabled = true
end
-- Config for: nvim-colorizer.lua
time([[Config for nvim-colorizer.lua]], true)
try_loadstring("\27LJ\2\nA\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\2\0\0\6*\nsetup\14colorizer\frequire\0", "config", "nvim-colorizer.lua")
time([[Config for nvim-colorizer.lua]], false)
-- Config for: indent-blankline.nvim
time([[Config for indent-blankline.nvim]], true)
try_loadstring("\27LJ\2\nr\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\2\25space_char_blankline\6 \25show_current_context\2\nsetup\21indent_blankline\frequire\0", "config", "indent-blankline.nvim")
time([[Config for indent-blankline.nvim]], false)
-- Config for: todo-comments.nvim
time([[Config for todo-comments.nvim]], true)
try_loadstring("\27LJ\2\nI\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\1\nsigns\1\nsetup\18todo-comments\frequire\0", "config", "todo-comments.nvim")
time([[Config for todo-comments.nvim]], false)
if should_profile then save_profiles() end
end)
if not no_errors then
error_msg = error_msg:gsub('"', '\\"')
vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
end