mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-01-31 13:46:57 +00:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
64f1d7354e | ||
|
|
0d93f2dbb2 | ||
|
|
9dc1ed8b38 | ||
|
|
75b99dd117 | ||
|
|
305355beaf | ||
| 33a7de2dfc | |||
| f5f4f47655 | |||
|
|
4d8d70d390 | ||
|
|
cacc98a7d3 |
12
.gitmodules
vendored
Normal file
12
.gitmodules
vendored
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
[submodule "config/nvim"]
|
||||||
|
path = config/nvim
|
||||||
|
url = git@github.com:AstroNvim/AstroNvim.git
|
||||||
|
ignore = dirty
|
||||||
|
branch = v3
|
||||||
|
update = checkout
|
||||||
|
[submodule "config/astronvim/lua/user"]
|
||||||
|
path = config/astronvim/lua/user
|
||||||
|
url = git@github.com:ivuorinen/astronvim_config.git
|
||||||
|
update = rebase
|
||||||
|
branch = main
|
||||||
|
|
||||||
13
Brewfile
13
Brewfile
@@ -32,6 +32,8 @@ brew "brew-php-switcher"
|
|||||||
brew "glib"
|
brew "glib"
|
||||||
# Manage compile and link flags for libraries
|
# Manage compile and link flags for libraries
|
||||||
brew "pkg-config"
|
brew "pkg-config"
|
||||||
|
# Cross-platform make
|
||||||
|
brew "cmake"
|
||||||
# Open source suite of directory software
|
# Open source suite of directory software
|
||||||
brew "openldap"
|
brew "openldap"
|
||||||
# Get a file from an HTTP, HTTPS or FTP server
|
# Get a file from an HTTP, HTTPS or FTP server
|
||||||
@@ -56,6 +58,8 @@ brew "difftastic"
|
|||||||
brew "dive"
|
brew "dive"
|
||||||
# Command-line DNS client
|
# Command-line DNS client
|
||||||
brew "dog"
|
brew "dog"
|
||||||
|
# Tool to verify that your files are in harmony with your .editorconfig
|
||||||
|
brew "editorconfig-checker"
|
||||||
# Useful examples at the command-line
|
# Useful examples at the command-line
|
||||||
brew "eg-examples"
|
brew "eg-examples"
|
||||||
# CLI for templating and/or deploying FaaS functions
|
# CLI for templating and/or deploying FaaS functions
|
||||||
@@ -112,6 +116,8 @@ brew "jq"
|
|||||||
brew "lazydocker"
|
brew "lazydocker"
|
||||||
# Linguistic software and Finnish dictionary
|
# Linguistic software and Finnish dictionary
|
||||||
brew "libvoikko"
|
brew "libvoikko"
|
||||||
|
# Package manager for the Lua programming language
|
||||||
|
brew "luarocks"
|
||||||
# Swiss Army Knife for macOS
|
# Swiss Army Knife for macOS
|
||||||
brew "m-cli"
|
brew "m-cli"
|
||||||
# Mac App Store command-line interface
|
# Mac App Store command-line interface
|
||||||
@@ -172,6 +178,8 @@ brew "tmux"
|
|||||||
brew "tree"
|
brew "tree"
|
||||||
# Modern watch command
|
# Modern watch command
|
||||||
brew "viddy"
|
brew "viddy"
|
||||||
|
# Command-line interface to the WakaTime api
|
||||||
|
brew "wakatime-cli"
|
||||||
# Executes a program periodically, showing output fullscreen
|
# Executes a program periodically, showing output fullscreen
|
||||||
brew "watch"
|
brew "watch"
|
||||||
# Internet file retriever
|
# Internet file retriever
|
||||||
@@ -280,10 +288,5 @@ cask "warp"
|
|||||||
cask "xbar"
|
cask "xbar"
|
||||||
mas "1Password for Safari", id: 1569813296
|
mas "1Password for Safari", id: 1569813296
|
||||||
mas "Flow", id: 1423210932
|
mas "Flow", id: 1423210932
|
||||||
mas "GarageBand", id: 682658836
|
|
||||||
mas "iMovie", id: 408981434
|
|
||||||
mas "Keynote", id: 409183694
|
|
||||||
mas "Numbers", id: 409203825
|
|
||||||
mas "Pages", id: 409201541
|
|
||||||
mas "pullBar", id: 1601913905
|
mas "pullBar", id: 1601913905
|
||||||
mas "Tailscale", id: 1475387142
|
mas "Tailscale", id: 1475387142
|
||||||
|
|||||||
1
config/astronvim/lua/user
Submodule
1
config/astronvim/lua/user
Submodule
Submodule config/astronvim/lua/user added at b7dea1ae66
1
config/nvim
Submodule
1
config/nvim
Submodule
Submodule config/nvim added at 4f4269d174
@@ -1,705 +0,0 @@
|
|||||||
-- Install packer
|
|
||||||
local install_path = vim.fn.stdpath 'data' .. '/site/pack/packer/start/packer.nvim'
|
|
||||||
local is_bootstrap = false
|
|
||||||
if vim.fn.empty(vim.fn.glob(install_path)) > 0 then
|
|
||||||
is_bootstrap = true
|
|
||||||
vim.fn.system {
|
|
||||||
'git', 'clone', '--depth', '1',
|
|
||||||
'https://github.com/wbthomason/packer.nvim',
|
|
||||||
install_path
|
|
||||||
}
|
|
||||||
vim.cmd [[packadd packer.nvim]]
|
|
||||||
end
|
|
||||||
|
|
||||||
require('packer').startup(function(use)
|
|
||||||
-- Package manager
|
|
||||||
use 'wbthomason/packer.nvim'
|
|
||||||
|
|
||||||
use { -- LSP Configuration & Plugins
|
|
||||||
'neovim/nvim-lspconfig',
|
|
||||||
requires = {
|
|
||||||
-- Automatically install LSPs to stdpath for neovim
|
|
||||||
'williamboman/mason.nvim',
|
|
||||||
'williamboman/mason-lspconfig.nvim',
|
|
||||||
|
|
||||||
-- Useful status updates for LSP
|
|
||||||
'j-hui/fidget.nvim',
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
use { -- Autocompletion
|
|
||||||
'hrsh7th/nvim-cmp',
|
|
||||||
requires = {
|
|
||||||
'hrsh7th/cmp-nvim-lsp',
|
|
||||||
'L3MON4D3/LuaSnip',
|
|
||||||
'saadparwaiz1/cmp_luasnip',
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
use { -- Highlight, edit, and navigate code
|
|
||||||
'nvim-treesitter/nvim-treesitter',
|
|
||||||
run = function()
|
|
||||||
pcall(require('nvim-treesitter.install').update { with_sync = true })
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
||||||
use { -- Additional text objects via treesitter
|
|
||||||
'nvim-treesitter/nvim-treesitter-textobjects',
|
|
||||||
after = 'nvim-treesitter',
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Theme based off the Material Pale Night
|
|
||||||
use 'drewtempelmeyer/palenight.vim'
|
|
||||||
-- Fancier statusline
|
|
||||||
use 'nvim-lualine/lualine.nvim'
|
|
||||||
-- Add indentation guides even on blank lines.
|
|
||||||
use 'lukas-reineke/indent-blankline.nvim'
|
|
||||||
-- "gc" to comment visual regions/lines
|
|
||||||
use 'numToStr/Comment.nvim'
|
|
||||||
-- Detect tabstop and shiftwidth automatically.
|
|
||||||
use 'tpope/vim-sleuth'
|
|
||||||
|
|
||||||
-- Fuzzy Finder (files, lsp, etc)
|
|
||||||
use { 'nvim-telescope/telescope.nvim',
|
|
||||||
branch = '0.1.x', requires = { 'nvim-lua/plenary.nvim' } }
|
|
||||||
|
|
||||||
-- Fuzzy Finder Algorithm which requires local dependencies to be built.
|
|
||||||
-- Only load if `make` is available
|
|
||||||
use { 'nvim-telescope/telescope-fzf-native.nvim',
|
|
||||||
run = 'make', cond = vim.fn.executable 'make' == 1 }
|
|
||||||
|
|
||||||
-- Add custom plugins to packer from
|
|
||||||
-- ~/.config/nvim/lua/custom/plugins.lua
|
|
||||||
local has_plugins, plugins = pcall(require, 'custom.plugins')
|
|
||||||
if has_plugins then
|
|
||||||
plugins(use)
|
|
||||||
end
|
|
||||||
|
|
||||||
if is_bootstrap then
|
|
||||||
require('packer').sync()
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
|
|
||||||
-- When we are bootstrapping a configuration, it doesn't
|
|
||||||
-- make sense to execute the rest of the init.lua.
|
|
||||||
--
|
|
||||||
-- You'll need to restart nvim, and then it will work.
|
|
||||||
if is_bootstrap then
|
|
||||||
print '=================================='
|
|
||||||
print ' Plugins are being installed'
|
|
||||||
print ' Wait until Packer completes,'
|
|
||||||
print ' then restart nvim'
|
|
||||||
print '=================================='
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Automatically source and re-compile packer
|
|
||||||
-- whenever you save this init.lua, or packages.lua
|
|
||||||
local packer_group = vim.api.nvim_create_augroup('Packer', { clear = true })
|
|
||||||
vim.api.nvim_create_autocmd('BufWritePost', {
|
|
||||||
command = 'source <afile> | PackerCompile',
|
|
||||||
group = packer_group,
|
|
||||||
pattern = { vim.fn.expand '$MYVIMRC' },
|
|
||||||
})
|
|
||||||
-- Automatically run PackerSync for plugins.lua files.
|
|
||||||
vim.api.nvim_create_autocmd('BufWritePost', {
|
|
||||||
command = 'source <afile> | PackerSync | PackerCompile',
|
|
||||||
group = packer_group,
|
|
||||||
pattern = { '~/.dotfiles/config/nvim/**/plugins.lua' },
|
|
||||||
})
|
|
||||||
|
|
||||||
-- [[ Setting options ]]
|
|
||||||
-- See `:help vim.o`
|
|
||||||
|
|
||||||
-- Set highlight on search
|
|
||||||
vim.o.hlsearch = false
|
|
||||||
|
|
||||||
-- Make line numbers default, enabled relative line numbers
|
|
||||||
vim.wo.number = true
|
|
||||||
vim.opt.relativenumber = true
|
|
||||||
|
|
||||||
-- Enable mouse mode
|
|
||||||
vim.o.mouse = 'a'
|
|
||||||
|
|
||||||
-- Enable break indent
|
|
||||||
vim.o.breakindent = true
|
|
||||||
|
|
||||||
-- Save undo history
|
|
||||||
vim.o.undofile = true
|
|
||||||
|
|
||||||
-- Case insensitive searching UNLESS /C or capital in search
|
|
||||||
vim.o.ignorecase = true
|
|
||||||
vim.o.smartcase = true
|
|
||||||
|
|
||||||
-- Decrease update time
|
|
||||||
vim.o.updatetime = 250
|
|
||||||
vim.wo.signcolumn = 'yes'
|
|
||||||
|
|
||||||
-- Set colorscheme
|
|
||||||
vim.o.termguicolors = true
|
|
||||||
vim.cmd.colorscheme('palenight')
|
|
||||||
|
|
||||||
-- Set completeopt to have a better completion experience
|
|
||||||
vim.o.completeopt = 'menuone,noselect'
|
|
||||||
|
|
||||||
-- Configure and disable providers.
|
|
||||||
vim.g.python3_host_prog = '/opt/homebrew/bin/python3'
|
|
||||||
vim.g.loaded_ruby_provider = 0
|
|
||||||
|
|
||||||
-- Setup winbar
|
|
||||||
-- See :h statusline
|
|
||||||
vim.o.winbar = '%=%m %f'
|
|
||||||
|
|
||||||
-- [[ Basic Keymaps ]]
|
|
||||||
-- Set <space> as the leader key
|
|
||||||
-- See `:help mapleader`
|
|
||||||
-- NOTE: Must happen before plugins are required
|
|
||||||
-- (otherwise wrong leader will be used)
|
|
||||||
vim.g.mapleader = ' '
|
|
||||||
vim.g.maplocalleader = ' '
|
|
||||||
|
|
||||||
-- Keymaps for better default experience
|
|
||||||
-- See `:help vim.keymap.set()`
|
|
||||||
vim.keymap.set({ 'n', 'v' }, '<Space>', '<Nop>', { silent = true })
|
|
||||||
|
|
||||||
-- Misc options.
|
|
||||||
vim.o.incsearch = true
|
|
||||||
|
|
||||||
-- Keymap settings, etc.
|
|
||||||
-- ~/.config/nvim/lua/custom/keymaps.lua
|
|
||||||
local map = vim.api.nvim_set_keymap
|
|
||||||
local default_options_table = {
|
|
||||||
expr = true,
|
|
||||||
silent = true,
|
|
||||||
noremap = true,
|
|
||||||
}
|
|
||||||
|
|
||||||
-- normal mode keymap setter
|
|
||||||
---@param keys string Trigger keys
|
|
||||||
---@param func string Function or command to run
|
|
||||||
---@param opts table Optional table of vim.keymap.set options.
|
|
||||||
---@param desc string Optional description
|
|
||||||
local nmap = function(keys, func, opts, desc)
|
|
||||||
if desc then
|
|
||||||
desc = 'keymaps.nmap: ' .. desc
|
|
||||||
end
|
|
||||||
|
|
||||||
local options = default_options_table
|
|
||||||
|
|
||||||
-- If we have options, merge them to the local options table
|
|
||||||
if opts then
|
|
||||||
for k, v in pairs(opts) do
|
|
||||||
options[k] = v
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.keymap.set('n', keys, func, options)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- visual mode keymap setter
|
|
||||||
---@param keys string Trigger keys
|
|
||||||
---@param func string Function or command to run
|
|
||||||
---@param opts table Optional table of vim.keymap.set options.
|
|
||||||
---@param desc string Optional description
|
|
||||||
local vmap = function(keys, func, opts, desc)
|
|
||||||
if desc then
|
|
||||||
desc = 'keymaps.vmap: ' .. desc
|
|
||||||
end
|
|
||||||
|
|
||||||
local options = default_options_table
|
|
||||||
|
|
||||||
-- If we have options, merge them to the local options table
|
|
||||||
if opts then
|
|
||||||
for k, v in pairs(opts) do
|
|
||||||
options[k] = v
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.keymap.set('v', keys, func, options)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Format document
|
|
||||||
nmap("<leader>D", ":Format")
|
|
||||||
|
|
||||||
-- Deal with word wrap
|
|
||||||
nmap('k', "v:count == 0 ? 'gk' : 'k'")
|
|
||||||
nmap('j', "v:count == 0 ? 'gj' : 'j'")
|
|
||||||
|
|
||||||
-- Diagnostic keymaps
|
|
||||||
nmap('dz', vim.diagnostic.goto_prev)
|
|
||||||
nmap('dx', vim.diagnostic.goto_next)
|
|
||||||
nmap('<leader>e', vim.diagnostic.open_float)
|
|
||||||
nmap('<leader>q', vim.diagnostic.setloclist)
|
|
||||||
|
|
||||||
--
|
|
||||||
-- ThePrimeagen/refactoring.nvim
|
|
||||||
-- https://github.com/ThePrimeagen/refactoring.nvim
|
|
||||||
--
|
|
||||||
|
|
||||||
-- Remaps for the refactoring operations currently offered by the plugin
|
|
||||||
local rf = { noremap = true, silent = true, expr = false }
|
|
||||||
vmap("<leader>re", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function')<CR>]], rf)
|
|
||||||
vmap("<leader>rf", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function To File')<CR>]], rf)
|
|
||||||
vmap("<leader>rv", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Variable')<CR>]], rf)
|
|
||||||
vmap("<leader>ri", [[ <Esc><Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]], rf)
|
|
||||||
|
|
||||||
-- Extract block doesn't need visual mode
|
|
||||||
nmap("<leader>rb", [[ <Cmd>lua require('refactoring').refactor('Extract Block')<CR>]], rf)
|
|
||||||
nmap("<leader>rbf", [[ <Cmd>lua require('refactoring').refactor('Extract Block To File')<CR>]], rf)
|
|
||||||
|
|
||||||
-- Inline variable can also pick up the identifier currently under the cursor without visual mode
|
|
||||||
nmap("<leader>ri", [[ <Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]], rf)
|
|
||||||
|
|
||||||
-- prompt for a refactor to apply when the remap is triggered
|
|
||||||
vmap("<leader>rr", ":lua require('refactoring').select_refactor()<CR>", rf)
|
|
||||||
|
|
||||||
--
|
|
||||||
--
|
|
||||||
--
|
|
||||||
|
|
||||||
-- barbar keymaps
|
|
||||||
local barbar_opts = { noremap = true, silent = true }
|
|
||||||
|
|
||||||
-- Move to previous/next
|
|
||||||
map('n', '<C-,>', '<Cmd>BufferPrevious<CR>', barbar_opts)
|
|
||||||
map('n', '<C-.>', '<Cmd>BufferNext<CR>', barbar_opts)
|
|
||||||
-- Re-order to previous/next
|
|
||||||
map('n', '<C-<>', '<Cmd>BufferMovePrevious<CR>', barbar_opts)
|
|
||||||
map('n', '<C->>', '<Cmd>BufferMoveNext<CR>', barbar_opts)
|
|
||||||
-- Goto buffer in position...
|
|
||||||
map('n', '<leader>b1', '<Cmd>BufferGoto 1<CR>', barbar_opts)
|
|
||||||
map('n', '<leader>b2', '<Cmd>BufferGoto 2<CR>', barbar_opts)
|
|
||||||
map('n', '<leader>b3', '<Cmd>BufferGoto 3<CR>', barbar_opts)
|
|
||||||
map('n', '<leader>b4', '<Cmd>BufferGoto 4<CR>', barbar_opts)
|
|
||||||
map('n', '<leader>b5', '<Cmd>BufferGoto 5<CR>', barbar_opts)
|
|
||||||
map('n', '<leader>b6', '<Cmd>BufferGoto 6<CR>', barbar_opts)
|
|
||||||
map('n', '<leader>b7', '<Cmd>BufferGoto 7<CR>', barbar_opts)
|
|
||||||
map('n', '<leader>b8', '<Cmd>BufferGoto 8<CR>', barbar_opts)
|
|
||||||
map('n', '<leader>b9', '<Cmd>BufferGoto 9<CR>', barbar_opts)
|
|
||||||
map('n', '<leader>b0', '<Cmd>BufferLast<CR>', barbar_opts)
|
|
||||||
-- Pin/unpin buffer
|
|
||||||
map('n', '<A-p>', '<Cmd>BufferPin<CR>', barbar_opts)
|
|
||||||
-- Close buffer
|
|
||||||
map('n', '<A-c>', '<Cmd>BufferClose<CR>', barbar_opts)
|
|
||||||
-- Wipeout buffer
|
|
||||||
-- :BufferWipeout
|
|
||||||
-- Close commands
|
|
||||||
-- :BufferCloseAllButCurrent
|
|
||||||
-- :BufferCloseAllButPinned
|
|
||||||
-- :BufferCloseAllButCurrentOrPinned
|
|
||||||
-- :BufferCloseBuffersLeft
|
|
||||||
-- :BufferCloseBuffersRight
|
|
||||||
-- Magic buffer-picking mode
|
|
||||||
map('n', '<C-p>', '<Cmd>BufferPick<CR>', barbar_opts)
|
|
||||||
-- Sort automatically by...
|
|
||||||
map('n', '<Space>bb', '<Cmd>BufferOrderByBufferNumber<CR>', barbar_opts)
|
|
||||||
map('n', '<Space>bd', '<Cmd>BufferOrderByDirectory<CR>', barbar_opts)
|
|
||||||
map('n', '<Space>bl', '<Cmd>BufferOrderByLanguage<CR>', barbar_opts)
|
|
||||||
map('n', '<Space>bw', '<Cmd>BufferOrderByWindowNumber<CR>', barbar_opts)
|
|
||||||
|
|
||||||
-- Other:
|
|
||||||
-- :BarbarEnable - enables barbar (enabled by default)
|
|
||||||
-- :BarbarDisable - very bad command, should never be used
|
|
||||||
|
|
||||||
|
|
||||||
local highlight_group = vim.api.nvim_create_augroup(
|
|
||||||
'YankHighlight', { clear = true }
|
|
||||||
)
|
|
||||||
vim.api.nvim_create_autocmd('TextYankPost', {
|
|
||||||
callback = function()
|
|
||||||
vim.highlight.on_yank()
|
|
||||||
end,
|
|
||||||
group = highlight_group,
|
|
||||||
pattern = '*',
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Set lualine as statusline
|
|
||||||
-- See `:help lualine.txt`
|
|
||||||
require('lualine').setup {
|
|
||||||
options = {
|
|
||||||
icons_enabled = true,
|
|
||||||
theme = 'auto',
|
|
||||||
component_separators = '|',
|
|
||||||
section_separators = '',
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Enable Comment.nvim
|
|
||||||
require('Comment').setup()
|
|
||||||
|
|
||||||
-- Enable `lukas-reineke/indent-blankline.nvim`
|
|
||||||
-- See `:help indent_blankline.txt`
|
|
||||||
require('indent_blankline').setup {
|
|
||||||
-- char = '┊',
|
|
||||||
show_trailing_blankline_indent = true,
|
|
||||||
space_char_blankline = " ",
|
|
||||||
show_current_context = true,
|
|
||||||
show_current_context_start = true,
|
|
||||||
}
|
|
||||||
|
|
||||||
-- [[ Configure Telescope ]]
|
|
||||||
-- See `:help telescope` and `:help telescope.setup()`
|
|
||||||
require('telescope').setup {
|
|
||||||
defaults = {
|
|
||||||
mappings = {
|
|
||||||
i = {
|
|
||||||
['<C-u>'] = false,
|
|
||||||
['<C-d>'] = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Enable telescope fzf native, if installed
|
|
||||||
pcall(require('telescope').load_extension, 'fzf')
|
|
||||||
|
|
||||||
local ks = vim.keymap.set
|
|
||||||
local tl = require('telescope.builtin')
|
|
||||||
|
|
||||||
-- See `:help telescope.builtin`
|
|
||||||
ks('n', '<leader>?', tl.oldfiles, { desc = '[?] Find recently opened files' })
|
|
||||||
ks('n', '<leader><space>', tl.buffers, { desc = '[ ] Find existing buffers' })
|
|
||||||
ks('n', '<leader>/', function()
|
|
||||||
-- You can pass additional configuration to telescope to
|
|
||||||
-- change theme, layout, etc.
|
|
||||||
tl.current_buffer_fuzzy_find(
|
|
||||||
require('telescope.themes').get_dropdown {
|
|
||||||
winblend = 10,
|
|
||||||
previewer = false,
|
|
||||||
})
|
|
||||||
end, { desc = '[/] Fuzzily search in current buffer]' })
|
|
||||||
|
|
||||||
ks('n', '<leader>sf', tl.find_files, { desc = '[S]earch [F]iles' })
|
|
||||||
ks('n', '<leader>sh', tl.help_tags, { desc = '[S]earch [H]elp' })
|
|
||||||
ks('n', '<leader>sw', tl.grep_string, { desc = '[S]earch current [W]ord' })
|
|
||||||
ks('n', '<leader>sg', tl.live_grep, { desc = '[S]earch by [G]rep' })
|
|
||||||
ks('n', '<leader>sd', tl.diagnostics, { desc = '[S]earch [D]iagnostics' })
|
|
||||||
|
|
||||||
-- Add harpoon to telescope
|
|
||||||
require("telescope").load_extension('harpoon')
|
|
||||||
|
|
||||||
-- [[ Configure Treesitter ]]
|
|
||||||
-- See `:help nvim-treesitter`
|
|
||||||
require('nvim-treesitter.configs').setup {
|
|
||||||
-- Add languages to be installed here that you want
|
|
||||||
-- installed for treesitter
|
|
||||||
ensure_installed = {
|
|
||||||
'bash',
|
|
||||||
'c', 'comment', 'cpp',
|
|
||||||
'diff', 'dockerfile',
|
|
||||||
'gitattributes', 'gitignore', 'go',
|
|
||||||
'html', 'http',
|
|
||||||
'javascript', 'jq', 'jsdoc', 'json',
|
|
||||||
'lua',
|
|
||||||
'markdown',
|
|
||||||
'org',
|
|
||||||
'php', 'phpdoc', 'python',
|
|
||||||
'regex', 'rust',
|
|
||||||
'scss', 'sql',
|
|
||||||
'typescript',
|
|
||||||
'vim', 'vue',
|
|
||||||
'yaml',
|
|
||||||
'help',
|
|
||||||
},
|
|
||||||
|
|
||||||
highlight = {
|
|
||||||
enable = true,
|
|
||||||
-- Required for spellcheck, some LaTex highlights and
|
|
||||||
-- code block highlights that do not have ts grammar
|
|
||||||
additional_vim_regex_highlighting = { 'org' },
|
|
||||||
},
|
|
||||||
|
|
||||||
indent = { enable = true, disable = { 'python' } },
|
|
||||||
|
|
||||||
incremental_selection = {
|
|
||||||
enable = true,
|
|
||||||
keymaps = {
|
|
||||||
init_selection = '<c-space>',
|
|
||||||
node_incremental = '<c-space>',
|
|
||||||
scope_incremental = '<c-s>',
|
|
||||||
node_decremental = '<c-backspace>',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
textobjects = {
|
|
||||||
select = {
|
|
||||||
enable = true,
|
|
||||||
-- Automatically jump forward to textobj, similar to targets.vim
|
|
||||||
lookahead = true,
|
|
||||||
keymaps = {
|
|
||||||
-- You can use the capture groups defined in textobjects.scm
|
|
||||||
['aa'] = '@parameter.outer',
|
|
||||||
['ia'] = '@parameter.inner',
|
|
||||||
['af'] = '@function.outer',
|
|
||||||
['if'] = '@function.inner',
|
|
||||||
['ac'] = '@class.outer',
|
|
||||||
['ic'] = '@class.inner',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
move = {
|
|
||||||
enable = true,
|
|
||||||
set_jumps = true, -- whether to set jumps in the jumplist
|
|
||||||
goto_next_start = {
|
|
||||||
[']m'] = '@function.outer',
|
|
||||||
[']]'] = '@class.outer',
|
|
||||||
},
|
|
||||||
goto_next_end = {
|
|
||||||
[']M'] = '@function.outer',
|
|
||||||
[']['] = '@class.outer',
|
|
||||||
},
|
|
||||||
goto_previous_start = {
|
|
||||||
['[m'] = '@function.outer',
|
|
||||||
['[['] = '@class.outer',
|
|
||||||
},
|
|
||||||
goto_previous_end = {
|
|
||||||
['[M'] = '@function.outer',
|
|
||||||
['[]'] = '@class.outer',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
swap = {
|
|
||||||
enable = true,
|
|
||||||
swap_next = {
|
|
||||||
['<leader>a'] = '@parameter.inner',
|
|
||||||
},
|
|
||||||
swap_previous = {
|
|
||||||
['<leader>A'] = '@parameter.inner',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- LSP settings.
|
|
||||||
-- This function gets run when an LSP connects to a particular buffer.
|
|
||||||
local on_attach = function(_, bufnr)
|
|
||||||
-- NOTE: Remember that lua is a real programming language,
|
|
||||||
-- and as such it is possible to define small helper and
|
|
||||||
-- utility functions so you don't have to repeat yourself
|
|
||||||
-- many times.
|
|
||||||
--
|
|
||||||
-- In this case, we create a function that lets us more
|
|
||||||
-- easily define mappings specific for LSP related items.
|
|
||||||
-- It sets the mode, buffer and description for us each time.
|
|
||||||
local nm = function(keys, func, desc)
|
|
||||||
if desc then
|
|
||||||
desc = 'LSP: ' .. desc
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.keymap.set('n', keys, func, { buffer = bufnr, desc = desc })
|
|
||||||
end
|
|
||||||
|
|
||||||
local t = require('telescope.builtin')
|
|
||||||
local vbuf = vim.lsp.buf
|
|
||||||
|
|
||||||
nm('<leader>rn', vbuf.rename, '[R]e[n]ame')
|
|
||||||
nm('<leader>ca', vbuf.code_action, '[C]ode [A]ction')
|
|
||||||
|
|
||||||
nm('gd', vbuf.definition, '[G]oto [D]efinition')
|
|
||||||
nm('gr', t.lsp_references, '[G]oto [R]eferences')
|
|
||||||
nm('gI', vbuf.implementation, '[G]oto [I]mplementation')
|
|
||||||
nm('<leader>D', vbuf.type_definition, 'Type [D]efinition')
|
|
||||||
nm('<leader>ds', t.lsp_document_symbols, '[D]ocument [S]ymbols')
|
|
||||||
nm('<leader>ws', t.lsp_dynamic_workspace_symbols, '[W]orkspace [S]ymbols')
|
|
||||||
|
|
||||||
-- See `:help K` for why this keymap
|
|
||||||
nm('K', vbuf.hover, 'Hover Documentation')
|
|
||||||
nm('<C-k>', vbuf.signature_help, 'Signature Documentation')
|
|
||||||
|
|
||||||
-- Lesser used LSP functionality
|
|
||||||
nm('gD', vbuf.declaration, '[G]oto [D]eclaration')
|
|
||||||
nm('<leader>wa', vbuf.add_workspace_folder, '[W]orkspace [A]dd Folder')
|
|
||||||
nm('<leader>wr', vbuf.remove_workspace_folder, '[W]orkspace [R]emove Folder')
|
|
||||||
nm('<leader>wl', function()
|
|
||||||
print(vim.inspect(vbuf.list_workspace_folders()))
|
|
||||||
end, '[W]orkspace [L]ist Folders')
|
|
||||||
|
|
||||||
-- Create a command `:Format` local to the LSP buffer
|
|
||||||
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_)
|
|
||||||
if vim.lsp.buf.format then
|
|
||||||
vim.lsp.buf.format()
|
|
||||||
elseif vim.lsp.buf.formatting then
|
|
||||||
vim.lsp.buf.formatting()
|
|
||||||
end
|
|
||||||
end, { desc = 'Format current buffer with LSP' })
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Setup mason so it can manage external tooling
|
|
||||||
require('mason').setup()
|
|
||||||
require("null-ls").setup()
|
|
||||||
|
|
||||||
-- Enable the following language servers.
|
|
||||||
-- Feel free to add/remove any LSPs that you want here.
|
|
||||||
-- They will automatically be installed.
|
|
||||||
-- https://github.com/williamboman/mason-lspconfig.nvim#available-lsp-servers
|
|
||||||
local servers = {
|
|
||||||
-- a
|
|
||||||
'angularls',
|
|
||||||
'ansiblels',
|
|
||||||
-- b
|
|
||||||
'bashls',
|
|
||||||
-- c
|
|
||||||
'clangd',
|
|
||||||
'cssls',
|
|
||||||
-- d
|
|
||||||
'dockerls',
|
|
||||||
-- e
|
|
||||||
'eslint',
|
|
||||||
'emmet_ls',
|
|
||||||
-- f
|
|
||||||
-- g
|
|
||||||
'gopls',
|
|
||||||
'graphql',
|
|
||||||
-- h
|
|
||||||
'html',
|
|
||||||
-- i
|
|
||||||
-- j
|
|
||||||
'quick_lint_js', -- js
|
|
||||||
'jsonls',
|
|
||||||
-- k
|
|
||||||
-- l
|
|
||||||
'sumneko_lua', -- lua
|
|
||||||
-- m
|
|
||||||
'marksman', -- markdown
|
|
||||||
-- n
|
|
||||||
-- o
|
|
||||||
-- p
|
|
||||||
'intelephense', 'phpactor', 'psalm',
|
|
||||||
'pyright',
|
|
||||||
-- q
|
|
||||||
-- r
|
|
||||||
'rust_analyzer',
|
|
||||||
-- s
|
|
||||||
'sqlls',
|
|
||||||
'stylelint_lsp',
|
|
||||||
-- t
|
|
||||||
'tailwindcss',
|
|
||||||
'terraformls',
|
|
||||||
'tflint',
|
|
||||||
'tsserver',
|
|
||||||
-- u
|
|
||||||
-- v / w
|
|
||||||
'volar', -- vue
|
|
||||||
'vuels', -- vue
|
|
||||||
-- x / y / z
|
|
||||||
'lemminx', -- xml
|
|
||||||
'yamlls', -- yaml
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Ensure the servers above are installed
|
|
||||||
require('mason-lspconfig').setup {
|
|
||||||
ensure_installed = servers,
|
|
||||||
}
|
|
||||||
|
|
||||||
require("mason-lspconfig").setup_handlers {
|
|
||||||
-- The first entry (without a key) will be the default handler
|
|
||||||
-- and will be called for each installed server that doesn't have
|
|
||||||
-- a dedicated handler.
|
|
||||||
function(server_name)
|
|
||||||
-- default handler (optional)
|
|
||||||
require("lspconfig")[server_name].setup {}
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
||||||
-- nvim-cmp supports additional completion capabilities
|
|
||||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
|
||||||
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
|
|
||||||
|
|
||||||
for _, lsp in ipairs(servers) do
|
|
||||||
require('lspconfig')[lsp].setup {
|
|
||||||
on_attach = on_attach,
|
|
||||||
capabilities = capabilities,
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Turn on lsp status information
|
|
||||||
require('fidget').setup()
|
|
||||||
|
|
||||||
-- Example custom configuration for lua.
|
|
||||||
-- Make runtime files discoverable to the server
|
|
||||||
local runtime_path = vim.split(package.path, ';')
|
|
||||||
table.insert(runtime_path, 'lua/?.lua')
|
|
||||||
table.insert(runtime_path, 'lua/?/init.lua')
|
|
||||||
|
|
||||||
require('lspconfig').sumneko_lua.setup {
|
|
||||||
on_attach = on_attach,
|
|
||||||
capabilities = capabilities,
|
|
||||||
settings = {
|
|
||||||
Lua = {
|
|
||||||
runtime = {
|
|
||||||
-- Tell the language server which version of Lua you're
|
|
||||||
-- using (most likely LuaJIT)
|
|
||||||
version = 'LuaJIT',
|
|
||||||
-- Setup your lua path
|
|
||||||
path = runtime_path,
|
|
||||||
},
|
|
||||||
diagnostics = {
|
|
||||||
globals = { 'vim' },
|
|
||||||
},
|
|
||||||
workspace = {
|
|
||||||
library = vim.api.nvim_get_runtime_file('', true),
|
|
||||||
checkThirdParty = false,
|
|
||||||
},
|
|
||||||
-- Do not send telemetry data containing a randomized
|
|
||||||
-- but unique identifier
|
|
||||||
telemetry = { enable = false },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- nvim-cmp setup
|
|
||||||
local cmp = require 'cmp'
|
|
||||||
local luasnip = require 'luasnip'
|
|
||||||
|
|
||||||
cmp.setup {
|
|
||||||
snippet = {
|
|
||||||
expand = function(args)
|
|
||||||
luasnip.lsp_expand(args.body)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
mapping = cmp.mapping.preset.insert {
|
|
||||||
['<C-d>'] = cmp.mapping.scroll_docs(-4),
|
|
||||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
|
||||||
['<C-Space>'] = cmp.mapping.complete(),
|
|
||||||
['<CR>'] = cmp.mapping.confirm {
|
|
||||||
behavior = cmp.ConfirmBehavior.Replace,
|
|
||||||
select = true,
|
|
||||||
},
|
|
||||||
['<Tab>'] = cmp.mapping(function(fallback)
|
|
||||||
if cmp.visible() then
|
|
||||||
cmp.select_next_item()
|
|
||||||
elseif luasnip.expand_or_jumpable() then
|
|
||||||
luasnip.expand_or_jump()
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end, { 'i', 's' }),
|
|
||||||
['<S-Tab>'] = cmp.mapping(function(fallback)
|
|
||||||
if cmp.visible() then
|
|
||||||
cmp.select_prev_item()
|
|
||||||
elseif luasnip.jumpable(-1) then
|
|
||||||
luasnip.jump(-1)
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end, { 'i', 's' }),
|
|
||||||
},
|
|
||||||
sources = {
|
|
||||||
{ name = 'nvim_lsp' },
|
|
||||||
{ name = 'luasnip' },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("BufWritePost",
|
|
||||||
{ pattern = "plugins.lua", command = "source <afile> | PackerSync" })
|
|
||||||
vim.api.nvim_create_autocmd("BufRead",
|
|
||||||
{ pattern = "*/node_modules/*", command = "lua vim.diagnostic.disable(0)" })
|
|
||||||
vim.api.nvim_create_autocmd("BufNewFile",
|
|
||||||
{ pattern = "*/node_modules/*", command = "lua vim.diagnostic.disable(0)" })
|
|
||||||
-- Enable spell checking for certain file types
|
|
||||||
vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" },
|
|
||||||
{ pattern = { "*.txt", "*.md", "*.tex" },
|
|
||||||
command = "setlocal spell" })
|
|
||||||
|
|
||||||
-- The line beneath this is called `modeline`. See `:help modeline`
|
|
||||||
-- vim: ts=2 sts=2 sw=2 et
|
|
||||||
@@ -1,184 +0,0 @@
|
|||||||
return function(use)
|
|
||||||
|
|
||||||
-- 💥 Create key bindings that stick.
|
|
||||||
-- WhichKey is a lua plugin that displays a popup with
|
|
||||||
-- possible keybindings of the command you started typing.
|
|
||||||
-- https://github.com/folke/which-key.nvim
|
|
||||||
use({
|
|
||||||
"folke/which-key.nvim",
|
|
||||||
config = function()
|
|
||||||
require("which-key").setup({})
|
|
||||||
end
|
|
||||||
})
|
|
||||||
|
|
||||||
-- 🍨 Soothing pastel theme for (Neo)vim
|
|
||||||
-- https://github.com/catppuccin/nvim
|
|
||||||
-- use { "catppuccin/nvim", as = "catppuccin" }
|
|
||||||
-- vim.cmd.colorscheme('catppuccin-latte')
|
|
||||||
|
|
||||||
-- markdown preview plugin for (neo)vim
|
|
||||||
-- https://github.com/iamcco/markdown-preview.nvim
|
|
||||||
use({
|
|
||||||
"iamcco/markdown-preview.nvim",
|
|
||||||
run = function()
|
|
||||||
vim.fn["mkdp#util#install"]()
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- The neovim tabline plugin.
|
|
||||||
-- https://github.com/romgrk/barbar.nvim
|
|
||||||
use 'nvim-tree/nvim-web-devicons'
|
|
||||||
use { 'romgrk/barbar.nvim', wants = 'nvim-web-devicons' }
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Pretty UI
|
|
||||||
--
|
|
||||||
|
|
||||||
-- Neovim plugin to improve the default vim.ui interfaces
|
|
||||||
use 'stevearc/dressing.nvim'
|
|
||||||
-- A fancy, configurable, notification manager for NeoVim
|
|
||||||
use 'rcarriga/nvim-notify'
|
|
||||||
-- Non-intrusive notification system for neovim
|
|
||||||
use 'vigoux/notifier.nvim'
|
|
||||||
-- ✅ Highlight, list and search todo comments in your projects
|
|
||||||
use {
|
|
||||||
'folke/todo-comments.nvim',
|
|
||||||
requires = 'nvim-lua/plenary.nvim',
|
|
||||||
config = function()
|
|
||||||
require('todo-comments').setup {}
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
||||||
-- The Refactoring library based off the Refactoring book by Martin Fowler
|
|
||||||
-- https://github.com/ThePrimeagen/refactoring.nvim
|
|
||||||
use {
|
|
||||||
"ThePrimeagen/refactoring.nvim",
|
|
||||||
requires = {
|
|
||||||
{ "nvim-lua/plenary.nvim" },
|
|
||||||
{ "nvim-treesitter/nvim-treesitter" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
-- harpoon, by ThePrimeagen
|
|
||||||
-- https://github.com/ThePrimeagen/harpoon
|
|
||||||
use {
|
|
||||||
"ThePrimeagen/harpoon",
|
|
||||||
requires = { { "nvim-lua/plenary.nvim" } }
|
|
||||||
}
|
|
||||||
|
|
||||||
-- An asynchronous linter plugin for Neovim complementary to
|
|
||||||
-- the built-in Language Server Protocol support.
|
|
||||||
-- https://github.com/mfussenegger/nvim-lint
|
|
||||||
use 'mfussenegger/nvim-lint'
|
|
||||||
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
|
|
||||||
callback = function()
|
|
||||||
require("lint").try_lint()
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Markdown support
|
|
||||||
use 'preservim/vim-markdown'
|
|
||||||
use 'godlygeek/tabular'
|
|
||||||
|
|
||||||
-- Creates missing folders on save
|
|
||||||
-- https://github.com/jghauser/mkdir.nvim
|
|
||||||
use { 'jghauser/mkdir.nvim' }
|
|
||||||
|
|
||||||
-- Neovim plugin for dimming the highlights of unused
|
|
||||||
-- functions, variables, parameters, and more
|
|
||||||
-- https://github.com/zbirenbaum/neodim
|
|
||||||
use {
|
|
||||||
"zbirenbaum/neodim",
|
|
||||||
event = "LspAttach",
|
|
||||||
config = function()
|
|
||||||
require("neodim").setup({
|
|
||||||
alpha = 0.75,
|
|
||||||
blend_color = "#000000",
|
|
||||||
update_in_insert = {
|
|
||||||
enable = true,
|
|
||||||
delay = 100,
|
|
||||||
},
|
|
||||||
hide = {
|
|
||||||
virtual_text = true,
|
|
||||||
signs = true,
|
|
||||||
underline = true,
|
|
||||||
}
|
|
||||||
})
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
-- EditorConfig plugin for Neovim
|
|
||||||
-- https://github.com/gpanders/editorconfig.nvim
|
|
||||||
use { 'gpanders/editorconfig.nvim' }
|
|
||||||
|
|
||||||
-- Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
|
|
||||||
-- https://github.com/jose-elias-alvarez/null-ls.nvim
|
|
||||||
use {
|
|
||||||
"jose-elias-alvarez/null-ls.nvim",
|
|
||||||
config = function()
|
|
||||||
local n = require("null-ls")
|
|
||||||
local b = n.builtins
|
|
||||||
require("null-ls").setup({
|
|
||||||
b.code_actions.eslint,
|
|
||||||
b.code_actions.shellcheck,
|
|
||||||
b.code_actions.xo,
|
|
||||||
b.completion.luasnip,
|
|
||||||
b.completion.spell,
|
|
||||||
b.diagnostics.actionlint,
|
|
||||||
b.diagnostics.alex,
|
|
||||||
b.diagnostics.ansiblelint,
|
|
||||||
b.diagnostics.codespell,
|
|
||||||
b.diagnostics.dotenv_linter,
|
|
||||||
b.diagnostics.editorconfig_checker,
|
|
||||||
b.diagnostics.eslint,
|
|
||||||
b.diagnostics.hadolint,
|
|
||||||
b.diagnostics.jsonlint,
|
|
||||||
b.diagnostics.luacheck,
|
|
||||||
b.diagnostics.markdownlint,
|
|
||||||
b.diagnostics.php,
|
|
||||||
b.diagnostics.phpcs,
|
|
||||||
b.diagnostics.phpstan,
|
|
||||||
b.diagnostics.psalm,
|
|
||||||
b.diagnostics.shellcheck,
|
|
||||||
b.diagnostics.spectral,
|
|
||||||
b.diagnostics.stylelint,
|
|
||||||
b.diagnostics.todo_comments,
|
|
||||||
b.diagnostics.trail_space,
|
|
||||||
b.diagnostics.xo,
|
|
||||||
b.diagnostics.yamllint,
|
|
||||||
b.formatting.blade_formatter,
|
|
||||||
b.formatting.eslint,
|
|
||||||
b.formatting.fixjson,
|
|
||||||
b.formatting.lua_format,
|
|
||||||
b.formatting.markdownlint,
|
|
||||||
b.formatting.prettier,
|
|
||||||
b.formatting.shfmt,
|
|
||||||
b.formatting.stylelint,
|
|
||||||
-- b.formatting.stylua,
|
|
||||||
b.formatting.terraform_fmt,
|
|
||||||
b.formatting.trim_whitespace,
|
|
||||||
b.formatting.yamlfmt,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
requires = { "nvim-lua/plenary.nvim" }
|
|
||||||
}
|
|
||||||
|
|
||||||
-- mason-null-ls bridges mason.nvim with the null-ls plugin
|
|
||||||
-- - making it easier to use both plugins together.
|
|
||||||
-- https://github.com/jay-babu/mason-null-ls.nvim
|
|
||||||
use {
|
|
||||||
"jayp0521/mason-null-ls.nvim",
|
|
||||||
config = function()
|
|
||||||
require("mason-null-ls").setup({
|
|
||||||
ensure_installed = nil,
|
|
||||||
automatic_installation = true,
|
|
||||||
automatic_setup = false,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
requires = { "jose-elias-alvarez/null-ls.nvim" }
|
|
||||||
}
|
|
||||||
|
|
||||||
-- WakaTime Support
|
|
||||||
use { "wakatime/vim-wakatime" }
|
|
||||||
|
|
||||||
end
|
|
||||||
1
config/nvim/plugin/.gitignore
vendored
1
config/nvim/plugin/.gitignore
vendored
@@ -1 +0,0 @@
|
|||||||
packer_compiled.lua
|
|
||||||
@@ -7,3 +7,29 @@ add_newline = true
|
|||||||
# Replace the '❯' symbol in the prompt with '➜'
|
# Replace the '❯' symbol in the prompt with '➜'
|
||||||
[character] # The name of the module we are configuring is 'character'
|
[character] # The name of the module we are configuring is 'character'
|
||||||
success_symbol = '[➜](bold green)' # The 'success_symbol' segment is being set to '➜' with the color 'bold green'
|
success_symbol = '[➜](bold green)' # The 'success_symbol' segment is being set to '➜' with the color 'bold green'
|
||||||
|
|
||||||
|
[cmd_duration]
|
||||||
|
disabled = true
|
||||||
|
|
||||||
|
[git_branch]
|
||||||
|
symbol = '🌱 '
|
||||||
|
truncation_length = 4
|
||||||
|
truncation_symbol = ''
|
||||||
|
ignore_branches = ['master', 'main']
|
||||||
|
|
||||||
|
[git_status]
|
||||||
|
up_to_date = '✓'
|
||||||
|
staged = '[++\($count\)](green)'
|
||||||
|
|
||||||
|
[package]
|
||||||
|
format = '[$symbol($version )]($style)'
|
||||||
|
version_format = '${major}.${minor}'
|
||||||
|
|
||||||
|
[php]
|
||||||
|
format = '[$symbol($version )]($style)'
|
||||||
|
version_format = '${major}.${minor}'
|
||||||
|
|
||||||
|
[nodejs]
|
||||||
|
format = '[$symbol($version )]($style)'
|
||||||
|
version_format = '${major}.${minor}'
|
||||||
|
|
||||||
|
|||||||
20
ecrc
Normal file
20
ecrc
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"Version": "2.7.0",
|
||||||
|
"Verbose": false,
|
||||||
|
"Debug": false,
|
||||||
|
"IgnoreDefaults": false,
|
||||||
|
"SpacesAftertabs": false,
|
||||||
|
"NoColor": false,
|
||||||
|
"Exclude": [],
|
||||||
|
"AllowedContentTypes": [],
|
||||||
|
"PassedFiles": [],
|
||||||
|
"Disable": {
|
||||||
|
"EndOfLine": false,
|
||||||
|
"Indentation": false,
|
||||||
|
"InsertFinalNewline": false,
|
||||||
|
"TrimTrailingWhitespace": false,
|
||||||
|
"IndentSize": false,
|
||||||
|
"MaxLineLength": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -43,16 +43,20 @@ function section_install
|
|||||||
ext_gh)
|
ext_gh)
|
||||||
bash "$DOTFILES/scripts/install-gh-extensions.sh" && msg_done "🎉 Extensions for GitHub CLI have been installed!"
|
bash "$DOTFILES/scripts/install-gh-extensions.sh" && msg_done "🎉 Extensions for GitHub CLI have been installed!"
|
||||||
;;
|
;;
|
||||||
|
ext_npm)
|
||||||
|
bash "$DOTFILES/scripts/install-npm-packages.sh" && msg_done "NPM Packages have been installed!"
|
||||||
|
;;
|
||||||
settler)
|
settler)
|
||||||
bash "$DOTFILES/scripts/settler.sh" && msg_done "🎉 Settler has been run!"
|
bash "$DOTFILES/scripts/settler.sh" && msg_done "🎉 Settler has been run!"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
menu_section "$USAGE_PREFIX" "all | antigen | brew | ext_gh | ext_go | macos | settler"
|
menu_section "$USAGE_PREFIX" "all | antigen | brew | ext_gh | ext_go | ext_npm | macos | settler"
|
||||||
menu_item "all" "Installs antigen, macos, brew, ext_gh and ext_go"
|
menu_item "all" "Installs antigen, macos, brew, ext_gh and ext_go"
|
||||||
menu_item "antigen" "Updates the antigen.zsh file"
|
menu_item "antigen" "Updates the antigen.zsh file"
|
||||||
menu_item "brew" "Install Brewfile contents"
|
menu_item "brew" "Install Brewfile contents"
|
||||||
menu_item "ext_gh" "Install GitHub CLI Extensions"
|
menu_item "ext_gh" "Install GitHub CLI Extensions"
|
||||||
menu_item "ext_go" "Install Go Packages"
|
menu_item "ext_go" "Install Go Packages"
|
||||||
|
menu_item "ext_npm" "Install NPM Packages"
|
||||||
menu_item "macos" "Setup nice macOS defaults"
|
menu_item "macos" "Setup nice macOS defaults"
|
||||||
menu_item "settler" "Runs the WIP settler.sh"
|
menu_item "settler" "Runs the WIP settler.sh"
|
||||||
;;
|
;;
|
||||||
|
|||||||
2
rcrc
2
rcrc
@@ -1,2 +1,2 @@
|
|||||||
EXCLUDES="*.md *.sh *.lock.json Brewfile scripts *-secret xbar"
|
EXCLUDES="*.md *.sh *.lock.json Brewfile scripts *-secret xbar .github"
|
||||||
HOSTNAME=$(hostname -s)
|
HOSTNAME=$(hostname -s)
|
||||||
|
|||||||
115
scripts/install-dotfiles.sh
Normal file → Executable file
115
scripts/install-dotfiles.sh
Normal file → Executable file
@@ -66,17 +66,127 @@ handle_file_ln() {
|
|||||||
handle_file_ln "$HOME/.dotfiles/bash_profile" "$HOME/.bash_profile"
|
handle_file_ln "$HOME/.dotfiles/bash_profile" "$HOME/.bash_profile"
|
||||||
handle_file_ln "$HOME/.dotfiles/bashrc" "$HOME/.bashrc"
|
handle_file_ln "$HOME/.dotfiles/bashrc" "$HOME/.bashrc"
|
||||||
handle_file_ln "$HOME/.dotfiles/config/alias" "$HOME/.config/alias"
|
handle_file_ln "$HOME/.dotfiles/config/alias" "$HOME/.config/alias"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/LICENSE" "$HOME/.config/astronvim/lua/user/LICENSE"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/autocmds.lua" "$HOME/.config/astronvim/lua/user/autocmds.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/cmp/source_priority.lua" "$HOME/.config/astronvim/lua/user/cmp/source_priority.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/colorscheme.lua" "$HOME/.config/astronvim/lua/user/colorscheme.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/default_theme/highlights.lua" "$HOME/.config/astronvim/lua/user/default_theme/highlights.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/default_theme/plugins.lua" "$HOME/.config/astronvim/lua/user/default_theme/plugins.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/diagnostics.lua" "$HOME/.config/astronvim/lua/user/diagnostics.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/highlights/init.lua" "$HOME/.config/astronvim/lua/user/highlights/init.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/init.lua" "$HOME/.config/astronvim/lua/user/init.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/lsp/on_attach.lua" "$HOME/.config/astronvim/lua/user/lsp/on_attach.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/lsp/server-settings/clangd.lua" "$HOME/.config/astronvim/lua/user/lsp/server-settings/clangd.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/lsp/server-settings/sumneko_lua.lua" "$HOME/.config/astronvim/lua/user/lsp/server-settings/sumneko_lua.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/lsp/server-settings/tsserver.lua" "$HOME/.config/astronvim/lua/user/lsp/server-settings/tsserver.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/lsp/server-settings/yamlls.lua" "$HOME/.config/astronvim/lua/user/lsp/server-settings/yamlls.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/mappings.lua" "$HOME/.config/astronvim/lua/user/mappings.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/options.lua" "$HOME/.config/astronvim/lua/user/options.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/plugins/bufferline.lua" "$HOME/.config/astronvim/lua/user/plugins/bufferline.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/plugins/cmp.lua" "$HOME/.config/astronvim/lua/user/plugins/cmp.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/plugins/init.lua" "$HOME/.config/astronvim/lua/user/plugins/init.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/plugins/lsp-inlayhints.lua" "$HOME/.config/astronvim/lua/user/plugins/lsp-inlayhints.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/plugins/lspkind.lua" "$HOME/.config/astronvim/lua/user/plugins/lspkind.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/plugins/mason-lspconfig.lua" "$HOME/.config/astronvim/lua/user/plugins/mason-lspconfig.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/plugins/neoscroll.lua" "$HOME/.config/astronvim/lua/user/plugins/neoscroll.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/plugins/null-ls.lua" "$HOME/.config/astronvim/lua/user/plugins/null-ls.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/plugins/treesitter.lua" "$HOME/.config/astronvim/lua/user/plugins/treesitter.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/plugins/zen-mode.lua" "$HOME/.config/astronvim/lua/user/plugins/zen-mode.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/polish.lua" "$HOME/.config/astronvim/lua/user/polish.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/updater.lua" "$HOME/.config/astronvim/lua/user/updater.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/astronvim/lua/user/which-key/register.lua" "$HOME/.config/astronvim/lua/user/which-key/register.lua"
|
||||||
handle_file_ln "$HOME/.dotfiles/config/exports" "$HOME/.config/exports"
|
handle_file_ln "$HOME/.dotfiles/config/exports" "$HOME/.config/exports"
|
||||||
handle_file_ln "$HOME/.dotfiles/config/flipperdevices.com/qFlipper.ini" "$HOME/.config/flipperdevices.com/qFlipper.ini"
|
handle_file_ln "$HOME/.dotfiles/config/flipperdevices.com/qFlipper.ini" "$HOME/.config/flipperdevices.com/qFlipper.ini"
|
||||||
handle_file_ln "$HOME/.dotfiles/config/functions" "$HOME/.config/functions"
|
handle_file_ln "$HOME/.dotfiles/config/functions" "$HOME/.config/functions"
|
||||||
handle_file_ln "$HOME/.dotfiles/config/gh/config.yml" "$HOME/.config/gh/config.yml"
|
handle_file_ln "$HOME/.dotfiles/config/gh/config.yml" "$HOME/.config/gh/config.yml"
|
||||||
handle_file_ln "$HOME/.dotfiles/config/git/config" "$HOME/.config/git/config"
|
handle_file_ln "$HOME/.dotfiles/config/git/config" "$HOME/.config/git/config"
|
||||||
handle_file_ln "$HOME/.dotfiles/config/git/gitignore" "$HOME/.config/git/gitignore"
|
handle_file_ln "$HOME/.dotfiles/config/git/gitignore" "$HOME/.config/git/gitignore"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/LICENSE" "$HOME/.config/nvim/LICENSE"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/colors/default_theme.lua" "$HOME/.config/nvim/colors/default_theme.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/config.ld" "$HOME/.config/nvim/config.ld"
|
||||||
handle_file_ln "$HOME/.dotfiles/config/nvim/init.lua" "$HOME/.config/nvim/init.lua"
|
handle_file_ln "$HOME/.dotfiles/config/nvim/init.lua" "$HOME/.config/nvim/init.lua"
|
||||||
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/custom/plugins.lua" "$HOME/.config/nvim/lua/custom/plugins.lua"
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/Comment.lua" "$HOME/.config/nvim/lua/configs/Comment.lua"
|
||||||
handle_file_ln "$HOME/.dotfiles/config/nvim/plugin/packer_compiled.lua" "$HOME/.config/nvim/plugin/packer_compiled.lua"
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/aerial.lua" "$HOME/.config/nvim/lua/configs/aerial.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/alpha.lua" "$HOME/.config/nvim/lua/configs/alpha.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/autopairs.lua" "$HOME/.config/nvim/lua/configs/autopairs.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/better_escape.lua" "$HOME/.config/nvim/lua/configs/better_escape.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/bufferline.lua" "$HOME/.config/nvim/lua/configs/bufferline.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/cmp.lua" "$HOME/.config/nvim/lua/configs/cmp.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/colorizer.lua" "$HOME/.config/nvim/lua/configs/colorizer.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/dap.lua" "$HOME/.config/nvim/lua/configs/dap.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/dapui.lua" "$HOME/.config/nvim/lua/configs/dapui.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/dressing.lua" "$HOME/.config/nvim/lua/configs/dressing.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/gitsigns.lua" "$HOME/.config/nvim/lua/configs/gitsigns.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/heirline.lua" "$HOME/.config/nvim/lua/configs/heirline.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/indent-line.lua" "$HOME/.config/nvim/lua/configs/indent-line.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/indent-o-matic.lua" "$HOME/.config/nvim/lua/configs/indent-o-matic.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/lspconfig.lua" "$HOME/.config/nvim/lua/configs/lspconfig.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/lspkind.lua" "$HOME/.config/nvim/lua/configs/lspkind.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/luasnip.lua" "$HOME/.config/nvim/lua/configs/luasnip.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/mason-lspconfig.lua" "$HOME/.config/nvim/lua/configs/mason-lspconfig.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/mason-null-ls.lua" "$HOME/.config/nvim/lua/configs/mason-null-ls.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/mason-nvim-dap.lua" "$HOME/.config/nvim/lua/configs/mason-nvim-dap.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/mason.lua" "$HOME/.config/nvim/lua/configs/mason.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/neo-tree.lua" "$HOME/.config/nvim/lua/configs/neo-tree.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/notify.lua" "$HOME/.config/nvim/lua/configs/notify.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/null-ls.lua" "$HOME/.config/nvim/lua/configs/null-ls.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/nvim-web-devicons.lua" "$HOME/.config/nvim/lua/configs/nvim-web-devicons.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/server-settings/jsonls.lua" "$HOME/.config/nvim/lua/configs/server-settings/jsonls.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/server-settings/sumneko_lua.lua" "$HOME/.config/nvim/lua/configs/server-settings/sumneko_lua.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/session_manager.lua" "$HOME/.config/nvim/lua/configs/session_manager.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/smart-splits.lua" "$HOME/.config/nvim/lua/configs/smart-splits.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/telescope.lua" "$HOME/.config/nvim/lua/configs/telescope.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/toggleterm.lua" "$HOME/.config/nvim/lua/configs/toggleterm.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/treesitter.lua" "$HOME/.config/nvim/lua/configs/treesitter.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/which-key-register.lua" "$HOME/.config/nvim/lua/configs/which-key-register.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/which-key.lua" "$HOME/.config/nvim/lua/configs/which-key.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/configs/window-picker.lua" "$HOME/.config/nvim/lua/configs/window-picker.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/core/autocmds.lua" "$HOME/.config/nvim/lua/core/autocmds.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/core/bootstrap.lua" "$HOME/.config/nvim/lua/core/bootstrap.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/core/diagnostics.lua" "$HOME/.config/nvim/lua/core/diagnostics.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/core/icons/nerd_font.lua" "$HOME/.config/nvim/lua/core/icons/nerd_font.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/core/icons/text.lua" "$HOME/.config/nvim/lua/core/icons/text.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/core/mappings.lua" "$HOME/.config/nvim/lua/core/mappings.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/core/options.lua" "$HOME/.config/nvim/lua/core/options.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/core/plugins.lua" "$HOME/.config/nvim/lua/core/plugins.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/core/utils/git.lua" "$HOME/.config/nvim/lua/core/utils/git.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/core/utils/init.lua" "$HOME/.config/nvim/lua/core/utils/init.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/core/utils/lsp.lua" "$HOME/.config/nvim/lua/core/utils/lsp.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/core/utils/mason.lua" "$HOME/.config/nvim/lua/core/utils/mason.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/core/utils/status.lua" "$HOME/.config/nvim/lua/core/utils/status.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/core/utils/ui.lua" "$HOME/.config/nvim/lua/core/utils/ui.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/core/utils/updater.lua" "$HOME/.config/nvim/lua/core/utils/updater.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/base.lua" "$HOME/.config/nvim/lua/default_theme/base.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/colors.lua" "$HOME/.config/nvim/lua/default_theme/colors.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/init.lua" "$HOME/.config/nvim/lua/default_theme/init.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/lsp.lua" "$HOME/.config/nvim/lua/default_theme/lsp.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/plugins/aerial.lua" "$HOME/.config/nvim/lua/default_theme/plugins/aerial.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/plugins/beacon.lua" "$HOME/.config/nvim/lua/default_theme/plugins/beacon.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/plugins/bufferline.lua" "$HOME/.config/nvim/lua/default_theme/plugins/bufferline.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/plugins/cmp.lua" "$HOME/.config/nvim/lua/default_theme/plugins/cmp.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/plugins/dapui.lua" "$HOME/.config/nvim/lua/default_theme/plugins/dapui.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/plugins/dashboard.lua" "$HOME/.config/nvim/lua/default_theme/plugins/dashboard.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/plugins/gitsigns.lua" "$HOME/.config/nvim/lua/default_theme/plugins/gitsigns.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/plugins/highlighturl.lua" "$HOME/.config/nvim/lua/default_theme/plugins/highlighturl.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/plugins/hop.lua" "$HOME/.config/nvim/lua/default_theme/plugins/hop.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/plugins/indent_blankline.lua" "$HOME/.config/nvim/lua/default_theme/plugins/indent_blankline.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/plugins/lightspeed.lua" "$HOME/.config/nvim/lua/default_theme/plugins/lightspeed.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/plugins/neo-tree.lua" "$HOME/.config/nvim/lua/default_theme/plugins/neo-tree.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/plugins/notify.lua" "$HOME/.config/nvim/lua/default_theme/plugins/notify.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/plugins/nvim-tree.lua" "$HOME/.config/nvim/lua/default_theme/plugins/nvim-tree.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/plugins/nvim-web-devicons.lua" "$HOME/.config/nvim/lua/default_theme/plugins/nvim-web-devicons.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/plugins/rainbow.lua" "$HOME/.config/nvim/lua/default_theme/plugins/rainbow.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/plugins/symbols_outline.lua" "$HOME/.config/nvim/lua/default_theme/plugins/symbols_outline.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/plugins/telescope.lua" "$HOME/.config/nvim/lua/default_theme/plugins/telescope.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/plugins/treesitter.lua" "$HOME/.config/nvim/lua/default_theme/plugins/treesitter.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/plugins/vimwiki.lua" "$HOME/.config/nvim/lua/default_theme/plugins/vimwiki.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/default_theme/plugins/which-key.lua" "$HOME/.config/nvim/lua/default_theme/plugins/which-key.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/user_example/init.lua" "$HOME/.config/nvim/lua/user_example/init.lua"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/nvim/packer_snapshot" "$HOME/.config/nvim/packer_snapshot"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/starship.toml" "$HOME/.config/starship.toml"
|
||||||
handle_file_ln "$HOME/.dotfiles/config/tmux/tmux.conf" "$HOME/.config/tmux/tmux.conf"
|
handle_file_ln "$HOME/.dotfiles/config/tmux/tmux.conf" "$HOME/.config/tmux/tmux.conf"
|
||||||
handle_file_ln "$HOME/.dotfiles/config/wtf/config.yml" "$HOME/.config/wtf/config.yml"
|
handle_file_ln "$HOME/.dotfiles/config/wtf/config.yml" "$HOME/.config/wtf/config.yml"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/ecrc" "$HOME/.ecrc"
|
||||||
handle_file_ln "$HOME/.dotfiles/git_profiles" "$HOME/.git_profiles"
|
handle_file_ln "$HOME/.dotfiles/git_profiles" "$HOME/.git_profiles"
|
||||||
handle_file_ln "$HOME/.dotfiles/huskyrc" "$HOME/.huskyrc"
|
handle_file_ln "$HOME/.dotfiles/huskyrc" "$HOME/.huskyrc"
|
||||||
handle_file_ln "$HOME/.dotfiles/local/bin/antigen.zsh" "$HOME/.local/bin/antigen.zsh"
|
handle_file_ln "$HOME/.dotfiles/local/bin/antigen.zsh" "$HOME/.local/bin/antigen.zsh"
|
||||||
@@ -93,6 +203,7 @@ handle_file_ln "$HOME/.dotfiles/local/bin/x-until-success" "$HOME/.local/bin/x-u
|
|||||||
handle_file_ln "$HOME/.dotfiles/local/bin/x-when-down" "$HOME/.local/bin/x-when-down"
|
handle_file_ln "$HOME/.dotfiles/local/bin/x-when-down" "$HOME/.local/bin/x-when-down"
|
||||||
handle_file_ln "$HOME/.dotfiles/local/bin/x-when-up" "$HOME/.local/bin/x-when-up"
|
handle_file_ln "$HOME/.dotfiles/local/bin/x-when-up" "$HOME/.local/bin/x-when-up"
|
||||||
handle_file_ln "$HOME/.dotfiles/rcrc" "$HOME/.rcrc"
|
handle_file_ln "$HOME/.dotfiles/rcrc" "$HOME/.rcrc"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/shellcheckrc" "$HOME/.shellcheckrc"
|
||||||
handle_file_ln "$HOME/.dotfiles/ssh/allowed_signers" "$HOME/.ssh/allowed_signers"
|
handle_file_ln "$HOME/.dotfiles/ssh/allowed_signers" "$HOME/.ssh/allowed_signers"
|
||||||
handle_file_ln "$HOME/.dotfiles/ssh/config" "$HOME/.ssh/config"
|
handle_file_ln "$HOME/.dotfiles/ssh/config" "$HOME/.ssh/config"
|
||||||
handle_file_ln "$HOME/.dotfiles/vuerc" "$HOME/.vuerc"
|
handle_file_ln "$HOME/.dotfiles/vuerc" "$HOME/.vuerc"
|
||||||
|
|||||||
0
scripts/install-go-packages.sh
Normal file → Executable file
0
scripts/install-go-packages.sh
Normal file → Executable file
36
scripts/install-npm-packages.sh
Executable file
36
scripts/install-npm-packages.sh
Executable file
@@ -0,0 +1,36 @@
|
|||||||
|
#!/usr/bin/env zsh
|
||||||
|
# Install npm packages globally.
|
||||||
|
|
||||||
|
source "$HOME/.dotfiles/scripts/shared.sh"
|
||||||
|
|
||||||
|
if ! command -v npm &> /dev/null; then
|
||||||
|
msg_err "npm could not be found."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
packages=(
|
||||||
|
# This is a tool to check if your files consider your .editorconfig rules.
|
||||||
|
"editorconfig-checker"
|
||||||
|
# Node module to create a release or a changelog from
|
||||||
|
# a tag and uses issues or commits to creating the release notes.
|
||||||
|
"github-release-notes"
|
||||||
|
"neovim"
|
||||||
|
"prettier"
|
||||||
|
"@bchatard/alfred-jetbrains"
|
||||||
|
"@johnnymorganz/stylua-bin"
|
||||||
|
"js-debug"
|
||||||
|
"stylelint-lsp"
|
||||||
|
"blade-formatter"
|
||||||
|
)
|
||||||
|
|
||||||
|
for pkg in "${packages[@]}"; do
|
||||||
|
# Trim spaces
|
||||||
|
pkg=${pkg// /}
|
||||||
|
# Skip comments
|
||||||
|
if [[ ${pkg:0:1} == "#" ]]; then continue; fi
|
||||||
|
|
||||||
|
msg_run "Installing npm package:" "$pkg"
|
||||||
|
npm install -g --force --no-fund --no-progress --no-timing "$pkg"
|
||||||
|
echo ""
|
||||||
|
done
|
||||||
|
|
||||||
0
scripts/shared.sh
Normal file → Executable file
0
scripts/shared.sh
Normal file → Executable file
6
shellcheckrc
Normal file
6
shellcheckrc
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# This is shellcheck configuration file.
|
||||||
|
|
||||||
|
# Set whether or not to follow arbitrary file
|
||||||
|
# paths in source statements (since 0.8.0).
|
||||||
|
external-sources=true
|
||||||
|
|
||||||
11
zshrc
11
zshrc
@@ -5,7 +5,16 @@
|
|||||||
autoload -U colors zsh/terminfo
|
autoload -U colors zsh/terminfo
|
||||||
colors
|
colors
|
||||||
|
|
||||||
export PATH="/opt/homebrew/opt/ruby/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/sbin:$PATH"
|
export HOMEBREW="/opt/homebrew"
|
||||||
|
export DOTFILES="$HOME/.dotfiles"
|
||||||
|
export PATH="$HOMEBREW/opt/ruby/bin:$HOMEBREW/bin:$HOMEBREW/sbin:/usr/local/sbin:$PATH"
|
||||||
|
export HOMEBREW_NO_ENV_HINTS=1
|
||||||
|
|
||||||
|
# Explicitely set XDG folders
|
||||||
|
# https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
|
||||||
|
export XDG_DATA_HOME="$HOME/.local/share"
|
||||||
|
export XDG_CONFIG_HOME="$HOME/.config"
|
||||||
|
export XDG_STATE_HOME="$HOME/.local/state"
|
||||||
|
|
||||||
if [ command -v brew &> /dev/null ]; then
|
if [ command -v brew &> /dev/null ]; then
|
||||||
BREW_BIN=$(brew --prefix)/bin
|
BREW_BIN=$(brew --prefix)/bin
|
||||||
|
|||||||
Reference in New Issue
Block a user