2026 fresh, mise setups
This commit is contained in:
parent
6df6c249c6
commit
8d897d868e
40 changed files with 9 additions and 1198 deletions
88
.zshrc
88
.zshrc
|
|
@ -1,86 +1,3 @@
|
||||||
export MISE_SHELL=zsh
|
|
||||||
export __MISE_ORIG_PATH="$PATH"
|
|
||||||
|
|
||||||
mise() {
|
|
||||||
local command
|
|
||||||
command="${1:-}"
|
|
||||||
if [ "$#" = 0 ]; then
|
|
||||||
command mise
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
shift
|
|
||||||
|
|
||||||
case "$command" in
|
|
||||||
deactivate|shell|sh)
|
|
||||||
# if argv doesn't contains -h,--help
|
|
||||||
if [[ ! " $@ " =~ " --help " ]] && [[ ! " $@ " =~ " -h " ]]; then
|
|
||||||
eval "$(command mise "$command" "$@")"
|
|
||||||
return $?
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
command mise "$command" "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
_mise_hook() {
|
|
||||||
eval "$(mise hook-env -s zsh)";
|
|
||||||
}
|
|
||||||
typeset -ag precmd_functions;
|
|
||||||
if [[ -z "${precmd_functions[(r)_mise_hook]+1}" ]]; then
|
|
||||||
precmd_functions=( _mise_hook ${precmd_functions[@]} )
|
|
||||||
fi
|
|
||||||
typeset -ag chpwd_functions;
|
|
||||||
if [[ -z "${chpwd_functions[(r)_mise_hook]+1}" ]]; then
|
|
||||||
chpwd_functions=( _mise_hook ${chpwd_functions[@]} )
|
|
||||||
fi
|
|
||||||
|
|
||||||
_mise_hook
|
|
||||||
if [ -z "${_mise_cmd_not_found:-}" ]; then
|
|
||||||
_mise_cmd_not_found=1
|
|
||||||
# preserve existing handler if present
|
|
||||||
if typeset -f command_not_found_handler >/dev/null; then
|
|
||||||
functions -c command_not_found_handler _command_not_found_handler
|
|
||||||
fi
|
|
||||||
|
|
||||||
typeset -gA _mise_cnf_tried
|
|
||||||
|
|
||||||
# helper for fallback behavior
|
|
||||||
_mise_fallback() {
|
|
||||||
local _cmd="$1"; shift
|
|
||||||
if typeset -f _command_not_found_handler >/dev/null; then
|
|
||||||
_command_not_found_handler "$_cmd" "$@"
|
|
||||||
return $?
|
|
||||||
else
|
|
||||||
print -u2 -- "zsh: command not found: $_cmd"
|
|
||||||
return 127
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
command_not_found_handler() {
|
|
||||||
local cmd="$1"; shift
|
|
||||||
|
|
||||||
# never intercept mise itself or retry already-attempted commands
|
|
||||||
if [[ "$cmd" == "mise" || "$cmd" == mise-* || -n "${_mise_cnf_tried["$cmd"]}" ]]; then
|
|
||||||
_mise_fallback "$cmd" "$@"
|
|
||||||
return $?
|
|
||||||
fi
|
|
||||||
|
|
||||||
# run the hook; only retry if the command is actually found afterward
|
|
||||||
if mise hook-not-found -s zsh -- "$cmd"; then
|
|
||||||
_mise_hook
|
|
||||||
if command -v -- "$cmd" >/dev/null 2>&1; then
|
|
||||||
"$cmd" "$@"
|
|
||||||
return $?
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
# only mark as tried if mise explicitly can't handle it
|
|
||||||
_mise_cnf_tried["$cmd"]=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# fall back
|
|
||||||
_mise_fallback "$cmd" "$@"
|
|
||||||
}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# shellcheck shell=bash
|
# shellcheck shell=bash
|
||||||
|
|
||||||
|
|
@ -338,6 +255,5 @@ export EDITOR='nvim'
|
||||||
# alias zshconfig="mate ~/.zshrc"
|
# alias zshconfig="mate ~/.zshrc"
|
||||||
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||||||
|
|
||||||
. "$HOME/.atuin/bin/env"
|
eval "$(init zsh)"
|
||||||
|
eval "$(/home/gaiety/.local/bin/mise activate zsh)"
|
||||||
eval "$(atuin init zsh)"
|
|
||||||
|
|
|
||||||
13
README.md
13
README.md
|
|
@ -1,19 +1,14 @@
|
||||||
# Gaiety's Dotfiles
|
# Gaiety's Dotfiles 2026
|
||||||
|
|
||||||
Designed for Unix Systems.
|
Designed for Unix Systems.
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
Misc dependencies: `git, curl, apt`
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# apt Installations
|
curl https://mise.run | sh
|
||||||
sudo ./setup.sh
|
chmod +x ./mise-tasks/*
|
||||||
|
|
||||||
# Links & Configs
|
mise run install-terminal
|
||||||
task
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
65
Taskfile.yml
65
Taskfile.yml
|
|
@ -1,65 +0,0 @@
|
||||||
# https://taskfile.dev
|
|
||||||
|
|
||||||
version: '3'
|
|
||||||
|
|
||||||
tasks:
|
|
||||||
default:
|
|
||||||
deps: [mise, fonts, tools]
|
|
||||||
cmds:
|
|
||||||
- echo "mise checks ran, tools updated"
|
|
||||||
|
|
||||||
mise:
|
|
||||||
cmds:
|
|
||||||
- mise self-update
|
|
||||||
- mise doctor
|
|
||||||
|
|
||||||
fonts:
|
|
||||||
dir: downloads
|
|
||||||
cmds:
|
|
||||||
- curl -LO https://github.com/githubnext/monaspace/releases/download/v1.301/monaspace-frozen-v1.301.zip
|
|
||||||
- unzip monaspace-frozen-v1.301.zip -d ./fonts
|
|
||||||
- mkdir -p ~/.fonts
|
|
||||||
- find . -type f -exec mv {} ~/.fonts \;
|
|
||||||
|
|
||||||
|
|
||||||
tools:
|
|
||||||
deps: [git, zsh, kitty, ripgrep, neovim, bat, zoxide]
|
|
||||||
cmds:
|
|
||||||
- echo "tools installed"
|
|
||||||
|
|
||||||
zsh:
|
|
||||||
cmds: # installed via ./setup.sh
|
|
||||||
- cmd: sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
|
|
||||||
ignore_error: true
|
|
||||||
- cmd: rm ~/.zshrc
|
|
||||||
ignore_error: true
|
|
||||||
- cmd: ln -s "$(pwd)/.zshrc" ~/.zshrc
|
|
||||||
ignore_error: true
|
|
||||||
|
|
||||||
kitty:
|
|
||||||
cmds: # installed via ./setup.sh
|
|
||||||
- cmd: ln -s "$(pwd)/kitty" ~/.config/kitty
|
|
||||||
ignore_error: true
|
|
||||||
|
|
||||||
git:
|
|
||||||
cmds:
|
|
||||||
- cmd: ln -s "$(pwd)/.gitconfig" ~/.gitconfig
|
|
||||||
ignore_error: true
|
|
||||||
|
|
||||||
ripgrep:
|
|
||||||
cmds:
|
|
||||||
- mise use --global ripgrep@latest
|
|
||||||
|
|
||||||
neovim:
|
|
||||||
cmds:
|
|
||||||
- mise use --global neovim@0.11.4
|
|
||||||
- cmd: ln -s "$(pwd)/nvim" ~/.config/nvim
|
|
||||||
ignore_error: true
|
|
||||||
|
|
||||||
bat:
|
|
||||||
cmds:
|
|
||||||
- mise use --global bat@latest
|
|
||||||
|
|
||||||
zoxide:
|
|
||||||
cmds:
|
|
||||||
- mise use --global zoxide@latest
|
|
||||||
BIN
difft.tar.gz
BIN
difft.tar.gz
Binary file not shown.
|
|
@ -1 +0,0 @@
|
||||||
/mnt/storage/repos/dotfiles/kitty
|
|
||||||
|
|
@ -1,89 +0,0 @@
|
||||||
#########################
|
|
||||||
# verdigris for kitty for kitty
|
|
||||||
# 0.0.1
|
|
||||||
# GPL-3.0-only
|
|
||||||
# https://git.basking.monster/gaiety/verdigris
|
|
||||||
####################
|
|
||||||
|
|
||||||
#########################
|
|
||||||
# The basic colors
|
|
||||||
foreground #C6E4F0
|
|
||||||
background #00040B
|
|
||||||
selection_foreground #19323B
|
|
||||||
selection_background #C6E4F0
|
|
||||||
####################
|
|
||||||
|
|
||||||
#########################
|
|
||||||
# Cursor colors
|
|
||||||
cursor #C6E4F0
|
|
||||||
cursor_text_color #19323B
|
|
||||||
# cursor_trail_color none
|
|
||||||
####################
|
|
||||||
|
|
||||||
#########################
|
|
||||||
# URL colors
|
|
||||||
url_color #8CC8E0
|
|
||||||
####################
|
|
||||||
|
|
||||||
#########################
|
|
||||||
# Marks colors
|
|
||||||
# mark1_foreground black
|
|
||||||
# mark1_background #98d3cb
|
|
||||||
# mark2_foreground black
|
|
||||||
# mark2_background #f2dcd3
|
|
||||||
# mark3_foreground black
|
|
||||||
# mark3_background #f274bc
|
|
||||||
####################
|
|
||||||
|
|
||||||
#########################
|
|
||||||
# Tab bar colors
|
|
||||||
active_tab_foreground #C6E4F0
|
|
||||||
active_tab_background #19323B
|
|
||||||
inactive_tab_foreground #C6E4F0
|
|
||||||
inactive_tab_background #4E6872
|
|
||||||
# tab_bar_background #{pit.toHex()}
|
|
||||||
# tab_bar_margin_color none
|
|
||||||
####################
|
|
||||||
|
|
||||||
#########################
|
|
||||||
# window border colors and terminal bell colors
|
|
||||||
active_border_color #23DBC1
|
|
||||||
inactive_border_color #4E6872
|
|
||||||
bell_border_color #FF9F6F
|
|
||||||
# visual_bell_color none
|
|
||||||
####################
|
|
||||||
|
|
||||||
#########################
|
|
||||||
# The basic 16 colors
|
|
||||||
#: black
|
|
||||||
color0 #00040B
|
|
||||||
color8 #4E6872
|
|
||||||
|
|
||||||
#: red
|
|
||||||
color1 #E8ADA9
|
|
||||||
color9 #E8ADA9
|
|
||||||
|
|
||||||
#: green
|
|
||||||
color2 #98CCAC
|
|
||||||
color10 #98CCAC
|
|
||||||
|
|
||||||
#: yellow
|
|
||||||
color3 #E1B392
|
|
||||||
color11 #E1B392
|
|
||||||
|
|
||||||
#: blue
|
|
||||||
color4 #8CC8E0
|
|
||||||
color12 #8CC8E0
|
|
||||||
|
|
||||||
#: magenta
|
|
||||||
color5 #BEB6E8
|
|
||||||
color13 #BEB6E8
|
|
||||||
|
|
||||||
#: cyan
|
|
||||||
color6 #23DBC1
|
|
||||||
color14 #23DBC1
|
|
||||||
|
|
||||||
#: white
|
|
||||||
color7 #C6E4F0
|
|
||||||
color15 #C6E4F0
|
|
||||||
####################
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
# font_family VictorMono Nerd Font Mono
|
|
||||||
font_family Monaspace Krypton Frozen
|
|
||||||
bold_font Monaspace Neon Frozen
|
|
||||||
italic_font Monaspace Radon Frozen
|
|
||||||
bold_italic_font Monaspace Radon Frozen
|
|
||||||
cursor_trail 1
|
|
||||||
cursor_trail_decay 0.1 0.4
|
|
||||||
cursor_trail_start_threshold 2
|
|
||||||
font_size 20
|
|
||||||
tab_bar_min_tabs 2
|
|
||||||
tab_bar_edge bottom
|
|
||||||
tab_bar_style powerline
|
|
||||||
tab_powerline_style slanted
|
|
||||||
tab_title_template {title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}
|
|
||||||
|
|
||||||
include ./kitty-theme.conf
|
|
||||||
kitty_enable_wayland=1 kitty
|
|
||||||
background_opacity 1
|
|
||||||
3
mise-tasks/install-terminal
Executable file
3
mise-tasks/install-terminal
Executable file
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
#MISE description="Install Ghostty"
|
||||||
|
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/mkasberg/ghostty-ubuntu/HEAD/install.sh)"
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
[tools]
|
|
||||||
task = "3.45.4"
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
||||||
-- Bootstrap lazy.nvim
|
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
|
||||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
|
||||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
|
||||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
|
||||||
if vim.v.shell_error ~= 0 then
|
|
||||||
vim.api.nvim_echo({
|
|
||||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
|
||||||
{ out, "WarningMsg" },
|
|
||||||
{ "\nPress any key to exit..." },
|
|
||||||
}, true, {})
|
|
||||||
vim.fn.getchar()
|
|
||||||
os.exit(1)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
vim.opt.rtp:prepend(lazypath)
|
|
||||||
|
|
||||||
-- Make sure to setup `mapleader` and `maplocalleader` before
|
|
||||||
-- loading lazy.nvim so that mappings are correct.
|
|
||||||
-- This is also a good place to setup other settings (vim.opt)
|
|
||||||
vim.g.mapleader = " "
|
|
||||||
vim.g.maplocalleader = "\\"
|
|
||||||
|
|
||||||
-- Setup lazy.nvim
|
|
||||||
-- load plugins
|
|
||||||
require("lazy").setup({
|
|
||||||
spec = {
|
|
||||||
{ import = "plugins" },
|
|
||||||
{ import = "filetypes" },
|
|
||||||
},
|
|
||||||
}, lazy_defaults, {
|
|
||||||
checker = { enabled = true },
|
|
||||||
})
|
|
||||||
|
|
||||||
require "config/options"
|
|
||||||
require "config/keys"
|
|
||||||
require "config/autocmds"
|
|
||||||
|
|
||||||
vim.schedule(function()
|
|
||||||
-- require "mappings"
|
|
||||||
end)
|
|
||||||
|
|
@ -1,50 +0,0 @@
|
||||||
{
|
|
||||||
"LuaSnip": { "branch": "master", "commit": "fb525166ccc30296fb3457441eb979113de46b00" },
|
|
||||||
"alpha-nvim": { "branch": "main", "commit": "a35468cd72645dbd52c0624ceead5f301c566dff" },
|
|
||||||
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
|
|
||||||
"cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
|
|
||||||
"cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" },
|
|
||||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
|
||||||
"codestats.nvim": { "branch": "master", "commit": "041b315c4f82997186fcdb3fc2f687cc128a28f3" },
|
|
||||||
"elixir-tools.nvim": { "branch": "main", "commit": "f7e18753f5587b422aac628249fa46c66ed24af3" },
|
|
||||||
"flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
|
|
||||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
|
||||||
"hlargs.nvim": { "branch": "main", "commit": "ce8d705866dae44513ff48613d5e37e4da524d70" },
|
|
||||||
"inc-rename.nvim": { "branch": "main", "commit": "a3e31af13844534c66041ce92f29af7745883875" },
|
|
||||||
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
|
|
||||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
|
||||||
"lsp-format.nvim": { "branch": "master", "commit": "42d1d3e407c846d95f84ea3767e72ed6e08f7495" },
|
|
||||||
"lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
|
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "c4c84f4521d62de595c0d0f718a9a40c1890c8ce" },
|
|
||||||
"mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" },
|
|
||||||
"neoscroll.nvim": { "branch": "master", "commit": "f957373912e88579e26fdaea4735450ff2ef5c9c" },
|
|
||||||
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
|
|
||||||
"notify": { "branch": "master", "commit": "b5825cf9ee881dd8e43309c93374ed5b87b7a896" },
|
|
||||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
|
||||||
"nvim-autopairs": { "branch": "master", "commit": "2647cce4cb64fb35c212146663384e05ae126bdf" },
|
|
||||||
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
|
|
||||||
"nvim-cokeline": { "branch": "main", "commit": "9fbed130683b7b6f73198c09e35ba4b33f547c08" },
|
|
||||||
"nvim-colorizer.lua": { "branch": "master", "commit": "517df88cf2afb36652830df2c655df2da416a0ae" },
|
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "69a1624aff5dc30dddd0c59d99a947b63c80bf2a" },
|
|
||||||
"nvim-origami": { "branch": "main", "commit": "89a2c27b0855311c35057e6fa024d2824af6a4bd" },
|
|
||||||
"nvim-regexplainer": { "branch": "main", "commit": "2ec38892e7ce36f0c58b478f3570936fa5bd11f1" },
|
|
||||||
"nvim-spectre": { "branch": "master", "commit": "72f56f7585903cd7bf92c665351aa585e150af0f" },
|
|
||||||
"nvim-spider": { "branch": "main", "commit": "d4bdc45eac425e77108f068bd0706ff3ac20be7f" },
|
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
|
||||||
"nvim-treesitter-context": { "branch": "master", "commit": "1a1a7c5d6d75cb49bf64049dafab15ebe294a79f" },
|
|
||||||
"nvim-treesitter-endwise": { "branch": "master", "commit": "d6cbb83307d516ec076d17c9a33d704ef626ee8c" },
|
|
||||||
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
|
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "19d6211c78169e78bab372b585b6fb17ad974e82" },
|
|
||||||
"overseer.nvim": { "branch": "master", "commit": "72c68aab0358c92f451168b704c411c4a3e3410e" },
|
|
||||||
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
|
||||||
"rainbow-delimiters.nvim": { "branch": "master", "commit": "3277ad5f96eb03c9d618c88e24f683e4364e578c" },
|
|
||||||
"render-markdown.nvim": { "branch": "main", "commit": "0944ba04ea7fc9e9087c1dedc76562d6e0d110cf" },
|
|
||||||
"resession.nvim": { "branch": "master", "commit": "84c81e5fd8a94dc85a60b97089536174e558e288" },
|
|
||||||
"smear-cursor.nvim": { "branch": "main", "commit": "cf2f73a4d0b402edb8177d059ee1127e621b79a7" },
|
|
||||||
"snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
|
|
||||||
"switch.vim": { "branch": "main", "commit": "df58397cfa36d2f428ddc2652ba32d1db2af6d02" },
|
|
||||||
"symbols.nvim": { "branch": "main", "commit": "62cd4236b3eeabf3b970f225b1cc3379e11dc99c" },
|
|
||||||
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
|
|
||||||
"vim-illuminate": { "branch": "master", "commit": "0d1e93684da00ab7c057410fecfc24f434698898" },
|
|
||||||
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
|
|
||||||
}
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
local augroup = vim.api.nvim_create_augroup -- Create/get autocommand group
|
|
||||||
local autocmd = vim.api.nvim_create_autocmd -- Create autocommand
|
|
||||||
|
|
||||||
-- Highlight on yank
|
|
||||||
augroup('YankHighlight', { clear = true })
|
|
||||||
autocmd('TextYankPost', {
|
|
||||||
group = 'YankHighlight',
|
|
||||||
callback = function()
|
|
||||||
vim.highlight.on_yank({ higroup = 'IncSearch', timeout = '1000' })
|
|
||||||
end
|
|
||||||
})
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
local map = vim.api.nvim_set_keymap
|
|
||||||
local opts = { noremap = true, silent = true }
|
|
||||||
|
|
||||||
-- F2 rename variable
|
|
||||||
-- K inspect with LSP
|
|
||||||
|
|
||||||
map('n', '<S-Tab>', '<Cmd>bp<CR>', opts)
|
|
||||||
map('n', '<Tab>', '<Cmd>bn<CR>', opts)
|
|
||||||
map('n', '<[b>', '<Cmd>bp<CR>', opts)
|
|
||||||
map('n', '<]b>', '<Cmd>bn<CR>', opts)
|
|
||||||
map('n', '<leader>w', '<Cmd>bd<CR>', opts)
|
|
||||||
map('n', '<leader>s', '<Cmd>w<CR>', opts)
|
|
||||||
map('n', '<leader>S', '<Cmd>w!<CR>', opts)
|
|
||||||
map('n', '<leader>t', "<Cmd>Switch<CR>", opts)
|
|
||||||
map('n', '<leader>r', "<Cmd>Spectre<CR>", opts)
|
|
||||||
map('n', '<Up>', "<C-a>", opts)
|
|
||||||
map('n', '<Down>', "<C-x>", opts)
|
|
||||||
map('n', '<Right>', "<Cmd>Switch<CR>", opts)
|
|
||||||
map('n', '<Left>', "<Cmd>Switch<CR>", opts)
|
|
||||||
map('n', '<leader>t', "<Cmd>OverseerRun<CR>", opts)
|
|
||||||
map('n', '<leader>T', "<Cmd>OverseerToggle<CR>", opts)
|
|
||||||
|
|
@ -1,40 +0,0 @@
|
||||||
-- This file is automatically loaded by plugins.core
|
|
||||||
vim.g.mapleader = " "
|
|
||||||
vim.g.maplocalleader = "\\"
|
|
||||||
|
|
||||||
-- LazyVim auto format
|
|
||||||
vim.g.autoformat = true
|
|
||||||
|
|
||||||
-- Set Theme
|
|
||||||
-- vim.cmd.colorscheme "catppuccin"
|
|
||||||
|
|
||||||
-- Set Misc Options
|
|
||||||
local opt = vim.opt
|
|
||||||
|
|
||||||
opt.cursorline = true -- Enable highlighting of the current line
|
|
||||||
opt.autoindent = true
|
|
||||||
opt.expandtab = true -- Use spaces instead of tabs
|
|
||||||
opt.shiftwidth = 2 -- Size of an indent
|
|
||||||
opt.tabstop = 2 -- Size of an indent
|
|
||||||
opt.linebreak = true -- Wrap lines at convenient points
|
|
||||||
opt.list = true -- Show some invisible characters (tabs...
|
|
||||||
-- opt.mouse = false
|
|
||||||
opt.number = true -- Print line number
|
|
||||||
opt.relativenumber = true -- Relative line numbers
|
|
||||||
opt.ruler = false -- Disable the default ruler
|
|
||||||
opt.scrolloff = 4 -- Lines of context
|
|
||||||
opt.sidescrolloff = 8 -- Columns of context
|
|
||||||
opt.spelllang = { "en" }
|
|
||||||
opt.showmode = false -- Dont show mode since we have a statusline
|
|
||||||
opt.termguicolors = true -- True color support
|
|
||||||
opt.undofile = true
|
|
||||||
opt.undolevels = 10000
|
|
||||||
opt.virtualedit = "block" -- Allow cursor to move where there is no text in visual block mode
|
|
||||||
opt.wrap = false -- Disable line wrap
|
|
||||||
opt.signcolumn = "yes"
|
|
||||||
opt.foldcolumn = "0"
|
|
||||||
opt.foldlevel = 99
|
|
||||||
opt.foldlevelstart = 99
|
|
||||||
opt.foldmethod = "expr"
|
|
||||||
opt.foldexpr = "nvim_treesitter#foldexpr()"
|
|
||||||
opt.foldenable = true
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
||||||
return {
|
|
||||||
"elixir-tools/elixir-tools.nvim",
|
|
||||||
version = "*",
|
|
||||||
event = { "BufReadPre", "BufNewFile" },
|
|
||||||
ft = { "elixir", "heex", "eex" },
|
|
||||||
config = function()
|
|
||||||
local elixir = require("elixir")
|
|
||||||
local elixirls = require("elixir.elixirls")
|
|
||||||
|
|
||||||
elixir.setup {
|
|
||||||
nextls = { enable = true },
|
|
||||||
elixirls = {
|
|
||||||
enable = true,
|
|
||||||
settings = elixirls.settings {
|
|
||||||
dialyzerEnabled = true,
|
|
||||||
enableTestLenses = true,
|
|
||||||
},
|
|
||||||
on_attach = function(client, bufnr)
|
|
||||||
vim.keymap.set("n", "<space>fp", ":ElixirFromPipe<cr>", { buffer = true, noremap = true })
|
|
||||||
vim.keymap.set("n", "<space>tp", ":ElixirToPipe<cr>", { buffer = true, noremap = true })
|
|
||||||
vim.keymap.set("v", "<space>em", ":ElixirExpandMacro<cr>", { buffer = true, noremap = true })
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
projectionist = {
|
|
||||||
enable = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
dependencies = {
|
|
||||||
"nvim-lua/plenary.nvim",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
return {
|
|
||||||
'MeanderingProgrammer/render-markdown.nvim',
|
|
||||||
ft = { "markdown" },
|
|
||||||
dependencies = { 'nvim-treesitter/nvim-treesitter'},
|
|
||||||
---@module 'render-markdown'
|
|
||||||
---@type render.md.UserConfig
|
|
||||||
opts = {},
|
|
||||||
}
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
return {
|
|
||||||
'bennypowers/nvim-regexplainer',
|
|
||||||
lazy = true,
|
|
||||||
config = function()
|
|
||||||
require 'regexplainer'.setup({
|
|
||||||
mappings = {
|
|
||||||
toggle = 'gR',
|
|
||||||
},
|
|
||||||
popup = {
|
|
||||||
border = {
|
|
||||||
padding = { 1, 2 },
|
|
||||||
style = 'solid',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
requires = {
|
|
||||||
'nvim-treesitter/nvim-treesitter',
|
|
||||||
'MunifTanjim/nui.nvim',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
return {
|
|
||||||
"AndrewRadev/switch.vim"
|
|
||||||
}
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
return {
|
|
||||||
"liljaylj/codestats.nvim",
|
|
||||||
dependencies = { "nvim-lua/plenary.nvim" },
|
|
||||||
event = { "TextChanged", "InsertEnter" },
|
|
||||||
cmd = { "CodeStatsXpSend", "CodeStatsProfileUpdate" },
|
|
||||||
config = function()
|
|
||||||
require("codestats").setup({
|
|
||||||
username = "gaiety", -- needed to fetch profile data
|
|
||||||
base_url = "https://codestats.net", -- codestats.net base url
|
|
||||||
api_key = "SFMyNTY.WjJGcFpYUjUjI01qSXhPVFU9.P5dSCW38Tr2S1o5cKqRAVlQfsTcU--po2dAE7PPj1Eo", -- fill with your codestats machine API
|
|
||||||
send_on_exit = true, -- send xp on nvim exit
|
|
||||||
send_on_timer = true, -- send xp on timer
|
|
||||||
timer_interval = 60000, -- timer interval in milliseconds (minimum 1000ms to prevent DDoSing codestat.net servers)
|
|
||||||
curl_timeout = 5, -- curl request timeout in seconds
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
return {
|
|
||||||
"catgoose/nvim-colorizer.lua",
|
|
||||||
event = "BufReadPre",
|
|
||||||
opts = { -- set to setup table
|
|
||||||
mode = "virtualtext",
|
|
||||||
virtualtext = "■",
|
|
||||||
virtualtext_inline = true,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
||||||
return {
|
|
||||||
"goolord/alpha-nvim",
|
|
||||||
config = function()
|
|
||||||
local startify = require("alpha.themes.startify")
|
|
||||||
local dashboard = require("alpha.themes.dashboard")
|
|
||||||
local logo = [[
|
|
||||||
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
||||||
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⣠⣴⣿⣽⣷⣿⣿⣿⣿⣾⣷⣦⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
||||||
⠀⠀⠀⣠⣤⠀⠀⠀⠀⠀⣀⣸⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣝⢄⠀⠀⠀⠀⠀⠀⠀⠀
|
|
||||||
⠀⠀⣰⣿⣾⡀⢀⡠⣪⣽⣿⣯⡿⡾⣏⡻⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⢣⠀⠀⠀⠀⠀⠀⠀
|
|
||||||
⠀⢰⣿⣿⣿⣯⣷⣿⣿⣿⣿⣿⡿⣻⣷⡿⣫⠤⢄⡹⡿⣽⣏⢹⠅⠻⡟⣹⡤⣀⠀⠀⠀⠀⠀
|
|
||||||
⠀⠸⣹⣿⣿⣿⣿⣿⣿⣿⡟⠞⣾⣿⡟⢱⡏⠃⢀⢳⢹⣷⣿⣮⣵⣞⣻⣿⣿⣿⣷⡀⠀⠀⠀
|
|
||||||
⠀⠀⠈⠫⠿⣛⣻⣏⢪⣾⣿⣿⠯⣻⣿⣦⠻⠦⢬⣛⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡱⠀⠀⠀
|
|
||||||
⠀⠀⠀⢠⣞⣺⣽⡏⣯⣿⣿⣯⣿⣿⣿⣿⣿⣾⣾⣿⣿⣿⣿⣿⣿⣿⢿⣿⠿⠋⢁⢇⠀⠀⠀
|
|
||||||
⠀⠀⠀⢇⣾⢿⣿⣷⣟⣿⣿⠑⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣷⣿⣿⣿⡻⣷⣷⢿⣳⣕⡄⠀
|
|
||||||
⠀⠀⢠⣗⣟⢷⣽⡛⢿⣿⣿⣆⠁⠻⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣻⣯⣿⣿⣹⣿⣹⣻⣿⡞⡄
|
|
||||||
⠀⠀⠀⢠⣿⣿⣏⣨⣾⣿⣿⢯⣿⣠⣌⠛⠿⠿⣿⣿⣿⣿⠘⠛⢻⣯⣍⢽⣿⣷⣷⣿⣿⣿⡇
|
|
||||||
⠀⠀⢀⣸⣿⣩⣿⣿⣽⢿⣿⣿⣿⣸⣿⣇⣐⠓⠚⠛⠋⣁⣤⠆⢀⡻⣿⣾⣴⣻⣟⡿⣿⡧⡇
|
|
||||||
⠀⠀⠈⠾⣻⣿⡾⣿⣿⣿⣾⣙⡿⣛⣂⠈⠱⢿⣿⣿⡿⣿⣿⣟⣿⣻⣿⣿⡫⢬⣿⣧⣿⣷⡱
|
|
||||||
⠀⠀⠀⠀⢈⣞⡽⣫⣧⣾⣷⣶⣸⣿⣿⣿⣦⡀⠀⠩⣾⣿⣿⣿⣿⣿⣮⣿⣿⡾⣿⣽⣷⡗⠁
|
|
||||||
YIP YAP YAP YAP YIP YIP YAP
|
|
||||||
]]
|
|
||||||
-- ⠀⠀⢀⢮⣟⣾⣿⣿⣻⣿⡷⣻⣿⠿⣿⣿⣿⣤⣀⠹⣿⣿⣿⣿⣿⣿⣿⠏⠁⡧⠗⠁⠀⠀
|
|
||||||
-- ⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣟⣾⡿⣶⣿⣿⣿⣿⣿⣿⣦⡘⠿⠿⠿⣿⡟⠀⢰⠁⠀⠀
|
|
||||||
dashboard.section.header.val = vim.split(logo, "\n")
|
|
||||||
dashboard.section.header.opts.hl = "@tag"
|
|
||||||
local quotes = {
|
|
||||||
{ "Sorting moss by taste..." },
|
|
||||||
{ "There is no Kobold OSHA..." },
|
|
||||||
{ "All kobolds are just lil guys..." },
|
|
||||||
{ "Yips and Yaps are just morse code dots and dashes..." },
|
|
||||||
{ "Kobolds pass the Rorschach test by eating the picture..." },
|
|
||||||
}
|
|
||||||
dashboard.section.footer.val = quotes[math.random(#quotes)]
|
|
||||||
dashboard.section.buttons.val = {
|
|
||||||
dashboard.button('`', ' Tree'),
|
|
||||||
dashboard.button('SPC SPC', ' Find File'),
|
|
||||||
dashboard.button('SPC /', ' Live Grep'),
|
|
||||||
}
|
|
||||||
require("alpha").setup(
|
|
||||||
dashboard.opts
|
|
||||||
)
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
||||||
return {
|
|
||||||
"chrisgrieser/nvim-origami",
|
|
||||||
event = "VeryLazy",
|
|
||||||
opts = {
|
|
||||||
useLspFoldsWithTreesitterFallback = true, -- required for `autoFold`
|
|
||||||
pauseFoldsOnSearch = true,
|
|
||||||
foldtext = {
|
|
||||||
enabled = true,
|
|
||||||
padding = 3,
|
|
||||||
lineCount = {
|
|
||||||
template = "%d lines", -- `%d` is replaced with the number of folded lines
|
|
||||||
hlgroup = "Comment",
|
|
||||||
},
|
|
||||||
diagnosticsCount = true, -- uses hlgroups and icons from `vim.diagnostic.config().signs`
|
|
||||||
gitsignsCount = true, -- requires `gitsigns.nvim`
|
|
||||||
},
|
|
||||||
autoFold = {
|
|
||||||
enabled = true,
|
|
||||||
kinds = { "comment", "imports" }, ---@type lsp.FoldingRangeKind[]
|
|
||||||
},
|
|
||||||
foldKeymaps = {
|
|
||||||
setup = true, -- modifies `h` and `l`
|
|
||||||
hOnlyOpensOnFirstColumn = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
-- recommended: disable vim's auto-folding
|
|
||||||
init = function()
|
|
||||||
vim.opt.foldlevel = 99
|
|
||||||
vim.opt.foldlevelstart = 99
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
return {
|
|
||||||
"RRethy/vim-illuminate",
|
|
||||||
}
|
|
||||||
|
|
@ -1,199 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"smjonas/inc-rename.nvim",
|
|
||||||
opts = {}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
{
|
|
||||||
"mason-org/mason-lspconfig.nvim",
|
|
||||||
opts = {
|
|
||||||
ensure_installed = { "lexical" }
|
|
||||||
},
|
|
||||||
dependencies = {
|
|
||||||
{ "mason-org/mason.nvim", opts = {} },
|
|
||||||
{ "neovim/nvim-lspconfig" },
|
|
||||||
{ "hrsh7th/nvim-cmp" },
|
|
||||||
{ "hrsh7th/cmp-nvim-lsp" },
|
|
||||||
{ "hrsh7th/cmp-buffer" },
|
|
||||||
{ "hrsh7th/cmp-path" },
|
|
||||||
{ "saadparwaiz1/cmp_luasnip" },
|
|
||||||
{ "L3MON4D3/LuaSnip" },
|
|
||||||
{ "rafamadriz/friendly-snippets" },
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
vim.api.nvim_create_autocmd('LspAttach', {
|
|
||||||
desc = 'LSP actions',
|
|
||||||
callback = function()
|
|
||||||
local bufmap = function(mode, lhs, rhs)
|
|
||||||
local opts = { buffer = true }
|
|
||||||
vim.keymap.set(mode, lhs, rhs, opts)
|
|
||||||
end
|
|
||||||
|
|
||||||
bufmap('n', 'K', '<cmd>lua vim.lsp.buf.hover()<cr>')
|
|
||||||
bufmap('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<cr>')
|
|
||||||
bufmap('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<cr>')
|
|
||||||
bufmap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<cr>')
|
|
||||||
bufmap('n', 'go', '<cmd>lua vim.lsp.buf.type_definition()<cr>')
|
|
||||||
bufmap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<cr>')
|
|
||||||
bufmap('n', 'gs', '<cmd>lua vim.lsp.buf.signature_help()<cr>')
|
|
||||||
bufmap('n', '<F2>', '<cmd>lua vim.lsp.buf.rename()<cr>')
|
|
||||||
bufmap('n', '<F3>', '<cmd>lua vim.lsp.buf.format({async = true})<cr>')
|
|
||||||
bufmap('n', '<F4>', '<cmd>lua vim.lsp.buf.code_action()<cr>')
|
|
||||||
bufmap('n', 'gl', '<cmd>lua vim.diagnostic.open_float()<cr>')
|
|
||||||
bufmap('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<cr>')
|
|
||||||
bufmap('n', ']d', '<cmd>lua vim.diagnostic.goto_next()<cr>')
|
|
||||||
end
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
-- Diagnostics
|
|
||||||
---
|
|
||||||
|
|
||||||
vim.diagnostic.config({
|
|
||||||
virtual_text = true,
|
|
||||||
severity_sort = true,
|
|
||||||
float = {
|
|
||||||
border = 'rounded',
|
|
||||||
source = 'always',
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.lsp.handlers['textDocument/hover'] = vim.lsp.with(
|
|
||||||
vim.lsp.handlers.hover,
|
|
||||||
{ border = 'rounded' }
|
|
||||||
)
|
|
||||||
|
|
||||||
vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with(
|
|
||||||
vim.lsp.handlers.signature_help,
|
|
||||||
{ border = 'rounded' }
|
|
||||||
)
|
|
||||||
|
|
||||||
---
|
|
||||||
-- LSP servers
|
|
||||||
---
|
|
||||||
|
|
||||||
-- require('mason').setup({})
|
|
||||||
-- require('mason-lspconfig').setup({})
|
|
||||||
|
|
||||||
local lspconfig = require('lspconfig')
|
|
||||||
local lsp_capabilities = require('cmp_nvim_lsp').default_capabilities()
|
|
||||||
|
|
||||||
lspconfig.tsserver.setup({
|
|
||||||
capabilities = lsp_capabilities,
|
|
||||||
})
|
|
||||||
lspconfig.lua_ls.setup({
|
|
||||||
capabilities = lsp_capabilities,
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
-- Autocomplete
|
|
||||||
---
|
|
||||||
vim.opt.completeopt = { 'menu', 'menuone', 'noselect' }
|
|
||||||
|
|
||||||
require('luasnip.loaders.from_vscode').lazy_load()
|
|
||||||
|
|
||||||
local cmp = require('cmp')
|
|
||||||
local luasnip = require('luasnip')
|
|
||||||
|
|
||||||
local select_opts = { behavior = cmp.SelectBehavior.Select }
|
|
||||||
|
|
||||||
cmp.setup({
|
|
||||||
snippet = {
|
|
||||||
expand = function(args)
|
|
||||||
luasnip.lsp_expand(args.body)
|
|
||||||
end
|
|
||||||
},
|
|
||||||
sources = {
|
|
||||||
{ name = 'path' },
|
|
||||||
{ name = 'render-markdown' },
|
|
||||||
{ name = 'nvim_lsp', keyword_length = 1 },
|
|
||||||
{ name = 'buffer', keyword_length = 3 },
|
|
||||||
{ name = 'luasnip', keyword_length = 2 },
|
|
||||||
},
|
|
||||||
window = {
|
|
||||||
documentation = cmp.config.window.bordered()
|
|
||||||
},
|
|
||||||
formatting = {
|
|
||||||
fields = { 'menu', 'abbr', 'kind' },
|
|
||||||
format = function(entry, item)
|
|
||||||
local menu_icon = {
|
|
||||||
nvim_lsp = 'λ',
|
|
||||||
luasnip = '⋗',
|
|
||||||
buffer = 'Ω',
|
|
||||||
path = '🖫',
|
|
||||||
}
|
|
||||||
|
|
||||||
item.menu = menu_icon[entry.source.name]
|
|
||||||
return item
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
mapping = {
|
|
||||||
['<Up>'] = cmp.mapping.select_prev_item(select_opts),
|
|
||||||
['<Down>'] = cmp.mapping.select_next_item(select_opts),
|
|
||||||
|
|
||||||
['<C-p>'] = cmp.mapping.select_prev_item(select_opts),
|
|
||||||
['<C-n>'] = cmp.mapping.select_next_item(select_opts),
|
|
||||||
|
|
||||||
['<C-u>'] = cmp.mapping.scroll_docs(-4),
|
|
||||||
['<C-d>'] = cmp.mapping.scroll_docs(4),
|
|
||||||
|
|
||||||
['<C-e>'] = cmp.mapping.abort(),
|
|
||||||
['<C-y>'] = cmp.mapping.confirm({ select = true }),
|
|
||||||
['<CR>'] = cmp.mapping.confirm({ select = false }),
|
|
||||||
|
|
||||||
['<C-f>'] = cmp.mapping(function(fallback)
|
|
||||||
if luasnip.jumpable(1) then
|
|
||||||
luasnip.jump(1)
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end, { 'i', 's' }),
|
|
||||||
|
|
||||||
['<C-b>'] = cmp.mapping(function(fallback)
|
|
||||||
if luasnip.jumpable(-1) then
|
|
||||||
luasnip.jump(-1)
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end, { 'i', 's' }),
|
|
||||||
|
|
||||||
['<Tab>'] = cmp.mapping(function(fallback)
|
|
||||||
local col = vim.fn.col('.') - 1
|
|
||||||
|
|
||||||
if cmp.visible() then
|
|
||||||
cmp.select_next_item(select_opts)
|
|
||||||
elseif col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') then
|
|
||||||
fallback()
|
|
||||||
else
|
|
||||||
cmp.complete()
|
|
||||||
end
|
|
||||||
end, { 'i', 's' }),
|
|
||||||
|
|
||||||
['<S-Tab>'] = cmp.mapping(function(fallback)
|
|
||||||
if cmp.visible() then
|
|
||||||
cmp.select_prev_item(select_opts)
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end, { 'i', 's' }),
|
|
||||||
},
|
|
||||||
})
|
|
||||||
end
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"lukas-reineke/lsp-format.nvim",
|
|
||||||
config = function()
|
|
||||||
require("lsp-format").setup {}
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd('LspAttach', {
|
|
||||||
callback = function(args)
|
|
||||||
local client = assert(vim.lsp.get_client_by_id(args.data.client_id))
|
|
||||||
require("lsp-format").on_attach(client, args.buf)
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
return {
|
|
||||||
{ "chrisgrieser/nvim-spider", lazy = true },
|
|
||||||
{
|
|
||||||
"folke/flash.nvim",
|
|
||||||
event = "VeryLazy",
|
|
||||||
---@type Flash.Config
|
|
||||||
opts = {},
|
|
||||||
-- stylua: ignore
|
|
||||||
keys = {
|
|
||||||
{ "s", mode = { "n", "x", "o" }, function() require("flash").jump() end, desc = "Flash" },
|
|
||||||
{ "S", mode = { "n", "x", "o" }, function() require("flash").treesitter() end, desc = "Flash Treesitter" },
|
|
||||||
{ "r", mode = "o", function() require("flash").remote() end, desc = "Remote Flash" },
|
|
||||||
{ "R", mode = { "o", "x" }, function() require("flash").treesitter_search() end, desc = "Treesitter Search" },
|
|
||||||
{ "<c-s>", mode = { "c" }, function() require("flash").toggle() end, desc = "Toggle Flash Search" },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,60 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
'RRethy/nvim-treesitter-endwise',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"windwp/nvim-ts-autotag",
|
|
||||||
config = function()
|
|
||||||
require('nvim-ts-autotag').setup({
|
|
||||||
opts = {
|
|
||||||
enable_close = true, -- Auto close tags
|
|
||||||
enable_rename = true, -- Auto rename pairs of tags
|
|
||||||
enable_close_on_slash = true -- Auto close on trailing </
|
|
||||||
}
|
|
||||||
})
|
|
||||||
end
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'windwp/nvim-autopairs',
|
|
||||||
event = "InsertEnter",
|
|
||||||
config = function()
|
|
||||||
require('nvim-autopairs').setup()
|
|
||||||
|
|
||||||
local npairs = require("nvim-autopairs")
|
|
||||||
local Rule = require('nvim-autopairs.rule')
|
|
||||||
local cmp_autopairs = require('nvim-autopairs.completion.cmp')
|
|
||||||
local cmp = require('cmp')
|
|
||||||
cmp.event:on(
|
|
||||||
'confirm_done',
|
|
||||||
cmp_autopairs.on_confirm_done()
|
|
||||||
)
|
|
||||||
|
|
||||||
npairs.setup({
|
|
||||||
check_ts = true,
|
|
||||||
ts_config = {
|
|
||||||
lua = { 'string' }, -- it will not add a pair on that treesitter node
|
|
||||||
javascript = { 'template_string' },
|
|
||||||
java = false, -- don't check treesitter on java
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
local ts_conds = require('nvim-autopairs.ts-conds')
|
|
||||||
|
|
||||||
|
|
||||||
-- press % => %% only while inside a comment or string
|
|
||||||
npairs.add_rules({
|
|
||||||
Rule("%", "%", "lua")
|
|
||||||
:with_pair(ts_conds.is_ts_node({ 'string', 'comment' })),
|
|
||||||
Rule("$", "$", "lua")
|
|
||||||
:with_pair(ts_conds.is_not_ts_node({ 'function' }))
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
opts = {
|
|
||||||
enabled = function(bufnr) return true end,
|
|
||||||
disable_filetype = { "TelescopePrompt", "spectre_panel", "snacks_picker_input" },
|
|
||||||
enable_check_bracket_line = false,
|
|
||||||
map_cr = true,
|
|
||||||
map_bs = true, -- map the <BS> key
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
return {
|
|
||||||
"folke/snacks.nvim",
|
|
||||||
---@type snacks.Config
|
|
||||||
opts = {
|
|
||||||
picker = {
|
|
||||||
layout = {
|
|
||||||
preview = "main",
|
|
||||||
preset = "ivy",
|
|
||||||
},
|
|
||||||
sources = {
|
|
||||||
explorer = {
|
|
||||||
auto_close = true,
|
|
||||||
layout = { preset = "sidebar", preview = "top" },
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
terminal = {
|
|
||||||
win = {
|
|
||||||
position = "float",
|
|
||||||
border = "rounded",
|
|
||||||
height = 0.8,
|
|
||||||
width = 0.6,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
keys = {
|
|
||||||
{ "`", function() Snacks.explorer() end, desc = "File Explorer" },
|
|
||||||
{ "<leader>s", function() Snacks.picker.lsp_symbols() end, desc = "LSP Symbols" },
|
|
||||||
{ "gd", function() Snacks.picker.lsp_definitions() end, desc = "Goto Definition" },
|
|
||||||
{ "gD", function() Snacks.picker.lsp_declarations() end, desc = "Goto Declaration" },
|
|
||||||
{ "gr", function() Snacks.picker.lsp_references() end, nowait = true, desc = "References" },
|
|
||||||
{ "gI", function() Snacks.picker.lsp_implementations() end, desc = "Goto Implementation" },
|
|
||||||
{ "gy", function() Snacks.picker.lsp_type_definitions() end, desc = "Goto T[y]pe Definition" },
|
|
||||||
|
|
||||||
{ "<leader><leader>", function() Snacks.picker.smart() end, desc = "Smart Find Files" },
|
|
||||||
{ "<leader>b", function() Snacks.picker.buffers() end, desc = "Buffers" },
|
|
||||||
{ "<leader>/", function() Snacks.picker.grep() end, desc = "Grep" },
|
|
||||||
{ "<leader>:", function() Snacks.picker.command_history() end, desc = "Command History" },
|
|
||||||
{ "<leader>n", function() Snacks.picker.notifications() end, desc = "Notification History" },
|
|
||||||
{ "<leader>u", function() Snacks.picker.undo() end, desc = "Undo History" },
|
|
||||||
{ '<leader>"', function() Snacks.picker.registers() end, desc = "Registers" },
|
|
||||||
|
|
||||||
{ "<leader>gb", function() Snacks.picker.git_branches() end, desc = "Git Branches" },
|
|
||||||
{ "<leader>gl", function() Snacks.picker.git_log() end, desc = "Git Log" },
|
|
||||||
{ "<leader>gs", function() Snacks.picker.git_status() end, desc = "Git Status" },
|
|
||||||
{ "<leader>gS", function() Snacks.picker.git_stash() end, desc = "Git Stash" },
|
|
||||||
{ "<leader>gd", function() Snacks.picker.git_diff() end, desc = "Git Diff (Hunks)" },
|
|
||||||
{ "<leader>gf", function() Snacks.picker.git_log_file() end, desc = "Git Log File" },
|
|
||||||
|
|
||||||
{ "<F12>", function() Snacks.terminal.toggle() end, desc = "Terminal Toggle", mode = { "n", "i", "t" } },
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
return {
|
|
||||||
"folke/noice.nvim",
|
|
||||||
dependencies = {
|
|
||||||
"nvim-pack/nvim-spectre",
|
|
||||||
"nvim-lua/plenary.nvim",
|
|
||||||
},
|
|
||||||
config = function ()
|
|
||||||
require("noice").setup {
|
|
||||||
presets = { inc_rename = true }
|
|
||||||
}
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
return {
|
|
||||||
"karb94/neoscroll.nvim",
|
|
||||||
opts = {
|
|
||||||
easing = "quadratic"
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
return {
|
|
||||||
"sphamba/smear-cursor.nvim",
|
|
||||||
event = "VeryLazy",
|
|
||||||
opts = {
|
|
||||||
stiffness = 0.8, -- 0.6 [0, 1]
|
|
||||||
trailing_stiffness = 0.5, -- 0.4 [0, 1]
|
|
||||||
stiffness_insert_mode = 0.6, -- 0.4 [0, 1]
|
|
||||||
trailing_stiffness_insert_mode = 0.6, -- 0.4 [0, 1]
|
|
||||||
distance_stop_animating = 0.5,
|
|
||||||
time_interval = 7, -- milliseconds
|
|
||||||
cursor_color = "#f9e2af",
|
|
||||||
legacy_computing_symbols_support = true,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,67 +0,0 @@
|
||||||
return {
|
|
||||||
'nvim-lualine/lualine.nvim',
|
|
||||||
config = function()
|
|
||||||
-- Bubbles config for lualine
|
|
||||||
-- Author: lokesh-krishna
|
|
||||||
-- MIT license, see LICENSE for more details.
|
|
||||||
|
|
||||||
-- stylua: ignore
|
|
||||||
local colors = {
|
|
||||||
blue = '#89b4fa',
|
|
||||||
cyan = '#89dceb',
|
|
||||||
black = '#1e1e2e',
|
|
||||||
white = '#cdd6f4',
|
|
||||||
red = '#f38ba8',
|
|
||||||
violet = '#cba6f7',
|
|
||||||
grey = '#303030',
|
|
||||||
}
|
|
||||||
|
|
||||||
local bubbles_theme = {
|
|
||||||
normal = {
|
|
||||||
a = { fg = colors.black, bg = colors.violet },
|
|
||||||
b = { fg = colors.white, bg = colors.grey },
|
|
||||||
c = { fg = colors.white },
|
|
||||||
},
|
|
||||||
|
|
||||||
insert = { a = { fg = colors.black, bg = colors.blue } },
|
|
||||||
visual = { a = { fg = colors.black, bg = colors.cyan } },
|
|
||||||
replace = { a = { fg = colors.black, bg = colors.red } },
|
|
||||||
|
|
||||||
inactive = {
|
|
||||||
a = { fg = colors.white, bg = colors.black },
|
|
||||||
b = { fg = colors.white, bg = colors.black },
|
|
||||||
c = { fg = colors.white },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
require('lualine').setup {
|
|
||||||
options = {
|
|
||||||
theme = bubbles_theme,
|
|
||||||
component_separators = '',
|
|
||||||
section_separators = { left = '', right = '' },
|
|
||||||
},
|
|
||||||
sections = {
|
|
||||||
lualine_a = { { 'mode', separator = { left = '' }, right_padding = 2 } },
|
|
||||||
lualine_b = { 'filename', 'branch' },
|
|
||||||
lualine_c = {
|
|
||||||
'%=', --[[ add your center components here in place of this comment ]]
|
|
||||||
},
|
|
||||||
lualine_x = {},
|
|
||||||
lualine_y = { 'filetype', 'progress' },
|
|
||||||
lualine_z = {
|
|
||||||
{ 'location', separator = { right = '' }, left_padding = 2 },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
inactive_sections = {
|
|
||||||
lualine_a = { 'filename' },
|
|
||||||
lualine_b = {},
|
|
||||||
lualine_c = {},
|
|
||||||
lualine_x = {},
|
|
||||||
lualine_y = {},
|
|
||||||
lualine_z = { 'location' },
|
|
||||||
},
|
|
||||||
tabline = {},
|
|
||||||
extensions = {},
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
return {
|
|
||||||
"oskarrrrrrr/symbols.nvim",
|
|
||||||
config = function()
|
|
||||||
local r = require("symbols.recipes")
|
|
||||||
require("symbols").setup(
|
|
||||||
r.DefaultFilters,
|
|
||||||
r.AsciiSymbols,
|
|
||||||
{
|
|
||||||
sidebar = {
|
|
||||||
unfold_on_goto = true,
|
|
||||||
close_on_goto = true,
|
|
||||||
preview = {
|
|
||||||
show_always = true,
|
|
||||||
show_line_number = true,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
}
|
|
||||||
)
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"willothy/nvim-cokeline",
|
|
||||||
dependencies = {
|
|
||||||
"nvim-lua/plenary.nvim", -- Required for v0.4.0+
|
|
||||||
"nvim-tree/nvim-web-devicons", -- If you want devicons
|
|
||||||
"stevearc/resession.nvim" -- Optional, for persistent history
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
require('cokeline').setup({
|
|
||||||
show_if_buffers_are_at_least = 2,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
return {
|
|
||||||
'stevearc/overseer.nvim',
|
|
||||||
opts = {},
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
return {
|
|
||||||
"folke/todo-comments.nvim",
|
|
||||||
event = "VeryLazy",
|
|
||||||
dependencies = { "nvim-lua/plenary.nvim" },
|
|
||||||
}
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"folke/which-key.nvim",
|
|
||||||
opts = {
|
|
||||||
spec = {
|
|
||||||
{ "<BS>", desc = "Decrement Selection", mode = "x" },
|
|
||||||
{ "<c-space>", desc = "Increment Selection", mode = { "x", "n" } },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"m-demare/hlargs.nvim",
|
|
||||||
event = { "VeryLazy" },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'nvim-treesitter/nvim-treesitter',
|
|
||||||
build = ':TSUpdate',
|
|
||||||
dependencies = {
|
|
||||||
'nvim-treesitter/nvim-treesitter-context',
|
|
||||||
},
|
|
||||||
main = 'nvim-treesitter.configs',
|
|
||||||
opts = {
|
|
||||||
auto_install = true,
|
|
||||||
highlight = {
|
|
||||||
enable = true,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"windwp/nvim-ts-autotag",
|
|
||||||
event = "VeryLazy",
|
|
||||||
opts = {},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
/mnt/storage/repos/dotfiles/nvim
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
""
|
|
||||||
" verdigris v0.0.1
|
|
||||||
"
|
|
||||||
|
|
||||||
" URL: https://git.basking.monster/gaiety/verdigris/ports/neovim
|
|
||||||
" Author: Gaiety
|
|
||||||
" License: GPL-3.0-only
|
|
||||||
""
|
|
||||||
|
|
||||||
set background=dark
|
|
||||||
hi clear
|
|
||||||
|
|
||||||
if exists("syntax_on")
|
|
||||||
syntax reset
|
|
||||||
endif
|
|
||||||
let g:colors_name="verdigris"
|
|
||||||
|
|
||||||
|
|
||||||
let Italic = ""
|
|
||||||
if exists('g:verdigris_italic')
|
|
||||||
let Italic = "italic"
|
|
||||||
endif
|
|
||||||
let g:verdigris_italic = get(g:, 'verdigris_italic', 0)
|
|
||||||
|
|
||||||
let Bold = ""
|
|
||||||
if exists('g:verdigris_bold')
|
|
||||||
let Bold = "bold"
|
|
||||||
endif
|
|
||||||
let g:verdigris_bold = get(g:, 'verdigris_bold', 0)
|
|
||||||
|
|
||||||
hi Conceal guifg=#4E6872 ctermfg=242 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE
|
|
||||||
hi DiffAdd guifg=#98CCAC ctermfg=115 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE
|
|
||||||
hi DiffChange guifg=#E1B392 ctermfg=180 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE
|
|
||||||
hi DiffDelete guifg=#E8ADA9 ctermfg=181 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE
|
|
||||||
hi ErrorMsg guifg=#E8ADA9 ctermfg=181 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE
|
|
||||||
hi SpellBad guifg=#E8ADA9 ctermfg=181 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE
|
|
||||||
hi WarningMsg guifg=#E1B392 ctermfg=180 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE
|
|
||||||
hi Comment guifg=#19323B ctermfg=236 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE
|
|
||||||
hi Constant guifg=#FF9F6F ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE
|
|
||||||
hi String guifg=#23DBC1 ctermfg=43 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE
|
|
||||||
hi Identifier guifg=#8CC8E0 ctermfg=116 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE
|
|
||||||
hi Statement guifg=#C6E4F0 ctermfg=254 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE
|
|
||||||
hi Exception guifg=#E8ADA9 ctermfg=181 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE
|
|
||||||
hi PreProc guifg=#4E6872 ctermfg=242 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE
|
|
||||||
hi Type guifg=#E1B392 ctermfg=180 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE
|
|
||||||
hi Special guifg=#E1B392 ctermfg=180 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE
|
|
||||||
hi Ignore guifg=#4E6872 ctermfg=242 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE
|
|
||||||
hi Error guifg=#E8ADA9 ctermfg=181 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE
|
|
||||||
hi Todo guifg=#8CC8E0 ctermfg=116 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BIN
screenshot.png
BIN
screenshot.png
Binary file not shown.
|
Before Width: | Height: | Size: 111 KiB |
38
setup.sh
38
setup.sh
|
|
@ -1,38 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
echo Installing ZSH
|
|
||||||
sudo apt install zsh
|
|
||||||
chsh -s $(which zsh)
|
|
||||||
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
|
|
||||||
echo ZSH installed, log out then back in to have it be your default shell
|
|
||||||
echo then run this script again
|
|
||||||
|
|
||||||
echo Installing mise
|
|
||||||
curl https://mise.run | sh
|
|
||||||
echo "eval \"\$(~/.local/bin/mise activate bash)\"" >> ~/.bashrc
|
|
||||||
source ~/.bashrc
|
|
||||||
|
|
||||||
echo mise installed, restart your terminal then run this script again
|
|
||||||
mise doctor
|
|
||||||
mise trust
|
|
||||||
|
|
||||||
sudo apt install kitty
|
|
||||||
sudo update-alternatives --config x-terminal-emulator
|
|
||||||
echo kitty installed, set it as your default terminal if you wish
|
|
||||||
|
|
||||||
sudo apt install ranger
|
|
||||||
sudo update-alternatives --config xdg-open
|
|
||||||
echo ranger installed, set it as your default file manager if you wish
|
|
||||||
|
|
||||||
sudo apt install mosh
|
|
||||||
echo mosh installed
|
|
||||||
|
|
||||||
curl --proto '=https' --tlsv1.2 -LsSf https://setup.atuin.sh | sh
|
|
||||||
atuin import auto
|
|
||||||
echo Atuin installed
|
|
||||||
|
|
||||||
wget -qO difft.tar.gz https://github.com/Wilfred/difftastic/releases/latest/download/difft-x86_64-unknown-linux-gnu.tar.gz
|
|
||||||
sudo tar xf difft.tar.gz -C /usr/local/bin
|
|
||||||
echo difftastic installed
|
|
||||||
|
|
||||||
echo Finally, run 'task' whenever you are ready for the remaining setup
|
|
||||||
Loading…
Add table
Reference in a new issue