This commit is contained in:
Brian Zalewski 2023-07-17 20:40:40 +00:00
parent 03f5dbdce6
commit 27e3cd3388
24 changed files with 837 additions and 23 deletions

View file

@ -613,6 +613,7 @@ softwareGroups:
- kdash - kdash
- kn - kn
# TODO: Check if some of these are installed by Krew and remove if they are # TODO: Check if some of these are installed by Krew and remove if they are
- krew
- kubectx - kubectx
- kubekey - kubekey
- kubenav - kubenav

View file

@ -3,9 +3,8 @@
# @file Neovim Configuration # @file Neovim Configuration
# @brief This script configures Neovim by applying the configuration stored in `${XDG_DATA_HOME:-$HOME/.config}/nvim-custom/init.lua` if the `nvim` application is available # @brief This script configures Neovim by applying the configuration stored in `${XDG_DATA_HOME:-$HOME/.config}/nvim-custom/init.lua` if the `nvim` application is available
# @description # @description
# This script applies the Neovim configuration stored in `${XDG_DATA_HOME:-$HOME/.config}/nvim-custom/init.lua` if nvim is installed. # This script applies the Neovim configuration stored in `${XDG_DATA_HOME:-$HOME/.local/share}/nvchad/init.lua` if nvim is installed.
# The custom init configuration provides compatiblity between Volta and Neovim. This allows neovim to discover node modules installed by Volta. This script sets up # The custom configuration was adapted from [linuxmobile/nvchad-v2](https://github.com/linuxmobile/nvchad-v2).
# init in such a way that the compatibility setting is applied even when Neovim is installed using Flatpak
# #
# ## Links # ## Links
# #
@ -16,15 +15,17 @@
### Symlink custom code for Neovim configuration ### Symlink custom code for Neovim configuration
if [ ! -d "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/lua/custom" ]; then if [ ! -d "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/lua/custom" ]; then
logg info "Linking ${XDG_CONFIG_HOME:-$HOME/.config}/nvim-custom to ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/lua/custom" logg info "Changes should go in ${XDG_DATA_HOME:-$HOME/.local/share}/nvchad"
logg info "Changes should go in ${XDG_CONFIG_HOME:-$HOME/.config}/nvim-custom" mkdir -p "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/lua"
ln -s "${XDG_CONFIG_HOME:-$HOME/.config}/nvim-custom" "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/lua/custom" logg info "Linking ${XDG_DATA_HOME:-$HOME/.local/share}/nvchad to ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/lua/custom"
ln -s "${XDG_DATA_HOME:-$HOME/.local/share}/nvchad" "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/lua/custom"
elif command -v flatpak && flatpak list | grep 'io.neovim.nvim' > /dev/null && [ ! -d "~/.var/app/io.neovim.nvim/config/nvim/lua/custom" ]; then elif command -v flatpak && flatpak list | grep 'io.neovim.nvim' > /dev/null && [ ! -d "~/.var/app/io.neovim.nvim/config/nvim/lua/custom" ]; then
logg info "Linking ${XDG_CONFIG_HOME:-$HOME/.config}/nvim-custom to ~/.var/app/io.neovim.nvim/config/nvim/lua/custom" logg info "Changes should go in ${XDG_DATA_HOME:-$HOME/.local/share}/nvchad"
logg info "Changes should go in ${XDG_CONFIG_HOME:-$HOME/.config}/nvim-custom" mkdir -p "$HOME/.var/app/io.neovim.nvim/config/nvim/lua"
ln -s "${XDG_CONFIG_HOME:-$HOME/.config}/nvim-custom" "~/.var/app/io.neovim.nvim/config/nvim/lua/custom" logg info "Linking ${XDG_DATA_HOME:-$HOME/.local/share}/nvchad to ~/.var/app/io.neovim.nvim/config/nvim/lua/custom"
ln -s "${XDG_DATA_HOME:-$HOME/.local/share}/nvchad" "$HOME/.var/app/io.neovim.nvim/config/nvim/lua/custom"
else else
logg info "${XDG_CONFIG_HOME:-$HOME/.config}/nvim-custom appears to already be symlinked to ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/lua/custom" logg info "${XDG_DATA_HOME:-$HOME/.local/share}/nvchad appears to already be symlinked to ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/lua/custom"
fi fi
{{ end -}} {{ end -}}

View file

@ -21,7 +21,18 @@ if command -v netdata-claim.sh > /dev/null; then
if command -v add-user > /dev/null; then if command -v add-user > /dev/null; then
sudo add-user netdata sudo add-user netdata
fi fi
### Ensure /usr/local/var/lib/netdata/cloud.d is owned by user
if [ -d /usr/local/var/lib/netdata/cloud.d ]; then
logg info 'Ensuring permissions are correct on /usr/local/var/lib/netdata/cloud.d'
sudo chown -Rf $USER /usr/local/var/lib/netdata/cloud.d
elif [ -d /var/lib/netdata/cloud.d ]; then
logg info 'Ensuring permissions are correct on /var/lib/netdata/cloud.d'
sudo chown -Rf $USER /var/lib/netdata/cloud.d
fi
# netdata-claim.sh must be run as netdata user # netdata-claim.sh must be run as netdata user
logg info "Netdata room: $NETDATA_ROOM"
sudo -H -u netdata bash -c 'netdata-claim.sh -token="$NETDATA_TOKEN" -rooms="$NETDATA_ROOM" -url="{{ .netdataClaimURL }}"' sudo -H -u netdata bash -c 'netdata-claim.sh -token="$NETDATA_TOKEN" -rooms="$NETDATA_ROOM" -url="{{ .netdataClaimURL }}"'
# Kernel optimizations # Kernel optimizations

View file

@ -1,5 +1,5 @@
{{- if (ne .host.distro.family "windows") -}} {{- if (ne .host.distro.family "windows") -}}
#!/usr/bin/env bash #!/usr/bin/env -S bash -i
# @file Bash It! # @file Bash It!
# @brief Ensures Bash is configured to use Bash It! # @brief Ensures Bash is configured to use Bash It!
# @description # @description

View file

@ -116,13 +116,13 @@ if [ -d /System ] && [ -d /Applications ] && command -v warp-cli > /dev/null; th
logg info 'Adding Cloudflare certificate to `/usr/local/etc/openssl@3/certs/Cloudflare_CA.pem`' logg info 'Adding Cloudflare certificate to `/usr/local/etc/openssl@3/certs/Cloudflare_CA.pem`'
echo | sudo cat - "${XDG_DATA_HOME:-$HOME/.local/share}/warp/Cloudflare_CA.pem" >> /usr/local/etc/openssl@3/certs/Cloudflare_CA.pem echo | sudo cat - "${XDG_DATA_HOME:-$HOME/.local/share}/warp/Cloudflare_CA.pem" >> /usr/local/etc/openssl@3/certs/Cloudflare_CA.pem
logg info 'Running `/usr/local/opt/openssl@3/bin/c_rehash`' logg info 'Running `/usr/local/opt/openssl@3/bin/c_rehash`'
/usr/local/opt/openssl@3/bin/c_rehash > /dev/null && logg success 'rehash successful' /usr/local/opt/openssl@3/bin/c_rehash > /dev/null && logg success 'OpenSSL certificate rehash successful'
elif [ -d "/opt/homebrew/etc/openssl@3/certs" ]; then elif [ -d "/opt/homebrew/etc/openssl@3/certs" ]; then
# Location on arm64 macOS # Location on arm64 macOS
logg info 'Adding Cloudflare certificate to `/opt/homebrew/etc/openssl@3/certs/Cloudflare_CA.pem`' logg info 'Adding Cloudflare certificate to `/opt/homebrew/etc/openssl@3/certs/Cloudflare_CA.pem`'
echo | sudo cat - "${XDG_DATA_HOME:-$HOME/.local/share}/warp/Cloudflare_CA.pem" >> /opt/homebrew/etc/openssl@3/certs/Cloudflare_CA.pem echo | sudo cat - "${XDG_DATA_HOME:-$HOME/.local/share}/warp/Cloudflare_CA.pem" >> /opt/homebrew/etc/openssl@3/certs/Cloudflare_CA.pem
logg info 'Running `/opt/homebrew/opt/openssl@3/bin/c_rehash`' logg info 'Running `/opt/homebrew/opt/openssl@3/bin/c_rehash`'
/opt/homebrew/opt/openssl@3/bin/c_rehash > /dev/null && logg success 'rehash successful' /opt/homebrew/opt/openssl@3/bin/c_rehash > /dev/null && logg success 'OpenSSL certificate rehash successful'
else else
logg warn 'Unable to add `Cloudflare_CA.pem` because `/usr/local/etc/openssl@3/certs` and `/opt/homebrew/etc/openssl@3/certs` do not exist!' logg warn 'Unable to add `Cloudflare_CA.pem` because `/usr/local/etc/openssl@3/certs` and `/opt/homebrew/etc/openssl@3/certs` do not exist!'
fi fi
@ -223,7 +223,7 @@ if command -v warp-cli > /dev/null; then
### Connect CloudFlare WARP ### Connect CloudFlare WARP
if warp-cli --accept-tos status | grep 'Disconnected' > /dev/null; then if warp-cli --accept-tos status | grep 'Disconnected' > /dev/null; then
logg info 'Connecting to CloudFlare WARP' logg info 'Connecting to CloudFlare WARP'
warp-cli --accept-tos connect warp-cli --accept-tos connect > /dev/null && logg success 'Connected to CloudFlare WARP'
else else
logg info 'Either there is a misconfiguration or the device is already connected with CloudFlare WARP' logg info 'Either there is a misconfiguration or the device is already connected with CloudFlare WARP'
fi fi
@ -245,7 +245,7 @@ if command -v cloudflared > /dev/null && [ -d "$HOME/.local/etc/cloudflared" ];
# Copy over configuration files # Copy over configuration files
logg info 'Copying over configuration files from ~/.local/etc/cloudflared to /usr/local/etc/cloudflared' logg info 'Copying over configuration files from ~/.local/etc/cloudflared to /usr/local/etc/cloudflared'
sudo cp -f "$HOME/.local/etc/cloudflared/cert.pem" /usr/local/etc/cloudflared/cert.pem sudo cp -f "$HOME/.local/etc/cloudflared/cert.pem" /usr/local/etc/cloudflared/cert.pem
sudo cp -f "$HOME/.local/etc/cloudflared/config.yml /usr/local/etc/cloudflared/config.yml sudo cp -f "$HOME/.local/etc/cloudflared/config.yml" /usr/local/etc/cloudflared/config.yml
# Register tunnel (if not already registered) # Register tunnel (if not already registered)
if cloudflared tunnel list | grep "host-{{ .host.hostname }}"; then if cloudflared tunnel list | grep "host-{{ .host.hostname }}"; then

View file

@ -1,7 +1,7 @@
cache={{ .chezmoi.homeDir }}/.cache/npm cache={{ .chezmoi.homeDir }}/.cache/npm
init-author-email={{ .user.email }} init-author-email={{ .user.email }}
init-author-name="{{ .user.name }} <{{ .user.email }}> ({{ .user.domain }})" init-author-name="{{ .user.name }} <{{ .user.email }}> ({{ .user.domain }})"
init-author-url="{{ .user.domain }}" init-author-url="https://{{ .user.domain }}"
init-license=MIT init-license=MIT
init-module={{ .chezmoi.homeDir }}/.config/npm/config/npm-init.js init-module={{ .chezmoi.homeDir }}/.config/npm/config/npm-init.js
init-version=0.0.1 init-version=0.0.1

View file

@ -1,3 +1,3 @@
if executable('volta') then if executable('volta')
let g:node_host_prog = trim(system("volta which neovim-node-host")) let g:node_host_prog = trim(system("volta which neovim-node-host"))
endif endif

View file

@ -1716,7 +1716,9 @@ async function pruneInstallOrders(installOrders) {
for (const pkg of newOrders[pkgManager]) { for (const pkg of newOrders[pkgManager]) {
try { try {
await $`cat ${pkgTmp} | grep '^${pkg}$'` await $`cat ${pkgTmp} | grep '^${pkg}$'`
log('info', 'Filter', 'Filtering list')
newVal = newVal.filter((x) => x === pkg) newVal = newVal.filter((x) => x === pkg)
console.log('New list', newVal)
} catch (e) { } catch (e) {
// Do nothing // Do nothing
} }

View file

@ -0,0 +1,78 @@
---Make changes to default lua table of nvchad
local M = {}
-- Path to overriding theme and highlights files
local highlights = require "custom.configs.highlights"
M.ui = {
theme = "rxyhn",
transparency = true,
statusline = {
theme = "minimal", -- default/vscode/vscode_colored/minimal
separator_style = "round", -- default/round/block/arrow
overriden_modules = nil,
},
-- lazyload it when there are 1+ buffers
tabufline = {
show_numbers = false,
enabled = true,
lazyload = true,
overriden_modules = nil,
},
cmp = {
icons = true,
lspkind_text = true,
style = "default", -- default/flat_light/flat_dark/atom/atom_colored
border_color = "default", -- only applicable for "default" style, use color names from base30 variables
selected_item_bg = "colored", -- colored / simple
},
hl_override = highlights.override,
hl_add = highlights.add,
telescope = {
style = "bordered",
}, -- borderless / bordered
nvdash = {
load_on_startup = true,
header = {
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠃⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠓⠒⠤⢤⣤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⣀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣷⣶⣶⣦⣭⣓⢟⢻⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⡟⠽⣿⡍⡇⠀⠉⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠉⠙⠛⠡⠀⠘⢟⠀⠀⠀⠀⠈⠉⠙⠘⠻⣿⠇⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⣲⣖⣒⢄⠻⣿",
"⣿⣿⣿⣿⣿⣿⣿⡏⢃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣷⣼",
"⣿⣿⣿⣿⣿⣿⡏⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠙⠻⡟⠙⢿⣿⣿",
"⣿⣿⣿⣿⣿⣿⡇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠇⠀⠀⠈⠲⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⡇⡇⠀⠀⠀⠀⠀⠒⢤⣀⡀⠀⠀⠀⠀⠈⠀⠀⠀⠀⣸⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⡇⡇⠀⠀⠀⠀⠀⠀⠀⠈⠂⠌⡑⠄⠀⠀⠀⠀⢀⢊⣾⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⡇⡿⢆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣾⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣇⡇⠈⢻⣦⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣏⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿git@github.com:linuxmobile⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
}
},
lsp = {
-- show function signatures i.e args as you type
signature = {
disabled = false,
silent = true, -- silences 'no signature help available' message from appearing
},
},
}
M.plugins = "custom.plugins"
M.mappings = require "custom.mappings"
M.settings = "custom.extras"
return M

View file

@ -0,0 +1,21 @@
-- This file contains changable values for custom functions
local M = {}
M.settings = {
cc_size = "80", -- Color column neither pass list or string
so_size = 10, -- Scrolloff amount
blacklist = {
"NvimTree",
"nvdash",
"nvcheatsheet",
"terminal",
"Trouble",
"help",
}, -- Where to disable scrolloff and colorcolumn
discord_rpc = 2, -- Value on how many nvim processes load presence.lua (1 - neovide, 2 - neovim)
}
return M

View file

@ -0,0 +1,43 @@
require('copilot').setup({
panel = {
enabled = true,
auto_refresh = false,
keymap = {
jump_prev = "[[",
jump_next = "]]",
accept = "<CR>",
refresh = "gr",
open = "<M-CR>"
},
layout = {
position = "bottom", -- | top | left | right
ratio = 0.4
},
},
suggestion = {
enabled = true,
auto_trigger = true,
debounce = 75,
keymap = {
accept = "<M-l>",
accept_word = false,
accept_line = false,
next = "<M-]>",
prev = "<M-[>",
dismiss = "<C-]>",
},
},
filetypes = {
yaml = false,
markdown = false,
help = false,
gitcommit = false,
gitrebase = false,
hgcommit = false,
svn = false,
cvs = false,
["."] = false,
},
copilot_node_command = 'node', -- Node.js version must be > 16.x
server_opts_overrides = {},
})

View file

@ -0,0 +1,35 @@
-- To find any highlight groups: "<cmd> Telescope highlights"
-- Each highlight group can take a table with variables fg, bg, bold, italic, etc
-- base30 variable names can also be used as colors
local M = {}
---@type Base46HLGroupsList
M.override = {
Visual = {
bg = "one_bg",
},
Comment = {
italic = true,
},
NvDashAscii = {
bg = "none",
fg = "blue",
},
NvDashButtons = {
fg = "grey_fg",
bg = "none",
},
ColorColumn = {
bg = "NONE",
},
NvimTreeRootFolder = {
fg = "darker_black",
bg = "darker_black",
},
TBTabTitle = {
bg = "darker_black",
},
}
return M

View file

@ -0,0 +1,13 @@
local on_attach = require("plugins.configs.lspconfig").on_attach
local capabilities = require("plugins.configs.lspconfig").capabilities
local lspconfig = require "lspconfig"
local servers = { "html", "cssls", "tsserver", "astro", "tailwindcss" }
for _, lsp in ipairs(servers) do
lspconfig[lsp].setup {
on_attach = on_attach,
capabilities = capabilities,
}
end

View file

@ -0,0 +1,18 @@
local null_ls = require "null-ls"
local format = null_ls.builtins.formatting
local lint = null_ls.builtins.diagnostics
local sources = {
-- webdev stuff
format.deno_fmt, -- choosed deno for ts/js files cuz its very fast!
format.prettier.with { filetypes = { "html", "markdown", "css", "astro" } }, -- so prettier works only on these filetypes
-- Lua
format.stylua,
}
null_ls.setup {
debug = true,
sources = sources,
}

View file

@ -0,0 +1,67 @@
local M = {}
M.treesitter = {
ensure_installed = {
"vim",
"lua",
"html",
"css",
"javascript",
"astro",
"tsx",
"typescript",
"markdown",
"markdown_inline",
},
}
M.mason = {
ensure_installed = {
-- lua stuff
"lua-language-server",
"stylua",
-- web dev stuff
"css-lsp",
"html-lsp",
"astro-language-server",
"tailwindcss-language-server",
"typescript-language-server",
"deno",
"prettier",
"json-lsp",
"marksman",
},
}
-- git support in nvimtree
M.nvimtree = {
filters = {
dotfiles = true,
custom = { "node_modules" },
},
git = {
enable = true,
},
renderer = {
highlight_git = true,
icons = {
show = {
git = true,
},
},
},
}
M.cmp = {
sources = {
name = "nvim_lsp",
priority = 10,
keyword_length = 6,
group_index = 1,
max_item_count = 15,
},
}
return M

View file

@ -0,0 +1,253 @@
local present, presence = pcall(require, "presence")
if not present then
return
end
presence.setup {
auto_update = true,
neovim_image_text = "NvChad",
main_image = "file",
client_id = "793271441293967371",
log_level = nil,
debounce_timeout = 10,
enable_line_number = false,
blacklist = {},
buttons = true,
show_time = true,
editing_text = "Editing %s",
file_explorer_text = "Browsing %s",
git_commit_text = "Committing changes",
plugin_manager_text = "Managing plugins",
reading_text = "Reading %s",
line_number_text = "Line %s out of %s",
file_assets = {
c = { "C ", "https://raw.githubusercontent.com/leonardssh/vscord/main/assets/icons/c.png" },
cpp = {
"C++",
"https://raw.githubusercontent.com/leonardssh/vscord/main/assets/icons/cpp.png",
},
rust = {
"Rust",
"https://raw.githubusercontent.com/leonardssh/vscord/main/assets/icons/rust.png",
},
html = {
"HTML",
"https://raw.githubusercontent.com/leonardssh/vscord/main/assets/icons/html.png",
},
css = {
"CSS",
"https://raw.githubusercontent.com/leonardssh/vscord/main/assets/icons/css.png",
},
scss = {
"Sass",
"https://raw.githubusercontent.com/leonardssh/vscord/main/assets/icons/scss.png",
},
js = {
"JavaScript",
"https://raw.githubusercontent.com/leonardssh/vscord/main/assets/icons/js.png",
},
ts = {
"TypeScript",
"https://raw.githubusercontent.com/leonardssh/vscord/main/assets/icons/ts.png",
},
jsx = {
"React",
"https://raw.githubusercontent.com/leonardssh/vscord/main/assets/icons/jsx.png",
},
tsx = {
"React",
"https://raw.githubusercontent.com/leonardssh/vscord/main/assets/icons/tsx.png",
},
npm = {
"NPM",
"https://raw.githubusercontent.com/leonardssh/vscord/main/assets/icons/npm.png",
},
debugging = {
"Debugging",
"https://github.com/leonardssh/vscord/blob/main/assets/icons/debugging.png?raw=true",
},
docker = {
"Docker",
"https://raw.githubusercontent.com/leonardssh/vscord/main/assets/icons/docker.png",
},
cl = { "Common Lisp", "lisp" },
clj = {
"Clojure",
"https://raw.githubusercontent.com/leonardssh/vscord/main/assets/icons/clojure.png",
},
cljs = { "ClojureScript", "clojurescript" },
ex = {
"Elixir",
"https://github.com/leonardssh/vscord/blob/main/assets/icons/elixir.png",
},
exs = {
"Elixir",
"https://raw.githubusercontent.com/leonardssh/vscord/main/assets/icons/elixir.png",
},
go = {
"Go",
"https://raw.githubusercontent.com/leonardssh/vscord/main/assets/icons/go.png",
},
lua = {
"Lua",
"https://raw.githubusercontent.com/leonardssh/vscord/main/assets/icons/lua.png",
},
py = {
"Python",
"https://raw.githubusercontent.com/leonardssh/vscord/main/assets/icons/python.png",
},
yaml = { "YAML", "https://avatars.githubusercontent.com/u/70907734?v=4" },
nix = {
"Nix",
"https://raw.githubusercontent.com/leonardssh/vscord/main/assets/icons/nix.png",
},
norg = {
"Neorg",
"neorg",
},
md = {
"Markdown",
"https://raw.githubusercontent.com/leonardssh/vscord/main/assets/icons/markdown.png",
},
["zshrc"] = {
"zsh",
"https://avatars.githubusercontent.com/u/70907734?v=4",
},
json = { "JSON", "https://avatars.githubusercontent.com/u/70907734?v=4" },
conf = {
"configuration file",
"https://avatars.githubusercontent.com/u/70907734?v=4",
},
config = {
"Configuration file",
"https://avatars.githubusercontent.com/u/70907734?v=4",
},
sql = {
"SQL",
"https://raw.githubusercontent.com/leonardssh/vscord/main/assets/icons/sql.png",
},
shell = {
"Shell",
"https://avatars.githubusercontent.com/u/70907734?v=4",
},
[".aliases"] = { ".aliases", "shell" },
[".appveyor.yml"] = { "AppVeyor config", "appveyor" },
[".babelrc"] = { "Babel config", "babel" },
[".babelrc.cjs"] = { "Babel config", "babel" },
[".babelrc.js"] = { "Babel config", "babel" },
[".babelrc.json"] = { "Babel config", "babel" },
[".babelrc.mjs"] = { "Babel config", "babel" },
[".bash_login"] = { ".bash_login", "shell" },
[".bash_logout"] = { ".bash_logout", "shell" },
[".bash_profile"] = { ".bash_profile", "shell" },
[".bash_prompt"] = { ".bash_prompt", "shell" },
[".bashrc"] = { ".bashrc", "shell" },
[".cshrc"] = { ".cshrc", "shell" },
[".dockercfg"] = { "Docker", "docker" },
[".dockerfile"] = { "Docker", "docker" },
[".dockerignore"] = { "Docker", "docker" },
[".editorconfig"] = { "EditorConfig", "editorconfig" },
[".eslintignore"] = { "ESLint", "eslint" },
[".eslintrc"] = { "ESLint", "eslint" },
[".eslintrc.cjs"] = { "ESLint", "eslint" },
[".eslintrc.js"] = { "ESLint", "eslint" },
[".eslintrc.json"] = { "ESLint", "eslint" },
[".eslintrc.yaml"] = { "ESLint", "eslint" },
[".eslintrc.yml"] = { "ESLint", "eslint" },
[".gitattributes"] = { "git", "git" },
[".gitconfig"] = { "git", "git" },
[".gitignore"] = { "git", "git" },
[".gitlab-ci.yaml"] = { "GitLab CI", "gitlab" },
[".gitlab-ci.yml"] = { "GitLab CI", "gitlab" },
[".gitmodules"] = { "git", "git" },
[".login"] = { ".login", "shell" },
[".logout"] = { ".login", "shell" },
[".luacheckrc"] = { ".luacheckrc", "lua" },
[".npmignore"] = { "npm config", "npm" },
[".npmrc"] = { "npm config", "npm" },
[".nvmrc"] = { ".nvmrc", "nodejs" },
[".prettierrc"] = { "Prettier", "prettier" },
[".prettierrc.cjs"] = { "Prettier", "prettier" },
[".prettierrc.js"] = { "Prettier", "prettier" },
[".prettierrc.json"] = { "Prettier", "prettier" },
[".prettierrc.json5"] = { "Prettier", "prettier" },
[".prettierrc.toml"] = { "Prettier", "prettier" },
[".prettierrc.yaml"] = { "Prettier", "prettier" },
[".prettierrc.yml"] = { "Prettier", "prettier" },
[".profile"] = { ".profile", "shell" },
[".tcshrc"] = { ".tcshrc", "shell" },
[".terraformrc"] = { "Terraform config", "terraform" },
[".tmux.conf"] = { "tmux", "tmux" },
[".travis.yml"] = { "Travis CI", "travis" },
[".vimrc"] = { ".vimrc", "vim" },
[".watchmanconfig"] = { "Watchman config", "watchman" },
[".yarnrc"] = { "Yarn config", "yarn" },
[".zlogin"] = { ".zlogin", "shell" },
[".zprofile"] = { ".zprofile", "shell" },
[".zshenv"] = { ".zshenv", "shell" },
[".zshrc"] = { ".zshrc", "shell" },
["Brewfile"] = { "Brewfile", "homebrew" },
["Brewfile.lock.json"] = { "Brewfile.lock.json", "homebrew" },
["CHANGELOG"] = { "CHANGELOG", "text" },
["CODE_OF_CONDUCT"] = { "Code of Conduct", "text" },
["COMMIT_EDITMSG"] = { "git", "git" },
["CONTRIBUTING"] = { "CONTRIBUTING", "text" },
["Cargo.lock"] = { "Cargo lockfile", "cargo" },
["Cargo.toml"] = { "Cargo.toml", "cargo" },
["Dockerfile"] = { "Docker", "docker" },
["Gemfile"] = { "Gemfile", "ruby" },
["Gemfile.lock"] = { "Gemfile lockfile", "ruby" },
["LICENSE"] = { "LICENSE", "text" },
["Makefile"] = { "Makefile", "code" },
["Rakefile"] = { "Rakefile", "ruby" },
["abookrc"] = { "abook", "abook" },
["alacritty.yaml"] = { "Alacritty config", "alacritty" },
["alacritty.yml"] = { "Alacritty config", "alacritty" },
["appveyor.yml"] = { "AppVeyor config", "appveyor" },
["babel.config.cjs"] = { "Babel config", "babel" },
["babel.config.js"] = { "Babel config", "babel" },
["babel.config.json"] = { "Babel config", "babel" },
["babel.config.mjs"] = { "Babel config", "babel" },
["brew.sh"] = { "brew.sh", "homebrew" },
["docker-compose.yaml"] = { "Docker", "docker" },
["docker-compose.yml"] = { "Docker", "docker" },
["gitconfig"] = { "git", "git" },
["gitlab.rb"] = { "GitLab config", "gitlab" },
["gitlab.yml"] = { "GitLab config", "gitlab" },
["go.mod"] = { "go.mod", "go" },
["go.sum"] = { "go.sum", "go" },
["jest.config.js"] = { "Jest config", "jest" },
["jest.setup.js"] = { "Jest config", "jest" },
["jest.setup.ts"] = { "Jest config", "jest" },
["kitty.conf"] = { "Kitty config", "kitty" },
["next-env.d.ts"] = { "Next.js config", "nextjs" },
["next.config.js"] = { "Next.js config", "nextjs" },
["nginx"] = { "NGINX", "nginx" },
["nginx.conf"] = { "NGINX", "nginx" },
["nuxt.config.js"] = { "Nuxt config", "nuxtjs" },
["prettier.config.cjs"] = { "Prettier", "prettier" },
["prettier.config.js"] = { "Prettier", "prettier" },
["profile"] = { "profile", "shell" },
["renovate.json"] = { "Renovate config", "renovate" },
["requirements.txt"] = { "requirements.txt", "python" },
["tailwind.config.js"] = { "Tailwind", "tailwind" },
["terraform.rc"] = { "Terraform config", "terraform" },
["v.mod"] = { "v.mod", "vlang" },
["watchman.json"] = { "Watchman config", "watchman" },
["webpack.config.js"] = { "Webpack", "webpack" },
["webpack.config.ts"] = { "Webpack", "webpack" },
["yarn.lock"] = { "Yarn lockfile", "yarn" },
["zlogin"] = { "zlogin", "shell" },
["zlogout"] = { "zlogout", "shell" },
["zprofile"] = { "zprofile", "shell" },
["zshenv"] = { "zshenv", "shell" },
["zshrc"] = { "zshrc", "shell" },
},
workspace_text = function()
return "afk lul"
end,
-- main_image = "https://static-00.iconduck.com/assets.00/apps-neovim-icon-512x512-w4ecv3uh.png",
-- main_image = "https://camo.githubusercontent.com/7ef2897c4de6940f119595f50119a887b538d42d4a0b65a15bd0148e2b6bec5b/68747470733a2f2f692e696d6775722e636f6d2f654e62643975442e706e67",
}

View file

@ -0,0 +1,21 @@
---@diagnostic disable: need-check-nil
local create_cmd = vim.api.nvim_create_user_command
local create_autocmd = vim.api.nvim_create_autocmd
local settings = require("custom.config").settings
create_autocmd({ "UIEnter" }, {
once = true,
callback = function()
local function getcmd_output()
local handle = io.popen "pgrep nvim | wc -l"
local output = handle:read "*a"
handle:close()
return output
end
if tonumber(getcmd_output()) == settings.discord_rpc then
require("lazy").load { plugins = { "presence.nvim" } }
end
end,
})

View file

@ -0,0 +1,22 @@
-- To find any highlight groups: "<cmd> Telescope highlights"
-- Each highlight group can take a table with variables fg, bg, bold, italic, etc
-- base30 variable names can also be used as colors
local M = {}
---@type Base46HLGroupsList
M.override = {
CursorLine = {
bg = "black2",
},
Comment = {
italic = true,
},
}
---@type HLTable
M.add = {
NvimTreeOpenedFolderName = { fg = "green", bold = true },
}
return M

View file

@ -0,0 +1,12 @@
require "custom.extras"
local opt = vim.opt
local g = vim.g
-- Vim options
-- opt.timeoutlen = 10 -- Which-key timeout in ms
opt.backup = false
opt.swapfile = false
opt.encoding = "utf-8"
opt.fileencoding = "utf-8"
opt.shiftwidth = 2

View file

@ -0,0 +1,28 @@
---@type MappingsTable
local M = {}
M.general = {
n = {
[";"] = { ":", "enter command mode", opts = { nowait = true } },
},
}
M.nvimtree = {
n = {
-- toggle
["<leader>n"] = { "<cmd> NvimTreeToggle <CR>", "toggle nvimtree" },
-- focus
["<leader>e"] = { "<cmd> NvimTreeFocus <CR>", "focus nvimtree" },
},
}
M.twilight = {
n = {
["<leader>tw"] = { "<cmd>Twilight<cr>", "toggle twilight" },
},
}
-- more keybinds!
return M

View file

@ -0,0 +1,109 @@
---@diagnostic disable: different-requires
local overrides = require "custom.configs.overrides"
---@type NvPluginSpec[]
local plugins = {
-- Override plugin definition options
{
"neovim/nvim-lspconfig",
event = "VeryLazy",
dependencies = {
-- format & linting
{
"jose-elias-alvarez/null-ls.nvim",
config = function()
require "custom.configs.null-ls"
end,
},
},
config = function()
require "plugins.configs.lspconfig"
require "custom.configs.lspconfig"
end,
},
{
"lewis6991/gitsigns.nvim",
{
"glepnir/lspsaga.nvim",
opts = {
lightbulb = { enable = false },
symbol_in_winbar = { enable = false },
},
config = true,
},
},
{
"kylechui/nvim-surround",
event = "VeryLazy",
ft = { "markdown", "lua", "javascript", "typescript", "typescriptreact", "javascriptreact", "html", "css", "astro" },
config = function()
require("nvim-surround").setup {}
end,
},
{
"nvim-treesitter/nvim-treesitter",
opts = overrides.treesitter,
},
{
"williamboman/mason.nvim",
opts = overrides.mason,
},
{
"nvim-tree/nvim-tree.lua",
opts = overrides.nvimtree,
},
-- Install a plugin
{
"max397574/better-escape.nvim",
event = "InsertEnter",
config = function()
require("better_escape").setup()
end,
},
{
"folke/twilight.nvim",
event = "VeryLazy",
ft = { "markdown", "lua", "javascript", "typescript", "typescriptreact", "javascriptreact", "html", "css", "astro" },
treesitter = true,
dimming = {
alpha = 0.25,
},
},
{
"zbirenbaum/copilot.lua",
cmd = "Copilot",
event = "InsertEnter",
config = function()
require "custom.configs.copilot"
end,
},
{
"iamcco/markdown-preview.nvim",
event = "VeryLazy",
run = "cd app && pnpm install",
setup = function()
vim.g.mkdp_filetypes = { "markdown" }
end,
ft = { "markdown" },
},
{
"andweeb/presence.nvim",
event = "VeryLazy",
config = function()
require "custom.configs.presence"
end,
},
}
return plugins

View file

@ -0,0 +1,73 @@
-- Credits to original theme for existing https://github.com/shaunsingh/oxocarbon.nvim
-- this is a modified version of it
local M = {}
M.base_30 = {
white = "#d9e0ee", -- original
darker_black = "#252632",
black = "#292A37",
black2 = "#252632",
one_bg = "#292a37",
one_bg2 = "#2e303e",
one_bg3 = "#303241",
grey = "#393a4d",
grey_fg = "#44465c",
grey_fg2 = "#9699b7",
light_grey = "#44465c",
red = "#ec6a88",
baby_pink = "#ff7eb6",
pink = "#be95ff",
line = "#383747",
green = "#3FC6DE",
vibrant_green = "#08bdba",
nord_blue = "#78a9ff",
blue = "#78a9ff",
yellow = "#efb993",
sun = "#efb993",
purple = "#936FDC",
dark_purple = "#936FDC",
teal = "#B5E8E0",
orange = "#efb993",
cyan = "#6be6e6",
statusline_bg = "#292A37",
lightbg = "#292A37",
pmenu_bg = "#6be6e6",
folder_bg = "#78a9ff",
lavender = "#c7d1ff",
}
M.base_16 = {
base00 = "#292A37",
base01 = "#252632",
base02 = "#393a4d",
base03 = "#44465c",
base04 = "#dde1e6",
base05 = "#6be6e6",
base06 = "#ffffff",
base07 = "#08bdba",
base08 = "#ec6a88",
base09 = "#efb993",
base0A = "#ec6a88",
base0B = "#3FDAA4",
base0C = "#ff7eb6",
base0D = "#3FC6DE",
base0E = "#936FDC",
base0F = "#d9e0ee",
}
M.polish_hl = {
Conditional = {
fg = M.base_30.nord_blue,
},
Tag = {
fg = M.base_30.red,
},
}
M.type = "dark"
M = require("base46").override_theme(M, "jabuti")
return M

View file

@ -393,7 +393,7 @@ fi
FPATH="$HOMEBREW_PREFIX/share/zsh/site-functions:${FPATH}" FPATH="$HOMEBREW_PREFIX/share/zsh/site-functions:${FPATH}"
### ZSH compinit ### ZSH compinit
autoload -Uz +X compinit && compinit -d "$XDG_CACHE_HOME/zsh/zcompdump-$ZSH_VERSION" autoload -Uz +X compinit && compinit -d "${XDG_CACHE_HOME:-$HOME/.cache}/zsh/zcompdump-$ZSH_VERSION"
### Bash Completions ### Bash Completions
autoload -U +X bashcompinit && bashcompinit autoload -U +X bashcompinit && bashcompinit

View file

@ -5918,6 +5918,11 @@ softwarePackages:
_home: https://nectar.js.org/ _home: https://nectar.js.org/
_name: nerctarjs _name: nerctarjs
npm: nectarjs npm: nectarjs
neovim-node-host:
_bin: neovim-node-host
_github: https://github.com/neovim/node-client
_name: Neovim Node Host
npm: neovim
neovim: neovim:
_bin: nvim _bin: nvim
_desc: '[neovim](https://neovim.io/) is Vim-fork focused on extensibility and usability' _desc: '[neovim](https://neovim.io/) is Vim-fork focused on extensibility and usability'
@ -5928,6 +5933,7 @@ softwarePackages:
_deps: _deps:
- clangd - clangd
- terraform-ls - terraform-ls
- neovim-node-host
apk: neovim apk: neovim
apt: apt:
- neovim - neovim
@ -10191,7 +10197,7 @@ softwarePlugins:
plugins: plugins:
- https://github.com/BalliAsghar/mailsy-alfred/releases/download/2.0.0/Mailsy.alfredworkflow - https://github.com/BalliAsghar/mailsy-alfred/releases/download/2.0.0/Mailsy.alfredworkflow
android-studio: android-studio:
cmd: bash -c 'if ! sdkmanager --list_installed | grep " {PLUGIN}" > /dev/null; then sdkmanager --install "{PLUGIN}" > /dev/null; fi' cmd: bash -c 'if ! sdkmanager --list_installed | grep "{PLUGIN}"; then sdkmanager --install "{PLUGIN}"; fi'
plugins: plugins:
- add-ons;addon-google_apis-google-24 - add-ons;addon-google_apis-google-24
- build-tools;33.0.0 - build-tools;33.0.0
@ -10229,7 +10235,7 @@ softwarePlugins:
plugins: plugins:
- deployer/deployer - deployer/deployer
docker: docker:
cmd: bash -c 'if ! docker extension list | grep "{PLUGIN}" > /dev/null; then echo y | docker extension install "{PLUGIN}"; fi' cmd: bash -c 'if ! docker extension list | grep "$(echo "{PLUGIN}" | sed 's/\:.*//')" > /dev/null; then echo y | docker extension install "{PLUGIN}"; fi'
plugins: plugins:
- ambassador/telepresence-docker-extension:1.0.13 - ambassador/telepresence-docker-extension:1.0.13
- docker/disk-usage-extension:0.2.7 - docker/disk-usage-extension:0.2.7
@ -10253,7 +10259,7 @@ softwarePlugins:
- dotnet-format - dotnet-format
- git-credential-manager - git-credential-manager
gcloud: gcloud:
cmd: bash -c 'if ! gcloud components list | grep "Installed.*{PLUGIN}" &> /dev/null; then gcloud components install "{PLUGIN}"; fi' cmd: bash -c 'if ! gcloud components list | grep "Installed.*{PLUGIN}" > /dev/null; then gcloud components install "{PLUGIN}"; fi'
plugins: plugins:
- app-engine-go - app-engine-go
- cloud-datastore-emulator - cloud-datastore-emulator
@ -10377,7 +10383,7 @@ softwarePlugins:
- name: Pieces - name: Pieces
plugin: https://teams.microsoft.com/l/app/789f23b3-d882-45ca-b3a3-de7f850656ea plugin: https://teams.microsoft.com/l/app/789f23b3-d882-45ca-b3a3-de7f850656ea
vagrant: vagrant:
cmd: bash -c 'if ! vagrant plugin list | grep "{PLUGIN}"; then vagrant plugin install "{PLUGIN}"; fi' cmd: bash -c 'if ! vagrant plugin list | grep "{PLUGIN}" > /dev/null; then vagrant plugin install "{PLUGIN}"; fi'
plugins: plugins:
- vagrant-bindfs - vagrant-bindfs
- vagrant-digitalocean - vagrant-digitalocean