Compare commits
No commits in common. "512139b711e9e228a1c1fa9bf643baa3239ac398" and "6df6c249c6c173a1a3918fe1c8798d93d59d0131" have entirely different histories.
512139b711
...
6df6c249c6
42 changed files with 1231 additions and 24 deletions
37
.gitconfig
37
.gitconfig
|
|
@ -1,6 +1,35 @@
|
||||||
[user]
|
[user]
|
||||||
name = Gaiety
|
email = ava+git@basking.monster
|
||||||
email = ava+git@gaiety.me
|
name = gaiety
|
||||||
|
|
||||||
[core]
|
[apply]
|
||||||
editor = nvim
|
# Detect whitespace errors when applying a patch
|
||||||
|
whitespace = fix
|
||||||
|
|
||||||
|
[color]
|
||||||
|
ui = auto
|
||||||
|
|
||||||
|
[color "diff"]
|
||||||
|
meta = yellow bold
|
||||||
|
frag = magenta bold # line info
|
||||||
|
old = red # deletions
|
||||||
|
new = green # additions
|
||||||
|
|
||||||
|
[color "status"]
|
||||||
|
added = yellow
|
||||||
|
changed = green
|
||||||
|
untracked = cyan
|
||||||
|
|
||||||
|
[diff]
|
||||||
|
# Detect copies as well as renames
|
||||||
|
renames = copies
|
||||||
|
tool = difft
|
||||||
|
|
||||||
|
[help]
|
||||||
|
# Automatically correct and execute mistyped commands
|
||||||
|
autocorrect = 1
|
||||||
|
|
||||||
|
[push]
|
||||||
|
# change to maching for machines with older versions of git 1.x.x
|
||||||
|
default = simple
|
||||||
|
autoSetupRemote = true
|
||||||
|
|
|
||||||
88
.zshrc
88
.zshrc
|
|
@ -1,3 +1,86 @@
|
||||||
|
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
|
||||||
|
|
||||||
|
|
@ -255,5 +338,6 @@ export EDITOR='nvim'
|
||||||
# alias zshconfig="mate ~/.zshrc"
|
# alias zshconfig="mate ~/.zshrc"
|
||||||
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||||||
|
|
||||||
eval "$(init zsh)"
|
. "$HOME/.atuin/bin/env"
|
||||||
eval "$(/home/gaiety/.local/bin/mise activate zsh)"
|
|
||||||
|
eval "$(atuin init zsh)"
|
||||||
|
|
|
||||||
17
README.md
17
README.md
|
|
@ -1,16 +1,19 @@
|
||||||
# Gaiety's Dotfiles 2026
|
# Gaiety's Dotfiles
|
||||||
|
|
||||||
Designed for Unix Systems.
|
Designed for Unix Systems.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
|
Misc dependencies: `git, curl, apt`
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
curl https://mise.run | sh
|
# apt Installations
|
||||||
chmod +x ./mise-tasks/*
|
sudo ./setup.sh
|
||||||
mise trust
|
|
||||||
mise install
|
# Links & Configs
|
||||||
mise run install-terminal
|
task
|
||||||
mise run symlink
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
65
Taskfile.yml
Normal file
65
Taskfile.yml
Normal file
|
|
@ -0,0 +1,65 @@
|
||||||
|
# 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
Normal file
BIN
difft.tar.gz
Normal file
Binary file not shown.
1
kitty/kitty
Symbolic link
1
kitty/kitty
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
/mnt/storage/repos/dotfiles/kitty
|
||||||
89
kitty/kitty-theme.conf
Normal file
89
kitty/kitty-theme.conf
Normal file
|
|
@ -0,0 +1,89 @@
|
||||||
|
#########################
|
||||||
|
# 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
|
||||||
|
####################
|
||||||
18
kitty/kitty.conf
Normal file
18
kitty/kitty.conf
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
# 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
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
#MISE description="Install Ghostty"
|
|
||||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/mkasberg/ghostty-ubuntu/HEAD/install.sh)"
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
#MISE description="Symlink Dotfiles"
|
|
||||||
ln -sf "$(pwd)/.gitconfig" ~/.gitconfig
|
|
||||||
|
|
@ -1,6 +1,2 @@
|
||||||
[tools]
|
[tools]
|
||||||
bat = "latest"
|
task = "3.45.4"
|
||||||
fzf = "latest"
|
|
||||||
neovim = "latest"
|
|
||||||
tree-sitter = "latest"
|
|
||||||
zellij = "latest"
|
|
||||||
|
|
|
||||||
41
nvim/init.lua
Normal file
41
nvim/init.lua
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
-- 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)
|
||||||
50
nvim/lazy-lock.json
Normal file
50
nvim/lazy-lock.json
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
{
|
||||||
|
"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" }
|
||||||
|
}
|
||||||
11
nvim/lua/config/autocmds.lua
Normal file
11
nvim/lua/config/autocmds.lua
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
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
|
||||||
|
})
|
||||||
21
nvim/lua/config/keys.lua
Normal file
21
nvim/lua/config/keys.lua
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
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)
|
||||||
40
nvim/lua/config/options.lua
Normal file
40
nvim/lua/config/options.lua
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
-- 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
|
||||||
32
nvim/lua/filetypes/elixir.lua
Normal file
32
nvim/lua/filetypes/elixir.lua
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
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",
|
||||||
|
},
|
||||||
|
}
|
||||||
8
nvim/lua/filetypes/markdown.lua
Normal file
8
nvim/lua/filetypes/markdown.lua
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
return {
|
||||||
|
'MeanderingProgrammer/render-markdown.nvim',
|
||||||
|
ft = { "markdown" },
|
||||||
|
dependencies = { 'nvim-treesitter/nvim-treesitter'},
|
||||||
|
---@module 'render-markdown'
|
||||||
|
---@type render.md.UserConfig
|
||||||
|
opts = {},
|
||||||
|
}
|
||||||
21
nvim/lua/filetypes/regex.lua
Normal file
21
nvim/lua/filetypes/regex.lua
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
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',
|
||||||
|
}
|
||||||
|
}
|
||||||
3
nvim/lua/plugins/adjust.lua
Normal file
3
nvim/lua/plugins/adjust.lua
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
return {
|
||||||
|
"AndrewRadev/switch.vim"
|
||||||
|
}
|
||||||
17
nvim/lua/plugins/codestats.lua
Normal file
17
nvim/lua/plugins/codestats.lua
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
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,
|
||||||
|
}
|
||||||
9
nvim/lua/plugins/colorize.lua
Normal file
9
nvim/lua/plugins/colorize.lua
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
return {
|
||||||
|
"catgoose/nvim-colorizer.lua",
|
||||||
|
event = "BufReadPre",
|
||||||
|
opts = { -- set to setup table
|
||||||
|
mode = "virtualtext",
|
||||||
|
virtualtext = "■",
|
||||||
|
virtualtext_inline = true,
|
||||||
|
},
|
||||||
|
}
|
||||||
44
nvim/lua/plugins/dash.lua
Normal file
44
nvim/lua/plugins/dash.lua
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
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,
|
||||||
|
}
|
||||||
32
nvim/lua/plugins/folding.lua
Normal file
32
nvim/lua/plugins/folding.lua
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
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,
|
||||||
|
}
|
||||||
3
nvim/lua/plugins/illuminate.lua
Normal file
3
nvim/lua/plugins/illuminate.lua
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
return {
|
||||||
|
"RRethy/vim-illuminate",
|
||||||
|
}
|
||||||
199
nvim/lua/plugins/lsp.lua
Normal file
199
nvim/lua/plugins/lsp.lua
Normal file
|
|
@ -0,0 +1,199 @@
|
||||||
|
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,
|
||||||
|
},
|
||||||
|
}
|
||||||
17
nvim/lua/plugins/moves.lua
Normal file
17
nvim/lua/plugins/moves.lua
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
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" },
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
60
nvim/lua/plugins/pairs.lua
Normal file
60
nvim/lua/plugins/pairs.lua
Normal file
|
|
@ -0,0 +1,60 @@
|
||||||
|
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
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
52
nvim/lua/plugins/pickers.lua
Normal file
52
nvim/lua/plugins/pickers.lua
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
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" } },
|
||||||
|
}
|
||||||
|
}
|
||||||
12
nvim/lua/plugins/replace.lua
Normal file
12
nvim/lua/plugins/replace.lua
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
return {
|
||||||
|
"folke/noice.nvim",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-pack/nvim-spectre",
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
|
},
|
||||||
|
config = function ()
|
||||||
|
require("noice").setup {
|
||||||
|
presets = { inc_rename = true }
|
||||||
|
}
|
||||||
|
end
|
||||||
|
}
|
||||||
6
nvim/lua/plugins/scrolling.lua
Normal file
6
nvim/lua/plugins/scrolling.lua
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
return {
|
||||||
|
"karb94/neoscroll.nvim",
|
||||||
|
opts = {
|
||||||
|
easing = "quadratic"
|
||||||
|
},
|
||||||
|
}
|
||||||
14
nvim/lua/plugins/smear.lua
Normal file
14
nvim/lua/plugins/smear.lua
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
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,
|
||||||
|
},
|
||||||
|
}
|
||||||
67
nvim/lua/plugins/statusline.lua
Normal file
67
nvim/lua/plugins/statusline.lua
Normal file
|
|
@ -0,0 +1,67 @@
|
||||||
|
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,
|
||||||
|
}
|
||||||
20
nvim/lua/plugins/symbols.lua
Normal file
20
nvim/lua/plugins/symbols.lua
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
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
|
||||||
|
}
|
||||||
15
nvim/lua/plugins/tabline.lua
Normal file
15
nvim/lua/plugins/tabline.lua
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
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,
|
||||||
|
}
|
||||||
|
}
|
||||||
4
nvim/lua/plugins/tasks.lua
Normal file
4
nvim/lua/plugins/tasks.lua
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
return {
|
||||||
|
'stevearc/overseer.nvim',
|
||||||
|
opts = {},
|
||||||
|
}
|
||||||
5
nvim/lua/plugins/todo.lua
Normal file
5
nvim/lua/plugins/todo.lua
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
return {
|
||||||
|
"folke/todo-comments.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
|
}
|
||||||
34
nvim/lua/plugins/treesitter.lua
Normal file
34
nvim/lua/plugins/treesitter.lua
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
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
nvim/nvim
Symbolic link
1
nvim/nvim
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
/mnt/storage/repos/dotfiles/nvim
|
||||||
52
nvim/verdigris.vim
Normal file
52
nvim/verdigris.vim
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
""
|
||||||
|
" 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
Normal file
BIN
screenshot.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 111 KiB |
38
setup.sh
Normal file
38
setup.sh
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
#!/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