Compare commits

...

40 Commits

Author SHA1 Message Date
99e5c0b13e fix crap lua formatting 2025-05-23 20:02:23 -05:00
16c2a7fa30 .bashrc: set up Homebrew before the tools section 2025-05-15 10:03:13 -05:00
99001c45f5 use relative path in .gitconfig 2025-05-15 09:54:57 -05:00
ac1fb7c56b add .ssh/allowed_signers 2025-05-15 09:52:19 -05:00
5a1e041ce0 remove unused files 2025-05-15 09:51:07 -05:00
f18932a13a bash: add macOS environment variables 2025-05-14 16:58:28 -05:00
007db7e0ce organzie .profile and .bashrc 2025-05-14 15:58:01 -05:00
7bd940d717 remove unused sections of .profile 2025-05-14 11:45:48 -05:00
17766d4035 get rid of defunct .bash_profile 2025-05-14 11:41:57 -05:00
c2cf5c3662 nvim: retab! 2025-05-14 11:28:07 -05:00
4f03e7a041 nvim: install bashls 2025-05-14 11:16:54 -05:00
366dda66de nvim: lazy-lock.json 2025-05-14 00:09:52 -05:00
6cba030e25 nvim: add more language servers 2025-05-14 00:08:56 -05:00
5420660696 nvim: enable more linters 2025-05-14 00:08:42 -05:00
41b29f360b update .gitconfig
https://blog.gitbutler.com/how-git-core-devs-configure-git/
2025-05-13 14:47:56 -05:00
65c05e3def nvim: add diffview 2025-05-13 14:46:55 -05:00
c95f1347b1 Enable golangci-lint 2024-11-06 14:46:00 -06:00
e3c8d39137 Add Neogit 2024-10-29 21:36:16 -05:00
64e7a9daad Update lazy-lock.json 2024-10-13 18:56:03 -05:00
cf62d995c9 Enable ruby formatting in conform 2024-10-13 18:55:01 -05:00
f47198c20c Configure nvim-lint 2024-10-13 18:52:29 -05:00
24c9878ee7 Configure conform key binding 2024-10-13 18:46:54 -05:00
4c6de3bb04 Add Pyright LSP 2024-10-08 17:47:58 -05:00
88bb17d41c Update lazy-lock.json 2024-10-08 17:47:57 -05:00
64225eb276 Add zenbones 2024-10-08 17:45:31 -05:00
02852a7307 Add harpoon 2024-10-08 17:44:59 -05:00
6ecfaaf535 nvim: add nvim-tree 2024-08-08 20:12:27 -05:00
ed7a46b460 Commit nvim configuration 2024-08-07 00:36:20 -05:00
daffcc3915 Use FiraCode in vim 2024-07-02 23:29:31 -05:00
fe463fbf28 Add UndoTree and git-commentary 2024-07-02 23:28:59 -05:00
764d8ed48d Add more keyboard shortcuts for fzf 2024-07-02 23:28:27 -05:00
e615f4cd95 Add trailing space to listchars tab 2022-09-18 10:08:04 -05:00
5015bb2b96 Set .vimrc fileencoding to utf-8 2022-09-18 10:06:58 -05:00
f8056a60e2 Switch to vim-plug 2022-09-18 10:04:21 -05:00
0e3a19bc56 Check if has termguicolors 2022-09-18 09:38:36 -05:00
76bb6c63e0 Remove unite 2022-09-18 09:38:11 -05:00
54e4eb4e1b Configure syntastic for AVR C 2022-09-18 09:37:19 -05:00
d3c39ac63c Set fileencoding to utf-8 to fix listchars 2022-09-18 09:36:48 -05:00
ad01610d52 Change vim color scheme 2022-09-18 09:12:05 -05:00
c0d48b7626 Add some vim plugins 2022-09-18 09:11:16 -05:00
44 changed files with 792 additions and 211 deletions

View File

@ -1,49 +0,0 @@
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
PATH=/usr/local/bin:$PATH
if [ -e `which keychain` ]; then
# load SSH key
keychain --timeout 240 ~/.ssh/id_rsa
source ~/.keychain/$HOSTNAME-sh
fi
# some aliases
alias vi='vim'
alias ta='tmux attach'
alias ta2='tmux -2 attach'
alias ns='netstat -tulpn'
alias llh='ls -lh'
alias ll='ls -lp'
alias ls='ls -p'
# set 1337 h4x0r looking shell prompt
#PS1="\w > "
PS1='\[\e[1;32m\][\u@\h \w]\$\[\e[0m\] '
[[ -s $HOME/.tmuxinator/scripts/tmuxinator ]] && source $HOME/.tmuxinator/scripts/tmuxinator
export EDITOR=vim
source /usr/local/share/chruby/chruby.sh

107
.bashrc Normal file
View File

@ -0,0 +1,107 @@
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
function log() {
if [[ -v "$VERBOSE" ]]; then
echo "$1"
fi
}
function success() {
log "${1}"
}
function warn() {
log "⚠️ ${1}"
}
# Run systemd generators
if [[ -f /usr/lib/systemd/user-environment-generators/30-systemd-environment-d-generator ]]; then
set -o allexport
# shellcheck disable=1090
source <(/usr/lib/systemd/user-environment-generators/30-systemd-environment-d-generator)
set +o allexport
fi
# User specific environment
if ! [[ "$PATH" =~ $HOME/.local/bin:$HOME/bin: ]]; then
PATH="$HOME/.local/bin:$HOME/bin:$PATH"
fi
# User specific aliases and functions
if [ -d ~/.bashrc.d ]; then
for rc in ~/.bashrc.d/*; do
if [ -f "$rc" ]; then
# shellcheck disable=1090
. "$rc"
fi
done
fi
unset rc
# Environment variables
# history control
HISTSIZE=10000
HISTFILESIZE=$HISTSIZE
HISTCONTROL=ignorespace:ignoredups
shopt -s histappend
# OS specific environment
#
# This should be executed before the tools section, especially if we are using
# tools from Homebrew
case "$OSTYPE" in
darwin*)
# Homebrew
if [[ -f /opt/homebrew/bin/brew ]]; then
eval "$(/opt/homebrew/bin/brew shellenv)"
success "set up homebrew"
else
warn "homebrew not found"
fi
# Ruby
if [[ -d /opt/homebrew/opt/ruby ]]; then
export PATH="/opt/homebrew/opt/ruby/bin:$PATH"
export LDFLAGS="-L/opt/homebrew/opt/ruby/lib"
export CPPFLAGS="-I/opt/homebrew/opt/ruby/include"
success "set up homebrew ruby"
else
warn "homebrew ruby not found"
fi
;;
esac
# Tools
if command -v nvim > /dev/null; then
success "setting EDITOR to nvim"
export EDITOR=nvim
success "setting MANPAGER viewer to nvim"
export MANPAGER="nvim +Man!"
else
warn "nvim not found"
fi
# fzf
if command -v fzf > /dev/null; then
eval "$(fzf "--$(basename "$SHELL")")"
success "set up fzf"
else
warn "fzf not found"
fi
# starship
if command -v starship > /dev/null; then
eval "$(starship init "$(basename "$SHELL")")"
success "set up starship"
else
warn "starship not found"
fi
# Aliases
alias nview="nvim -R"

View File

@ -1 +0,0 @@
newtext = green

2
.config/nvim/init.lua Normal file
View File

@ -0,0 +1,2 @@
require("config.lazy")
require("vim-options")

View File

@ -0,0 +1,47 @@
{
"LuaSnip": { "branch": "master", "commit": "c1851d5c519611dfc451b6582961b2602e0af89b" },
"catppuccin": { "branch": "main", "commit": "1bf070129c0b6f77cc23f6a2212dcdc868308c52" },
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
"cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" },
"cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
"cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"conform.nvim": { "branch": "master", "commit": "2b2b30260203af3b93a7470ac6c8457ddd6e32d9" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"everforest-nvim": { "branch": "main", "commit": "2eb7c348f880ba93de4d98cae049c9441f5d4d49" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"fzf-lua": { "branch": "main", "commit": "5af306b30f699513669efdf51cf50a6deab53968" },
"gitsigns.nvim": { "branch": "main", "commit": "43b0c856ae5f32a195d83f4a27fe21d63e6c966c" },
"gruvbox.nvim": { "branch": "main", "commit": "00e38a379bab3389e187b3953566d67d494dfddd" },
"harpoon": { "branch": "harpoon2", "commit": "ed1f853847ffd04b2b61c314865665e1dadf22c7" },
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
"kanagawa.nvim": { "branch": "master", "commit": "4de88d695634a8776c687af8e7436cfa074aa0c0" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lualine.nvim": { "branch": "master", "commit": "15884cee63a8c205334ab13ab1c891cd4d27101a" },
"lush.nvim": { "branch": "main", "commit": "45a79ec4acb5af783a6a29673a999ce37f00497e" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "d39a75bbce4b8aad5d627191ea915179c77c100f" },
"mason.nvim": { "branch": "main", "commit": "7c7318e8bae7e3536ef6b9e86b9e38e74f2e125e" },
"mini.icons": { "branch": "main", "commit": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a" },
"mini.pick": { "branch": "main", "commit": "fa1e449e1080bf7aa9b2890ee186d23b1b4e1287" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "f481de16a0eb59c985abac8985e3f2e2f75b4875" },
"neogit": { "branch": "master", "commit": "00b102e0332f6b27f0aed17ab05732cc53089f08" },
"nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" },
"nord.nvim": { "branch": "master", "commit": "80c1e5321505aeb22b7a9f23eb82f1e193c12470" },
"nui.nvim": { "branch": "main", "commit": "f535005e6ad1016383f24e39559833759453564e" },
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
"nvim-lint": { "branch": "master", "commit": "fdb04e9285edefbe25a02a31a35e8fbb10fe054d" },
"nvim-lspconfig": { "branch": "master", "commit": "5a137448fd921a0c5d3939cb75e60d21f64e4606" },
"nvim-surround": { "branch": "main", "commit": "0e62500b98f4513feaaf7425c135472457ea5b7d" },
"nvim-tree.lua": { "branch": "master", "commit": "e7d1b7dadc62fe2eccc17d814354b0a5688621ce" },
"nvim-treesitter": { "branch": "master", "commit": "066fd6505377e3fd4aa219e61ce94c2b8bdb0b79" },
"nvim-web-devicons": { "branch": "master", "commit": "f1420728f59843eb2ef084406b3d0201a0a0932d" },
"oil.nvim": { "branch": "master", "commit": "685cdb4ffa74473d75a1b97451f8654ceeab0f4a" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"rose-pine": { "branch": "main", "commit": "491a0c77abc7ecb955c27a974091a5968232995f" },
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
"undotree": { "branch": "master", "commit": "b951b87b46c34356d44aa71886aecf9dd7f5788a" },
"vim-fugitive": { "branch": "master", "commit": "4a745ea72fa93bb15dd077109afbb3d1809383f2" },
"zenbones.nvim": { "branch": "main", "commit": "9deaa8a38e43e8c587b427095dd43c3511255b21" }
}

View File

@ -0,0 +1,35 @@
-- 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
require("lazy").setup({
spec = {
-- import your plugins
{ import = "plugins" },
},
-- Configure any other settings here. See the documentation for more details.
-- colorscheme that will be used when installing plugins.
install = { colorscheme = { "habamax" } },
-- automatically check for plugin updates
checker = { enabled = true },
})

View File

@ -0,0 +1,5 @@
return {
"catppuccin/nvim",
name = "catppuccin",
priority = 1000,
}

View File

@ -0,0 +1,53 @@
return {
{
"hrsh7th/cmp-nvim-lsp",
},
{
"hrsh7th/nvim-cmp",
dependencies = {
"neovim/nvim-lspconfig",
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
"hrsh7th/cmp-cmdline",
"saadparwaiz1/cmp_luasnip",
},
opts = function()
local cmp = require("cmp")
require("luasnip.loaders.from_vscode").lazy_load()
return {
snippet = {
expand = function(args)
require("luasnip").lsp_expand(args.body)
end,
},
window = {
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),
},
sources = {
{ name = "nvim_lsp" },
{ name = "luasnip" },
{ name = "buffer" },
},
mapping = cmp.mapping.preset.insert({
["<C-b>"] = cmp.mapping.scroll_docs(-4),
["<C-f>"] = cmp.mapping.scroll_docs(4),
["<C-Space>"] = cmp.mapping.complete(),
["<C-e>"] = cmp.mapping.abort(),
["<CR>"] = cmp.mapping.confirm({ select = true }),
}),
}
end,
--[[
keys = {
{ "<C-b>", function() require('cmp').mapping.scroll_docs(-4) end },
{ "<C-f>", function() require('cmp').mapping.scroll_docs(4) end },
{ "<C-Space>", function() require('cmp').mapping.complete() end },
{ "<C-e>", function() require('cmp').mapping.abort() end },
{ "<CR>", function() require('cmp').mapping.confirm({ select = true }) end },
},
]]
--
},
}

View File

@ -0,0 +1,23 @@
return {
"stevearc/conform.nvim",
event = { "BufWritePre" },
cmd = { "ConformInfo" },
keys = {
{
"<leader>f",
function()
require("conform").format({ async = true })
end,
mode = "",
desc = "Format buffer",
},
},
opts = {
formatters_by_ft = {
lua = { "stylua" },
ruby = { "rufo" },
go = { "gofmt" },
},
},
}

View File

@ -0,0 +1 @@
return { "sindrets/diffview.nvim" }

View File

@ -0,0 +1,12 @@
return {
"neanias/everforest-nvim",
version = false,
lazy = false,
priority = 1000, -- make sure to load this before all the other start plugins
-- Optional; default configuration will be used if setup isn't called.
config = function()
require("everforest").setup({
-- Your config here
})
end,
}

View File

@ -0,0 +1,2 @@
-- return { "mhartington/formatter.nvim" }
return {}

View File

@ -0,0 +1,11 @@
return {
{
"tpope/vim-fugitive",
},
{
"lewis6991/gitsigns.nvim",
config = function()
require("gitsigns").setup()
end,
},
}

View File

@ -0,0 +1,3 @@
return {
"ellisonleao/gruvbox.nvim",
}

View File

@ -0,0 +1,61 @@
return {
"ThePrimeagen/harpoon",
branch = "harpoon2",
dependencies = { "nvim-lua/plenary.nvim" },
config = function()
local harpoon = require("harpoon")
-- REQUIRED
harpoon:setup()
-- REQUIRED
-- basic telescope configuration
local conf = require("telescope.config").values
local function toggle_telescope(harpoon_files)
local file_paths = {}
for _, item in ipairs(harpoon_files.items) do
table.insert(file_paths, item.value)
end
require("telescope.pickers")
.new({}, {
prompt_title = "Harpoon",
finder = require("telescope.finders").new_table({
results = file_paths,
}),
previewer = conf.file_previewer({}),
sorter = conf.generic_sorter({}),
})
:find()
end
vim.keymap.set("n", "<leader>a", function()
harpoon:list():add()
end)
-- vim.keymap.set("n", "<C-e>", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end)
vim.keymap.set("n", "<C-e>", function()
toggle_telescope(harpoon:list())
end, { desc = "Open harpoon window" })
vim.keymap.set("n", "<C-h>", function()
harpoon:list():select(1)
end)
vim.keymap.set("n", "<C-t>", function()
harpoon:list():select(2)
end)
vim.keymap.set("n", "<C-n>", function()
harpoon:list():select(3)
end)
vim.keymap.set("n", "<C-s>", function()
harpoon:list():select(4)
end)
-- Toggle previous & next buffers stored within Harpoon list
vim.keymap.set("n", "<C-S-P>", function()
harpoon:list():prev()
end)
vim.keymap.set("n", "<C-S-N>", function()
harpoon:list():next()
end)
end,
}

View File

@ -0,0 +1,5 @@
return {
"lukas-reineke/indent-blankline.nvim",
main = "ibl",
opts = {},
}

View File

@ -0,0 +1,3 @@
return {
"rebelot/kanagawa.nvim",
}

View File

@ -0,0 +1,25 @@
return {
"mfussenegger/nvim-lint",
opts = {
linters_by_ft = {
-- ruby = { "rubocop", "standardrb" },
ruby = { "standardrb" },
go = { "golangcilint" },
},
},
config = function()
local lint = require("lint")
lint.linters_by_ft = {
-- ruby = { "rubocop", "standardrb" },
ruby = { "standardrb" },
go = { "golangcilint" },
}
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
callback = function()
lint.try_lint()
end,
})
end,
}

View File

@ -0,0 +1,65 @@
return {
{
"williamboman/mason.nvim",
config = function()
require("mason").setup()
end,
},
{
"williamboman/mason-lspconfig.nvim",
dependencies = { "williamboman/mason.nvim" },
config = function()
require("mason-lspconfig").setup({
ensure_installed = {
"lua_ls",
"ruby_lsp",
-- "standardrb",
"terraformls",
"yamlls",
"pyright",
"zls",
"gopls",
"bashls",
},
})
end,
},
{
"neovim/nvim-lspconfig",
dependencies = { "williamboman/mason-lspconfig.nvim" },
config = function()
local lspconfig = require("lspconfig")
lspconfig.zls.setup({})
lspconfig.ruby_lsp.setup({
init_options = {
formatter = "standard",
linters = { "standard" },
},
})
-- lspconfig.standardrb.setup({})
lspconfig.bashls.setup({})
lspconfig.yamlls.setup({})
lspconfig.terraformls.setup({})
lspconfig.lua_ls.setup({
settings = {
Lua = {
diagnostics = {
globals = { "vim" },
},
format = {
defaultConfig = {
indent_style = "tabs",
indent_size = "4",
},
enable = true,
},
},
},
})
lspconfig.pyright.setup({})
lspconfig.gopls.setup({})
lspconfig.zls.setup({})
end,
},
}

View File

@ -0,0 +1,8 @@
return {
"nvim-lualine/lualine.nvim",
event = "VeryLazy",
dependencies = { "nvim-tree/nvim-web-devicons" },
opts = function()
return {}
end,
}

View File

@ -0,0 +1,7 @@
return {
"L3MON4D3/LuaSnip",
dependencies = {
"saadparwaiz1/cmp_luasnip",
"rafamadriz/friendly-snippets",
},
}

View File

@ -0,0 +1,9 @@
return {
"nvim-neo-tree/neo-tree.nvim",
branch = "v3.x",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons",
"MunifTanjim/nui.nvim",
},
}

View File

@ -0,0 +1,13 @@
return {
"NeogitOrg/neogit",
dependencies = {
"nvim-lua/plenary.nvim", -- required
"sindrets/diffview.nvim", -- optional - Diff integration
-- Only one of these is needed.
"nvim-telescope/telescope.nvim", -- optional
"ibhagwan/fzf-lua", -- optional
"echasnovski/mini.pick", -- optional
},
config = true,
}

View File

@ -0,0 +1 @@
return { "EdenEast/nightfox.nvim" }

View File

@ -0,0 +1,3 @@
return {
"shaunsingh/nord.nvim",
}

View File

@ -0,0 +1,6 @@
return {
"nvim-tree/nvim-tree.lua",
config = function()
require("nvim-tree").setup()
end,
}

View File

@ -0,0 +1,7 @@
return {
"stevearc/oil.nvim",
opts = {},
-- Optional dependencies
dependencies = { { "echasnovski/mini.icons", opts = {} } },
-- dependencies = { "nvim-tree/nvim-web-devicons" }, -- use if prefer nvim-web-devicons
}

View File

@ -0,0 +1 @@
return { "rose-pine/neovim", name = "rose-pine" }

View File

@ -0,0 +1,10 @@
return {
"kylechui/nvim-surround",
version = "*", -- Use for stability; omit to use `main` branch for the latest features
event = "VeryLazy",
config = function()
require("nvim-surround").setup({
-- Configuration here, or leave empty to use defaults
})
end,
}

View File

@ -0,0 +1,33 @@
return {
"nvim-telescope/telescope.nvim",
branch = "0.1.x",
dependencies = {
"nvim-lua/plenary.nvim",
},
keys = {
{
"<leader>ff",
function()
require("telescope.builtin").find_files()
end,
},
{
"<leader>fg",
function()
require("telescope.builtin").live_grep()
end,
},
{
"<leader>fb",
function()
require("telescope.builtin").buffers()
end,
},
{
"<leader>fh",
function()
require("telescope.builtin").help_tags()
end,
},
},
}

View File

@ -0,0 +1,6 @@
return {
"folke/tokyonight.nvim",
lazy = false,
priority = 1000,
opts = {},
}

View File

@ -0,0 +1,22 @@
return {
"nvim-treesitter/nvim-treesitter",
opts = {
build = ":TSUpdate",
ensure_installed = {
"ruby",
"lua",
"hcl",
"terraform",
},
auto_install = true,
highlight = {
enable = true,
},
indent = {
enable = false,
},
},
config = function(_, opts)
require("nvim-treesitter.configs").setup(opts)
end,
}

View File

@ -0,0 +1,37 @@
return {
"folke/trouble.nvim",
opts = {}, -- for default options, refer to the configuration section for custom setup.
cmd = "Trouble",
keys = {
{
"<leader>xx",
"<cmd>Trouble diagnostics toggle<cr>",
desc = "Diagnostics (Trouble)",
},
{
"<leader>xX",
"<cmd>Trouble diagnostics toggle filter.buf=0<cr>",
desc = "Buffer Diagnostics (Trouble)",
},
{
"<leader>cs",
"<cmd>Trouble symbols toggle focus=false<cr>",
desc = "Symbols (Trouble)",
},
{
"<leader>cl",
"<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
desc = "LSP Definitions / references / ... (Trouble)",
},
{
"<leader>xL",
"<cmd>Trouble loclist toggle<cr>",
desc = "Location List (Trouble)",
},
{
"<leader>xQ",
"<cmd>Trouble qflist toggle<cr>",
desc = "Quickfix List (Trouble)",
},
},
}

View File

@ -0,0 +1,7 @@
return {
"mbbill/undotree",
keys = {
{ "<leader>u", vim.cmd.UndotreeToggle },
},
}

View File

@ -0,0 +1,14 @@
return {
"zenbones-theme/zenbones.nvim",
-- Optionally install Lush. Allows for more configuration or extending the colorscheme
-- If you don't want to install lush, make sure to set g:zenbones_compat = 1
-- In Vim, compat mode is turned on as Lush only works in Neovim.
dependencies = "rktjmp/lush.nvim",
lazy = false,
priority = 1000,
-- you can set set configuration options here
-- config = function()
-- vim.g.zenbones_darken_comments = 45
-- vim.cmd.colorscheme('zenbones')
-- end
}

View File

@ -0,0 +1,10 @@
vim.cmd("set expandtab")
vim.cmd("set tabstop=4")
vim.cmd("set softtabstop=4")
vim.cmd("set shiftwidth=4")
vim.cmd("set smartindent")
vim.wo.number = true
vim.cmd.colorscheme("tokyonight")
vim.opt.termguicolors = true

View File

@ -1,15 +1,26 @@
[user]
name = Ryan Cavicchioni
email = ryan@cavi.cc
signingkey = ~/.ssh/id_ed25519.pub
[color]
ui = true
[push]
default = simple
[pager]
log = diff-highlight | less
show = diff-highlight | less
diff = diff-highlight | less
[commit]
gpgsign = true
[pull]
ff = only
[gpg]
format = ssh
[merge]
conflictstyle = zdiff3
[log]
showsignature = true
showSignature = true
[gpg "ssh"]
allowedSignersFile = ~/.ssh/allowed_signers
[diff]
tool = meld
[difftool]
prompt = false
[difftool "meld"]
cmd = meld "$LOCAL" "$REMOTE"

3
.gitignore vendored
View File

@ -1,3 +0,0 @@
!.vim/bundle/Vundle.vim
.vim/bundle/*
.vim/swp/*

0
.gitmodules vendored
View File

3
.hgrc
View File

@ -1,3 +0,0 @@
[ui]
username = Ryan Cavicchioni <ryan@confabulator.net>
editor = vim

View File

@ -1,44 +1,8 @@
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
# shellcheck disable=SC1090
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin directories
PATH="$HOME/bin:$HOME/.local/bin:$PATH"
export EDITOR=vim
export GPG_TTY=$(tty)
if [ ! -e /run/systemd/system ]; then
SSH_ENV="${HOME}/.ssh/env"
function start_ssh_agent {
ssh-agent | sed -e '/^echo/d' > "${SSH_ENV}"
chmod 0600 "${SSH_ENV}"
. "${SSH_ENV}"
}
if [ -f "${SSH_ENV}" ]; then
. "${SSH_ENV}"
if ! kill -0 "${SSH_AGENT_PID}" > /dev/null 2>&1; then
start_ssh_agent
fi
else
start_ssh_agent
fi
else
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"
fi

4
.ssh/allowed_signers Normal file
View File

@ -0,0 +1,4 @@
ryan@cavi.cc namespaces="git" ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGznaofIstAxYsX1MH8xQiZU4aOO4SUw9OlRbyFMfQTx compy386
ryan@cavi.cc namespaces="git" ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICndorpp/6aKlLq2K1YP81r8zA80VGp1qAUeCZtdVhAw lappy486
rcavicchioni@gmail.com namespaces="git" ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGznaofIstAxYsX1MH8xQiZU4aOO4SUw9OlRbyFMfQTx compy386
rcavicchioni@gmail.com namespaces="git" ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICndorpp/6aKlLq2K1YP81r8zA80VGp1qAUeCZtdVhAw lappy486

200
.vimrc
View File

@ -6,9 +6,7 @@ silent !mkdir -p ~/.vim/{backup,swp}/
set nocompatible
filetype off
packadd minpac
call minpac#init()
call minpac#add('k-takata/minpac', {'type': 'opt'})
call plug#begin()
set t_Co=256 " Set to 256 color mode.
syntax on " Enable syntax highlighting.
@ -29,8 +27,8 @@ set smartcase " Smart case matching.
set autowrite " Save before switching buffers.
set number
set smarttab
" set listchars=tab:<3A>\ ,eol:$
set listchars=eol:<EFBFBD>,space:<EFBFBD>,tab:<EFBFBD>\
set fileencoding=utf-8
set listchars=eol:¬,space:·,tab:»\
set expandtab
set backspace=indent,eol
set textwidth=80
@ -41,12 +39,18 @@ set colorcolumn=80
set diffopt+=iwhite
set backupdir=~/.vim/backup/
set directory=~/.vim/swp/
set termguicolors
if has('termguicolors')
set termguicolors
endif
set updatetime=100
nnoremap <leader>s :set spell!<CR>
nnoremap <leader>n :set number!<CR>
nnoremap <leader>rn :set relativenumber!<CR>
nnoremap <leader>b :Buffers<CR>
nnoremap <leader>f :Files<CR>
nnoremap <leader>c :Colors<CR>
nnoremap <leader>u :UndotreeToggle<CR>
au BufNewFile,BufRead *.txt set ft=text
au FileType text set tw=72 spell spelllang=en_us nonumber
@ -73,86 +77,104 @@ nmap <silent> <leader>u :GundoToggle<CR>
filetype off
" Plugins
call minpac#add('Shougo/vimproc')
call minpac#add('sjl/gundo.vim')
call minpac#add('scrooloose/nerdcommenter')
call minpac#add('scrooloose/nerdtree')
"call minpac#add('msanders/snipmate.vim')
call minpac#add('godlygeek/tabular')
call minpac#add('tpope/vim-surround')
call minpac#add('tpope/vim-fugitive')
call minpac#add('kien/ctrlp.vim')
call minpac#add('vim-scripts/scratch.vim')
call minpac#add('bling/vim-airline')
call minpac#add('tpope/vim-characterize')
call minpac#add('tpope/vim-vinegar')
Plug 'Shougo/vimproc'
Plug 'sjl/gundo.vim'
Plug 'scrooloose/nerdcommenter'
Plug 'scrooloose/nerdtree'
Plug 'msanders/snipmate.vim'
Plug 'godlygeek/tabular'
Plug 'tpope/vim-surround'
Plug 'tpope/vim-fugitive'
Plug 'kien/ctrlp.vim'
Plug 'vim-scripts/scratch.vim'
Plug 'bling/vim-airline'
Plug 'tpope/vim-characterize'
Plug 'tpope/vim-vinegar'
" Syntax
call minpac#add('jnwhiteh/vim-golang')
call minpac#add('vim-syntastic/syntastic')
Plug 'jnwhiteh/vim-golang'
Plug 'vim-syntastic/syntastic'
Plug 'hashivim/vim-terraform'
" Themes
call minpac#add('jnurmine/Zenburn')
call minpac#add('nanotech/jellybeans.vim')
call minpac#add('guns/jellyx.vim')
call minpac#add('altercation/vim-colors-solarized')
call minpac#add('atonse/vydark')
call minpac#add('vim-scripts/vylight')
call minpac#add('tpope/vim-vividchalk')
call minpac#add('ciaranm/inkpot')
call minpac#add('mrkn/mrkn256.vim')
call minpac#add('vim-scripts/twilight256.vim')
call minpac#add('vim-scripts/vilight.vim')
call minpac#add('dasch/vim-mocha')
call minpac#add('dasch/satellite')
call minpac#add('djjcast/mirodark')
call minpac#add('molok/vim-vombato-colorscheme')
"Plugin 'jelera/vim-gummybears-colorscheme'
call minpac#add('vim-scripts/Gummybears')
call minpac#add('sjl/badwolf')
call minpac#add('shawncplus/skittles_berry')
call minpac#add('vim-scripts/Skittles-Dark')
call minpac#add('vim-scripts/tortex')
call minpac#add('vim-scripts/mayansmoke')
call minpac#add('w0ng/vim-hybrid')
call minpac#add('blackgate/tropikos-vim-theme')
call minpac#add('zaki/zazen')
call minpac#add('jonathanfilip/vim-lucius')
call minpac#add('chriskempson/vim-tomorrow-theme')
call minpac#add('nelstrom/vim-blackboard')
call minpac#add('tomasr/molokai')
call minpac#add('morhetz/gruvbox')
call minpac#add('chriskempson/base16-vim')
call minpac#add('sk1418/last256')
call minpac#add('toupeira/vim-desertink')
call minpac#add('junegunn/seoul256.vim')
call minpac#add('lsdr/monokai')
call minpac#add('Pychimp/vim-luna')
call minpac#add('Pychimp/vim-sol')
call minpac#add('vim-scripts/wombat256.vim')
call minpac#add('vim-scripts/Wombat')
call minpac#add('reedes/vim-colors-pencil')
call minpac#add('Shougo/unite.vim')
call minpac#add('nielsmadan/harlequin')
call minpac#add('dylanaraps/crayon')
call minpac#add('joshdick/onedark.vim')
call minpac#add('kamwitsta/flatwhite-vim')
call minpac#add('srcery-colors/srcery-vim')
call minpac#add('koirand/tokyo-metro.vim')
call minpac#add('wesgibbs/vim-irblack')
call minpac#add('agreco/vim-citylights')
call minpac#add('kaicataldo/material.vim')
call minpac#add('arcticicestudio/nord-vim')
call minpac#add('dracula/vim')
call minpac#add('airblade/vim-gitgutter')
call minpac#add('vim-airline/vim-airline-themes')
call minpac#add('fxn/vim-monochrome')
Plug 'jnurmine/Zenburn'
Plug 'nanotech/jellybeans.vim'
Plug 'guns/jellyx.vim'
Plug 'altercation/vim-colors-solarized'
Plug 'atonse/vydark'
Plug 'vim-scripts/vylight'
Plug 'tpope/vim-vividchalk'
Plug 'ciaranm/inkpot'
Plug 'mrkn/mrkn256.vim'
Plug 'vim-scripts/twilight256.vim'
Plug 'vim-scripts/vilight.vim'
Plug 'dasch/vim-mocha'
Plug 'dasch/satellite'
Plug 'djjcast/mirodark'
Plug 'molok/vim-vombato-colorscheme'
Plug 'sjl/badwolf'
Plug 'shawncplus/skittles_berry'
Plug 'vim-scripts/Skittles-Dark'
Plug 'vim-scripts/tortex'
Plug 'vim-scripts/mayansmoke'
Plug 'w0ng/vim-hybrid'
Plug 'blackgate/tropikos-vim-theme'
Plug 'zaki/zazen'
Plug 'jonathanfilip/vim-lucius'
Plug 'chriskempson/vim-tomorrow-theme'
Plug 'nelstrom/vim-blackboard'
Plug 'tomasr/molokai'
Plug 'chriskempson/base16-vim'
Plug 'sk1418/last256'
Plug 'toupeira/vim-desertink'
Plug 'junegunn/seoul256.vim'
Plug 'lsdr/monokai'
Plug 'Pychimp/vim-luna'
Plug 'Pychimp/vim-sol'
Plug 'vim-scripts/wombat256.vim'
Plug 'vim-scripts/Wombat'
Plug 'reedes/vim-colors-pencil'
Plug 'nielsmadan/harlequin'
Plug 'dylanaraps/crayon'
Plug 'kamwitsta/flatwhite-vim'
Plug 'srcery-colors/srcery-vim'
Plug 'koirand/tokyo-metro.vim'
Plug 'wesgibbs/vim-irblack'
Plug 'agreco/vim-citylights'
Plug 'kaicataldo/material.vim'
Plug 'arcticicestudio/nord-vim'
Plug 'dracula/vim'
Plug 'airblade/vim-gitgutter'
Plug 'vim-airline/vim-airline-themes'
Plug 'fxn/vim-monochrome'
Plug 'morhetz/gruvbox'
Plug 'joshdick/onedark.vim'
Plug 'sainnhe/everforest'
Plug 'NLKNguyen/papercolor-theme'
Plug 'sainnhe/sonokai'
Plug 'sainnhe/gruvbox-material'
Plug 'Everblush/everblush.vim'
Plug 'yuttie/inkstained-vim'
Plug 'sainnhe/edge'
Plug 'savq/melange'
Plug 'fatih/vim-go'
Plug 'junegunn/fzf', {'do': {-> fzf#install()}}
Plug 'junegunn/fzf.vim'
Plug 'mbbill/undotree'
Plug 'tpope/vim-commentary'
call plug#end()
filetype plugin indent on
set background=dark
colorscheme badwolf
let g:airline_theme='badwolf'
" colorscheme Tomorrow-Night-Eighties
set background=dark
let g:everforest_background = 'hard'
" colorscheme everforest
colorscheme everblush
let g:airline_theme='everforest'
" Force hash comments to retain their indentation level.
inoremap # X#
@ -162,10 +184,6 @@ let g:airline#extensions#tabline#enabled = 1
let g:airline_left_sep=''
let g:airline_right_sep=''
" Configure unite
nnoremap <leader>f :<C-u>Unite -start-insert file<CR>
nnoremap <leader>b :<C-u>Unite -start-insert buffer<CR>
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
@ -176,7 +194,21 @@ let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
let g:syntastic_yaml_checkers = ['yamllint']
function SetupSyntasticAvr()
let g:syntastic_c_compiler = "avr-gcc"
let g:syntastic_c_compiler_options = "-std=c99 -Wall -g -Os -mmcu=atmega328p -DF_CPU=16000000 -I ."
endfunction
if filereadable(".avr")
autocmd FileType c call SetupSyntasticAvr()
endif
" If it exists, include user's local vim config
if filereadable(expand("~/.vimrc.local"))
source ~/.vimrc.local
endif
if !has('nvim')
set guifont=FiraCode
set guiligatures=!\"#$%&()*+-./:<=>?@[]^_{\|~
endif

View File

@ -1,28 +0,0 @@
install: install-vim install-git install-bash install-colordiff install-hg \
install-mutt
install-vim:
rm -rf ~/.vim ~/.vimrc
ln -s `pwd`/.vim ~/.vim
ln -s ~/.vim/vimrc ~/.vimrc
install-git:
rm -f ~/.gitconfig
ln -s `pwd`/.gitconfig ~/.gitconfig
install-bash:
rm -f ~/.bash_profile ~/.inputrc
ln -s `pwd`/.bash_profile ~/.bash_profile
ln -s `pwd`/.inputrc ~/.inputrc
install-colordiff:
rm -f ~/.colordiffrc
ln -s `pwd`/.colordiffrc ~/.colordiffrc
install-hg:
rm -f ~/.hgrc
ln -s `pwd`/.hgrc ~/.hgrc
install-mutt:
rm -f ~/.muttrc
ln -s `pwd`/.muttrc ~/.muttrc