Compare commits
34 Commits
Author | SHA1 | Date | |
---|---|---|---|
bce1d7498d | |||
e86ab11776 | |||
65b34c5d10 | |||
9b9a3a8af9 | |||
6848068234 | |||
37fb1519ea | |||
5acb10f0aa | |||
9eeb3ed88e | |||
4c52e1c5b9 | |||
fae1f29f97 | |||
c39cb9b7a4 | |||
0fcc958ad5 | |||
683d5e4789 | |||
ebc588b32e | |||
d8d598f888 | |||
e94a4c9e7e | |||
c0f48be9e8 | |||
7ed60ad219 | |||
1ffd234d99 | |||
6b0a8048cf | |||
b4f183cfdf | |||
3308c8d735 | |||
d9469207c0 | |||
95ca40885a | |||
be7958e788 | |||
a82586a89c | |||
bea3e82947 | |||
0f0203dc88 | |||
d136009bd3 | |||
8443e012b6 | |||
8d85ed9f3b | |||
1b94990e34 | |||
10c9eb0fc7 | |||
2d20de5a4d |
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,8 +1,8 @@
|
||||
**/.DS_Store
|
||||
**/.netrwhist
|
||||
**/.zsh_history
|
||||
**/.zsh_sessions
|
||||
**/__pycache__
|
||||
**/lazy-lock.json
|
||||
**/zed/*
|
||||
!**/zed/keymap.json
|
||||
!**/zed/settings.json
|
||||
**/zsh/functions
|
||||
|
39
_saved/neovim/nvchad/init.lua
Normal file
39
_saved/neovim/nvchad/init.lua
Normal file
@ -0,0 +1,39 @@
|
||||
vim.g.base46_cache = vim.fn.stdpath "data" .. "/nvchad/base46/"
|
||||
vim.g.mapleader = " "
|
||||
|
||||
-- bootstrap lazy and all plugins
|
||||
local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
|
||||
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
local repo = "https://github.com/folke/lazy.nvim.git"
|
||||
vim.fn.system { "git", "clone", "--filter=blob:none", repo, "--branch=stable", lazypath }
|
||||
end
|
||||
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
local lazy_config = require "configs.lazy"
|
||||
|
||||
-- load plugins
|
||||
require("lazy").setup({
|
||||
{
|
||||
"NvChad/NvChad",
|
||||
lazy = false,
|
||||
branch = "v2.5",
|
||||
import = "nvchad.plugins",
|
||||
config = function()
|
||||
require "options"
|
||||
end,
|
||||
},
|
||||
|
||||
{ import = "plugins" },
|
||||
}, lazy_config)
|
||||
|
||||
-- load theme
|
||||
dofile(vim.g.base46_cache .. "defaults")
|
||||
dofile(vim.g.base46_cache .. "statusline")
|
||||
|
||||
require "nvchad.autocmds"
|
||||
|
||||
vim.schedule(function()
|
||||
require "mappings"
|
||||
end)
|
30
_saved/neovim/nvchad/lua/chadrc.lua
Normal file
30
_saved/neovim/nvchad/lua/chadrc.lua
Normal file
@ -0,0 +1,30 @@
|
||||
-- This file needs to have same structure as nvconfig.lua
|
||||
-- https://github.com/NvChad/NvChad/blob/v2.5/lua/nvconfig.lua
|
||||
|
||||
local M = {}
|
||||
|
||||
M.base46 = {
|
||||
hl_override = {
|
||||
ColorColumn = { bg = "#770000" },
|
||||
Comment = { italic = true },
|
||||
DiffChange = { bg = "NONE", fg = "#e7c547" },
|
||||
DiffText = { bg = "NONE", fg = "#ff8700" },
|
||||
SpellBad = { bg = "#770000", fg = "#ffffff" },
|
||||
Visual = { bg = "#0094d8", fg = "#ffffff" },
|
||||
},
|
||||
theme = "monekai",
|
||||
transparency = true,
|
||||
}
|
||||
|
||||
M.ui = {
|
||||
statusline = {
|
||||
theme = "vscode_colored",
|
||||
},
|
||||
}
|
||||
|
||||
M.mason = {
|
||||
cmd = true,
|
||||
pkgs = { "lua-language-server", "terraform-ls", "tflint" },
|
||||
}
|
||||
|
||||
return M
|
57
_saved/neovim/nvchad/lua/mappings.lua
Normal file
57
_saved/neovim/nvchad/lua/mappings.lua
Normal file
@ -0,0 +1,57 @@
|
||||
require "nvchad.mappings"
|
||||
|
||||
-- add yours here
|
||||
|
||||
local map = vim.keymap.set
|
||||
local nomap = vim.keymap.del
|
||||
|
||||
nomap("n", "<leader>b")
|
||||
nomap("n", "<leader>ch")
|
||||
nomap("n", "<leader>cm")
|
||||
nomap("n", "<leader>ds")
|
||||
nomap("n", "<leader>fh")
|
||||
nomap("n", "<leader>fm")
|
||||
nomap("n", "<leader>gt")
|
||||
nomap("n", "<leader>ma")
|
||||
nomap("n", "<leader>pt")
|
||||
nomap("n", "<leader>rn")
|
||||
nomap("n", "<leader>th")
|
||||
nomap("n", "<leader>v")
|
||||
nomap("n", "<leader>wK")
|
||||
nomap("n", "<leader>wk")
|
||||
nomap("n", "<leader>x")
|
||||
nomap("n", "<leader>fo")
|
||||
nomap("n", "<leader>fz")
|
||||
|
||||
map("i", "<C-a>", "<esc>I")
|
||||
map("i", "<C-e>", "<esc>A")
|
||||
|
||||
map("n", "<esc><CR>", "<esc><cmd>wq!<CR>", { desc = "save and exit" })
|
||||
map("n", "<leader>b", "", { desc = "buffer operations" })
|
||||
map("n", "<leader>bn", "<cmd>enew<CR>", { desc = "new" })
|
||||
map("n", "<leader>bj", "<cmd>bprevious<CR>", { desc = "previous" })
|
||||
map("n", "<leader>bk", "<cmd>bnext<CR>", { desc = "next" })
|
||||
map("n", "<leader>bx", "<cmd>bd<CR>", { desc = "close" })
|
||||
map("n", "<leader>e", "<cmd>NvimTreeFocus<CR>", { desc = "file tree" })
|
||||
map("n", "<leader>f", "", { desc = "find operations" })
|
||||
map("n", "<leader>fa", "<cmd>Telescope find_files follow=true no_ignore=true hidden=true<CR>", { desc = "all files" })
|
||||
map("n", "<leader>fb", "<cmd>Telescope buffers<CR>", { desc = "buffers" })
|
||||
map("n", "<leader>ff", "<cmd>Telescope find_files<CR>", { desc = "files" })
|
||||
map("n", "<leader>fw", "<cmd>Telescope live_grep<CR>", { desc = "grep" })
|
||||
map("n", "<leader>h", "<cmd>set hlsearch!<CR>", { desc = "Toggle hlsearch" })
|
||||
map(
|
||||
"n",
|
||||
"<leader>m",
|
||||
'<cmd>execute "set colorcolumn=" . (&colorcolumn == "" ? "80,120" : "")<CR>',
|
||||
{ desc = "Toggle Column" }
|
||||
)
|
||||
map(
|
||||
"n",
|
||||
"<leader>n",
|
||||
'<cmd>set number!<CR><cmd>IBLToggle<CR><cmd>execute "set signcolumn=" . (&signcolumn == "yes" ? "no" : "yes")<CR>',
|
||||
{ desc = "Toggle Decorations" }
|
||||
)
|
||||
map("n", "<leader>t", function()
|
||||
require("nvchad.themes").open()
|
||||
end, { desc = "Change Theme" })
|
||||
map("n", "<tab>", "<C-w>w", { desc = "switch pane" })
|
71
_saved/neovim/nvchad/lua/plugins/init.lua
Normal file
71
_saved/neovim/nvchad/lua/plugins/init.lua
Normal file
@ -0,0 +1,71 @@
|
||||
return {
|
||||
{
|
||||
"nvim-lua/plenary.nvim",
|
||||
{
|
||||
"nvchad/ui",
|
||||
config = function()
|
||||
require "nvchad"
|
||||
end
|
||||
},
|
||||
{
|
||||
"nvchad/base46",
|
||||
lazy = true,
|
||||
build = function()
|
||||
require("base46").load_all_highlights()
|
||||
end,
|
||||
},
|
||||
"nvchad/volt",
|
||||
},
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
-- event = 'BufWritePre', -- uncomment for format on save
|
||||
config = function()
|
||||
require "configs.conform"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
"lua",
|
||||
"markdown",
|
||||
"markdown_inline",
|
||||
"python",
|
||||
"terraform",
|
||||
"vim",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
config = function()
|
||||
require "configs.lspconfig"
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
-- These are some examples, uncomment them if you want to see them work!
|
||||
|
||||
-- Install a plugin
|
||||
-- {
|
||||
-- "max397574/better-escape.nvim",
|
||||
-- event = "InsertEnter",
|
||||
-- config = function()
|
||||
-- require("better_escape").setup()
|
||||
-- end
|
||||
-- },
|
||||
|
||||
-- To make a plugin not be loaded
|
||||
-- {
|
||||
-- "NvChad/nvim-colorizer.lua",
|
||||
-- enabled = false
|
||||
-- },
|
||||
|
||||
-- All NvChad plugins are lazy-loaded by default
|
||||
-- For a plugin to be loaded, you will need to set either `ft`, `cmd`, `keys`, `event`, or set `lazy = false`
|
||||
-- If you want a plugin to load on startup, add `lazy = false` to a plugin spec, for example
|
||||
-- {
|
||||
-- "mg979/vim-visual-multi",
|
||||
-- lazy = false,
|
||||
-- }
|
87
config/atuin/config.toml
Normal file
87
config/atuin/config.toml
Normal file
@ -0,0 +1,87 @@
|
||||
## which filter mode to use
|
||||
## possible values: global, host, session, directory
|
||||
filter_mode = "host"
|
||||
|
||||
## which style to use
|
||||
## possible values: auto, full, compact
|
||||
style = "compact"
|
||||
|
||||
## the maximum number of lines the interface should take up
|
||||
## set it to 0 to always go full screen
|
||||
inline_height = 30
|
||||
|
||||
## Invert the UI - put the search bar at the top , Default to `false`
|
||||
invert = true
|
||||
|
||||
## Configure whether or not to show the help row, which includes the current Atuin
|
||||
## version (and whether an update is available), a keymap hint, and the total
|
||||
## amount of commands in your history.
|
||||
show_help = true
|
||||
|
||||
## Configure whether or not to show tabs for search and inspect
|
||||
show_tabs = false
|
||||
|
||||
## Defaults to true. If enabled, upon hitting enter Atuin will immediately execute the command. Press tab to return to the shell and edit.
|
||||
# This applies for new installs. Old installs will keep the old behaviour unless configured otherwise.
|
||||
enter_accept = false
|
||||
|
||||
[stats]
|
||||
## Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl
|
||||
common_subcommands = [
|
||||
# "apt",
|
||||
# "cargo",
|
||||
# "composer",
|
||||
# "dnf",
|
||||
"docker",
|
||||
"git",
|
||||
# "go",
|
||||
# "ip",
|
||||
"kubectl",
|
||||
# "nix",
|
||||
# "nmcli",
|
||||
# "npm",
|
||||
# "pecl",
|
||||
# "pnpm",
|
||||
# "podman",
|
||||
# "port",
|
||||
# "systemctl",
|
||||
"terraform",
|
||||
"tmux",
|
||||
# "yarn",
|
||||
]
|
||||
|
||||
## Set commands that should be totally stripped and ignored from stats
|
||||
common_prefix = ["sudo", "doas"]
|
||||
|
||||
## Set commands that will be completely ignored from stats
|
||||
ignored_commands = [
|
||||
"cd",
|
||||
"ls",
|
||||
"vim"
|
||||
]
|
||||
|
||||
[sync]
|
||||
# Enable sync v2 by default
|
||||
# This ensures that sync v2 is enabled for new installs only
|
||||
# In a later release it will become the default across the board
|
||||
records = true
|
||||
|
||||
[daemon]
|
||||
## Enables using the daemon to sync. Requires the daemon to be running in the background. Start it with `atuin daemon`
|
||||
# enabled = false
|
||||
|
||||
## How often the daemon should sync in seconds
|
||||
# sync_frequency = 300
|
||||
|
||||
## The path to the unix socket used by the daemon (on unix systems)
|
||||
## linux/mac: ~/.local/share/atuin/atuin.sock
|
||||
## windows: Not Supported
|
||||
# socket_path = "~/.local/share/atuin/atuin.sock"
|
||||
|
||||
## Use systemd socket activation rather than opening the given path (the path must still be correct for the client)
|
||||
## linux: false
|
||||
## mac/windows: Not Supported
|
||||
# systemd_socket = false
|
||||
|
||||
## The port that should be used for TCP on non unix systems
|
||||
# tcp_port = 8889
|
232
config/atuin/default.toml
Normal file
232
config/atuin/default.toml
Normal file
@ -0,0 +1,232 @@
|
||||
## where to store your database, default is your system data directory
|
||||
## linux/mac: ~/.local/share/atuin/history.db
|
||||
## windows: %USERPROFILE%/.local/share/atuin/history.db
|
||||
# db_path = "~/.history.db"
|
||||
|
||||
## where to store your encryption key, default is your system data directory
|
||||
## linux/mac: ~/.local/share/atuin/key
|
||||
## windows: %USERPROFILE%/.local/share/atuin/key
|
||||
# key_path = "~/.key"
|
||||
|
||||
## where to store your auth session token, default is your system data directory
|
||||
## linux/mac: ~/.local/share/atuin/session
|
||||
## windows: %USERPROFILE%/.local/share/atuin/session
|
||||
# session_path = "~/.session"
|
||||
|
||||
## date format used, either "us" or "uk"
|
||||
# dialect = "us"
|
||||
|
||||
## default timezone to use when displaying time
|
||||
## either "l", "local" to use the system's current local timezone, or an offset
|
||||
## from UTC in the format of "<+|->H[H][:M[M][:S[S]]]"
|
||||
## for example: "+9", "-05", "+03:30", "-01:23:45", etc.
|
||||
# timezone = "local"
|
||||
|
||||
## enable or disable automatic sync
|
||||
# auto_sync = true
|
||||
|
||||
## enable or disable automatic update checks
|
||||
# update_check = true
|
||||
|
||||
## address of the sync server
|
||||
# sync_address = "https://api.atuin.sh"
|
||||
|
||||
## how often to sync history. note that this is only triggered when a command
|
||||
## is ran, so sync intervals may well be longer
|
||||
## set it to 0 to sync after every command
|
||||
# sync_frequency = "10m"
|
||||
|
||||
## which search mode to use
|
||||
## possible values: prefix, fulltext, fuzzy, skim
|
||||
# search_mode = "fuzzy"
|
||||
|
||||
## which filter mode to use
|
||||
## possible values: global, host, session, directory
|
||||
filter_mode = "host"
|
||||
|
||||
## With workspace filtering enabled, Atuin will filter for commands executed
|
||||
## in any directory within a git repository tree (default: false)
|
||||
# workspaces = false
|
||||
|
||||
## which filter mode to use when atuin is invoked from a shell up-key binding
|
||||
## the accepted values are identical to those of "filter_mode"
|
||||
## leave unspecified to use same mode set in "filter_mode"
|
||||
# filter_mode_shell_up_key_binding = "global"
|
||||
|
||||
## which search mode to use when atuin is invoked from a shell up-key binding
|
||||
## the accepted values are identical to those of "search_mode"
|
||||
## leave unspecified to use same mode set in "search_mode"
|
||||
# search_mode_shell_up_key_binding = "fuzzy"
|
||||
|
||||
## which style to use
|
||||
## possible values: auto, full, compact
|
||||
# style = "auto"
|
||||
|
||||
## the maximum number of lines the interface should take up
|
||||
## set it to 0 to always go full screen
|
||||
# inline_height = 0
|
||||
|
||||
## Invert the UI - put the search bar at the top , Default to `false`
|
||||
invert = true
|
||||
|
||||
## enable or disable showing a preview of the selected command
|
||||
## useful when the command is longer than the terminal width and is cut off
|
||||
# show_preview = true
|
||||
|
||||
## what to do when the escape key is pressed when searching
|
||||
## possible values: return-original, return-query
|
||||
# exit_mode = "return-original"
|
||||
|
||||
## possible values: emacs, subl
|
||||
# word_jump_mode = "emacs"
|
||||
|
||||
## characters that count as a part of a word
|
||||
# word_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
|
||||
|
||||
## number of context lines to show when scrolling by pages
|
||||
# scroll_context_lines = 1
|
||||
|
||||
## use ctrl instead of alt as the shortcut modifier key for numerical UI shortcuts
|
||||
## alt-0 .. alt-9
|
||||
# ctrl_n_shortcuts = false
|
||||
|
||||
## default history list format - can also be specified with the --format arg
|
||||
# history_format = "{time}\t{command}\t{duration}"
|
||||
|
||||
## prevent commands matching any of these regexes from being written to history.
|
||||
## Note that these regular expressions are unanchored, i.e. if they don't start
|
||||
## with ^ or end with $, they'll match anywhere in the command.
|
||||
## For details on the supported regular expression syntax, see
|
||||
## https://docs.rs/regex/latest/regex/#syntax
|
||||
# history_filter = [
|
||||
# "^secret-cmd",
|
||||
# "^innocuous-cmd .*--secret=.+",
|
||||
# ]
|
||||
|
||||
## prevent commands run with cwd matching any of these regexes from being written
|
||||
## to history. Note that these regular expressions are unanchored, i.e. if they don't
|
||||
## start with ^ or end with $, they'll match anywhere in CWD.
|
||||
## For details on the supported regular expression syntax, see
|
||||
## https://docs.rs/regex/latest/regex/#syntax
|
||||
# cwd_filter = [
|
||||
# "^/very/secret/area",
|
||||
# ]
|
||||
|
||||
## Configure the maximum height of the preview to show.
|
||||
## Useful when you have long scripts in your history that you want to distinguish
|
||||
## by more than the first few lines.
|
||||
# max_preview_height = 4
|
||||
|
||||
## Configure whether or not to show the help row, which includes the current Atuin
|
||||
## version (and whether an update is available), a keymap hint, and the total
|
||||
## amount of commands in your history.
|
||||
# show_help = true
|
||||
|
||||
## Configure whether or not to show tabs for search and inspect
|
||||
# show_tabs = true
|
||||
|
||||
## Defaults to true. This matches history against a set of default regex, and will not save it if we get a match. Defaults include
|
||||
## 1. AWS key id
|
||||
## 2. Github pat (old and new)
|
||||
## 3. Slack oauth tokens (bot, user)
|
||||
## 4. Slack webhooks
|
||||
## 5. Stripe live/test keys
|
||||
# secrets_filter = true
|
||||
|
||||
## Defaults to true. If enabled, upon hitting enter Atuin will immediately execute the command. Press tab to return to the shell and edit.
|
||||
# This applies for new installs. Old installs will keep the old behaviour unless configured otherwise.
|
||||
enter_accept = true
|
||||
|
||||
## Defaults to "emacs". This specifies the keymap on the startup of `atuin
|
||||
## search`. If this is set to "auto", the startup keymap mode in the Atuin
|
||||
## search is automatically selected based on the shell's keymap where the
|
||||
## keybinding is defined. If this is set to "emacs", "vim-insert", or
|
||||
## "vim-normal", the startup keymap mode in the Atuin search is forced to be
|
||||
## the specified one.
|
||||
# keymap_mode = "auto"
|
||||
|
||||
## Cursor style in each keymap mode. If specified, the cursor style is changed
|
||||
## in entering the cursor shape. Available values are "default" and
|
||||
## "{blink,steady}-{block,underline,bar}".
|
||||
# keymap_cursor = { emacs = "blink-block", vim_insert = "blink-block", vim_normal = "steady-block" }
|
||||
|
||||
# network_connect_timeout = 5
|
||||
# network_timeout = 5
|
||||
|
||||
## Timeout (in seconds) for acquiring a local database connection (sqlite)
|
||||
# local_timeout = 5
|
||||
|
||||
## Set this to true and Atuin will minimize motion in the UI - timers will not update live, etc.
|
||||
## Alternatively, set env NO_MOTION=true
|
||||
# prefers_reduced_motion = false
|
||||
|
||||
[stats]
|
||||
## Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl
|
||||
# common_subcommands = [
|
||||
# "apt",
|
||||
# "cargo",
|
||||
# "composer",
|
||||
# "dnf",
|
||||
# "docker",
|
||||
# "git",
|
||||
# "go",
|
||||
# "ip",
|
||||
# "kubectl",
|
||||
# "nix",
|
||||
# "nmcli",
|
||||
# "npm",
|
||||
# "pecl",
|
||||
# "pnpm",
|
||||
# "podman",
|
||||
# "port",
|
||||
# "systemctl",
|
||||
# "tmux",
|
||||
# "yarn",
|
||||
# ]
|
||||
|
||||
## Set commands that should be totally stripped and ignored from stats
|
||||
# common_prefix = ["sudo"]
|
||||
|
||||
## Set commands that will be completely ignored from stats
|
||||
# ignored_commands = [
|
||||
# "cd",
|
||||
# "ls",
|
||||
# "vi"
|
||||
# ]
|
||||
|
||||
[keys]
|
||||
# Defaults to true. If disabled, using the up/down key won't exit the TUI when scrolled past the first/last entry.
|
||||
# scroll_exits = false
|
||||
|
||||
[sync]
|
||||
# Enable sync v2 by default
|
||||
# This ensures that sync v2 is enabled for new installs only
|
||||
# In a later release it will become the default across the board
|
||||
records = true
|
||||
|
||||
[preview]
|
||||
## which preview strategy to use to calculate the preview height (respects max_preview_height).
|
||||
## possible values: auto, static
|
||||
## auto: length of the selected command.
|
||||
## static: length of the longest command stored in the history.
|
||||
# strategy = "auto"
|
||||
|
||||
[daemon]
|
||||
## Enables using the daemon to sync. Requires the daemon to be running in the background. Start it with `atuin daemon`
|
||||
# enabled = false
|
||||
|
||||
## How often the daemon should sync in seconds
|
||||
# sync_frequency = 300
|
||||
|
||||
## The path to the unix socket used by the daemon (on unix systems)
|
||||
## linux/mac: ~/.local/share/atuin/atuin.sock
|
||||
## windows: Not Supported
|
||||
# socket_path = "~/.local/share/atuin/atuin.sock"
|
||||
|
||||
## Use systemd socket activation rather than opening the given path (the path must still be correct for the client)
|
||||
## linux: false
|
||||
## mac/windows: Not Supported
|
||||
# systemd_socket = false
|
||||
|
||||
## The port that should be used for TCP on non unix systems
|
||||
# tcp_port = 8889
|
@ -1,6 +1,3 @@
|
||||
[include]
|
||||
path = ~/.local/config/git
|
||||
|
||||
[alias]
|
||||
l = "!git log --graph --abbrev-commit --date=short --pretty=format:'%Cred%h%Creset %Cgreen%cr%Creset: %s : %C(bold blue)%an%Creset %C(yellow)%d%Creset'"
|
||||
[color]
|
||||
@ -26,3 +23,6 @@
|
||||
default = current
|
||||
[status]
|
||||
short = true
|
||||
|
||||
[include]
|
||||
path = ~/.local/config/git
|
||||
|
@ -1,23 +0,0 @@
|
||||
gui:
|
||||
language: 'auto' # one of 'auto' | 'en' | 'zh-CN' | 'zh-TW' | 'pl' | 'nl' | 'ja' | 'ko' | 'ru'
|
||||
timeFormat: '2006-01-02' # https://pkg.go.dev/time#Time.Format
|
||||
shortTimeFormat: '3:04PM'
|
||||
theme:
|
||||
selectedLineBgColor:
|
||||
- reverse
|
||||
commitLength:
|
||||
show: true
|
||||
mouseEvents: false
|
||||
showFileTree: false # for rendering changes files in a tree format
|
||||
showListFooter: true # for seeing the '5 of 20' message in list panels
|
||||
showRandomTip: false
|
||||
showCommandLog: false
|
||||
nerdFontsVersion: "3" # nerd fonts version to use ("2" or "3"); empty means don't show nerd font icons
|
||||
git:
|
||||
commit:
|
||||
signOff: true
|
||||
mainBranches: [master]
|
||||
autoFetch: false
|
||||
autoRefresh: false
|
||||
disableStartupPopups: true
|
||||
notARepository: 'skip' # one of: 'prompt' | 'create' | 'skip' | 'quit'
|
8
config/nvim/.gitignore
vendored
Normal file
8
config/nvim/.gitignore
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
tt.*
|
||||
.tests
|
||||
doc/tags
|
||||
debug
|
||||
.repro
|
||||
foo.*
|
||||
*.log
|
||||
data
|
15
config/nvim/.neoconf.json
Normal file
15
config/nvim/.neoconf.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"neodev": {
|
||||
"library": {
|
||||
"enabled": true,
|
||||
"plugins": true
|
||||
}
|
||||
},
|
||||
"neoconf": {
|
||||
"plugins": {
|
||||
"lua_ls": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
201
config/nvim/LICENSE
Normal file
201
config/nvim/LICENSE
Normal file
@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
4
config/nvim/README.md
Normal file
4
config/nvim/README.md
Normal file
@ -0,0 +1,4 @@
|
||||
# 💤 LazyVim
|
||||
|
||||
A starter template for [LazyVim](https://github.com/LazyVim/LazyVim).
|
||||
Refer to the [documentation](https://lazyvim.github.io/installation) to get started.
|
@ -1,39 +1,2 @@
|
||||
vim.g.base46_cache = vim.fn.stdpath "data" .. "/nvchad/base46/"
|
||||
vim.g.mapleader = " "
|
||||
|
||||
-- bootstrap lazy and all plugins
|
||||
local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
|
||||
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
local repo = "https://github.com/folke/lazy.nvim.git"
|
||||
vim.fn.system { "git", "clone", "--filter=blob:none", repo, "--branch=stable", lazypath }
|
||||
end
|
||||
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
local lazy_config = require "configs.lazy"
|
||||
|
||||
-- load plugins
|
||||
require("lazy").setup({
|
||||
{
|
||||
"NvChad/NvChad",
|
||||
lazy = false,
|
||||
branch = "v2.5",
|
||||
import = "nvchad.plugins",
|
||||
config = function()
|
||||
require "options"
|
||||
end,
|
||||
},
|
||||
|
||||
{ import = "plugins" },
|
||||
}, lazy_config)
|
||||
|
||||
-- load theme
|
||||
dofile(vim.g.base46_cache .. "defaults")
|
||||
dofile(vim.g.base46_cache .. "statusline")
|
||||
|
||||
require "nvchad.autocmds"
|
||||
|
||||
vim.schedule(function()
|
||||
require "mappings"
|
||||
end)
|
||||
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||
require("config.lazy")
|
||||
|
10
config/nvim/lazyvim.json
Normal file
10
config/nvim/lazyvim.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"extras": [
|
||||
|
||||
],
|
||||
"install_version": 7,
|
||||
"news": {
|
||||
"NEWS.md": "10960"
|
||||
},
|
||||
"version": 8
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
-- This file needs to have same structure as nvconfig.lua
|
||||
-- https://github.com/NvChad/NvChad/blob/v2.5/lua/nvconfig.lua
|
||||
|
||||
---@type ChadrcConfig
|
||||
local M = {}
|
||||
|
||||
M.base46 = {
|
||||
hl_override = {
|
||||
ColorColumn = { bg = "#770000" },
|
||||
Comment = { italic = true, },
|
||||
DiffChange = { bg = "NONE", fg = "#e7c547" },
|
||||
DiffText = { bg = "NONE", fg = "#ff8700" },
|
||||
SpellBad = { bg = "#770000", fg = "#ffffff" },
|
||||
Visual = { bg = "#0094d8", fg = "#ffffff" },
|
||||
},
|
||||
theme = "monekai",
|
||||
transparency = false
|
||||
}
|
||||
|
||||
M.ui = {
|
||||
statusline = {
|
||||
theme = "vscode_colored",
|
||||
}
|
||||
}
|
||||
|
||||
M.mason = {
|
||||
cmd = true,
|
||||
pkgs = { "lua-language-server", "terraform-ls", "tflint" }
|
||||
}
|
||||
|
||||
return M
|
25
config/nvim/lua/config/autocmds.lua
Normal file
25
config/nvim/lua/config/autocmds.lua
Normal file
@ -0,0 +1,25 @@
|
||||
-- Autocmds are automatically loaded on the VeryLazy event
|
||||
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
|
||||
--
|
||||
-- Add any additional autocmds here
|
||||
-- with `vim.api.nvim_create_autocmd`
|
||||
--
|
||||
-- Or remove existing autocmds by their group name (which is prefixed with `lazyvim_` for the defaults)
|
||||
-- e.g. vim.api.nvim_del_augroup_by_name("lazyvim_wrap_spell")
|
||||
|
||||
vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
|
||||
pattern = { "*.gotmpl" },
|
||||
callback = function()
|
||||
vim.cmd("set filetype=yaml")
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd({ "BufReadPre" }, {
|
||||
callback = function()
|
||||
vim.api.nvim_set_hl(0, "ColorColumn", { bg = "#770000" })
|
||||
vim.api.nvim_set_hl(0, "DiffChange", { bg = "NONE", fg = "#e7c547" })
|
||||
vim.api.nvim_set_hl(0, "DiffText", { bg = "NONE", fg = "#ff8700" })
|
||||
vim.api.nvim_set_hl(0, "SpellBad", { bg = "#770000", fg = "#ffffff" })
|
||||
vim.api.nvim_set_hl(0, "Visual", { bg = "#0094d8", fg = "#ffffff" })
|
||||
end,
|
||||
})
|
71
config/nvim/lua/config/keymaps.lua
Normal file
71
config/nvim/lua/config/keymaps.lua
Normal file
@ -0,0 +1,71 @@
|
||||
-- Keymaps are automatically loaded on the VeryLazy event
|
||||
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
|
||||
-- Add any additional keymaps here
|
||||
|
||||
local map = vim.keymap.set
|
||||
local nomap = vim.keymap.del
|
||||
|
||||
map("i", "<C-a>", "<esc>I")
|
||||
map("i", "<C-e>", "<esc>A")
|
||||
|
||||
map("n", "<esc><cr>", "<esc><cmd>wq!<cr>", { desc = "save and exit", remap = true })
|
||||
map("n", "<tab>", "<C-w>w", { desc = "switch pane", remap = true })
|
||||
map("n", "<leader>-", "<C-W>s", { desc = "split horizontally", remap = true })
|
||||
map("n", "<leader>|", "<C-W>v", { desc = "split vertically", remap = true })
|
||||
map("n", "<leader>/", "gcc", { desc = "toggle comments", remap = true })
|
||||
|
||||
map("n", "<leader>ff", LazyVim.pick("files", { root = false }), { desc = "find files (cwd", remap = true })
|
||||
map("n", "<leader>fF", LazyVim.pick("files"), { desc = "find files (root)", remap = true })
|
||||
map("n", "<leader>h", "<cmd>set hlsearch!<cr>", { desc = "toggle hlsearch", remap = true })
|
||||
map(
|
||||
"n",
|
||||
"<leader>m",
|
||||
'<cmd>execute "set colorcolumn=" . (&colorcolumn == "" ? "80,120" : "")<cr>',
|
||||
{ desc = "toggle column", remap = true }
|
||||
)
|
||||
-- <leader>n (toggle decorations) moved to configuration of snacks.nvim in plugins/init.lua
|
||||
map("v", "<leader>/", "gc", { desc = "toggle comments", remap = true })
|
||||
|
||||
nomap("n", "<leader><space>")
|
||||
nomap("n", "<leader>,")
|
||||
nomap("n", "<leader>.")
|
||||
nomap("n", "<leader>:")
|
||||
nomap("n", "<leader>?")
|
||||
nomap("n", "<leader>K")
|
||||
nomap("n", "<leader>l")
|
||||
nomap("n", "<leader>L")
|
||||
nomap("n", "<leader>S")
|
||||
nomap("n", "<leader>`")
|
||||
|
||||
nomap("n", "<leader>bD")
|
||||
nomap("n", "<leader>bP")
|
||||
nomap("n", "<leader>bb")
|
||||
nomap("n", "<leader>bd")
|
||||
nomap("n", "<leader>be")
|
||||
nomap("n", "<leader>bl")
|
||||
nomap("n", "<leader>bo")
|
||||
nomap("n", "<leader>bp")
|
||||
nomap("n", "<leader>br")
|
||||
|
||||
nomap("n", "<leader>fb")
|
||||
nomap("n", "<leader>fc")
|
||||
nomap("n", "<leader>fe")
|
||||
nomap("n", "<leader>fE")
|
||||
nomap("n", "<leader>fg")
|
||||
nomap("n", "<leader>fn")
|
||||
nomap("n", "<leader>fr")
|
||||
nomap("n", "<leader>fR")
|
||||
nomap("n", "<leader>ft")
|
||||
nomap("n", "<leader>fT")
|
||||
|
||||
nomap("n", "<leader>gb")
|
||||
nomap("n", "<leader>gB")
|
||||
nomap("n", "<leader>gc")
|
||||
nomap("n", "<leader>ge")
|
||||
nomap("n", "<leader>gs")
|
||||
nomap("n", "<leader>gY")
|
||||
|
||||
nomap("n", "<leader>qq")
|
||||
|
||||
nomap("n", "<leader>xl")
|
||||
nomap("n", "<leader>xq")
|
52
config/nvim/lua/config/lazy.lua
Normal file
52
config/nvim/lua/config/lazy.lua
Normal file
@ -0,0 +1,52 @@
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
||||
if vim.v.shell_error ~= 0 then
|
||||
vim.api.nvim_echo({
|
||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||
{ out, "WarningMsg" },
|
||||
{ "\nPress any key to exit..." },
|
||||
}, true, {})
|
||||
vim.fn.getchar()
|
||||
os.exit(1)
|
||||
end
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
-- add LazyVim and import its plugins
|
||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||
-- import/override with your plugins
|
||||
{ import = "plugins" },
|
||||
},
|
||||
defaults = {
|
||||
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
||||
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
|
||||
lazy = false,
|
||||
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
|
||||
-- have outdated releases, which may break your Neovim install.
|
||||
version = false, -- always use the latest git commit
|
||||
-- version = "*", -- try installing the latest stable version for plugins that support semver
|
||||
},
|
||||
checker = {
|
||||
enabled = true, -- check for plugin updates periodically
|
||||
notify = false, -- notify on update
|
||||
}, -- automatically check for plugin updates
|
||||
performance = {
|
||||
rtp = {
|
||||
-- disable some rtp plugins
|
||||
disabled_plugins = {
|
||||
"gzip",
|
||||
-- "matchit",
|
||||
-- "matchparen",
|
||||
-- "netrwPlugin",
|
||||
"tarPlugin",
|
||||
"tohtml",
|
||||
"tutor",
|
||||
"zipPlugin",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
20
config/nvim/lua/config/options.lua
Normal file
20
config/nvim/lua/config/options.lua
Normal file
@ -0,0 +1,20 @@
|
||||
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
|
||||
local o = vim.o
|
||||
o.expandtab = true
|
||||
o.gdefault = true
|
||||
o.hlsearch = false
|
||||
o.inccommand = "split"
|
||||
o.relativenumber = false
|
||||
o.shiftround = true
|
||||
o.termguicolors = true
|
||||
o.wrap = true
|
||||
o.writebackup = false
|
||||
|
||||
o.clipboard = ""
|
||||
o.foldcolumn = "0"
|
||||
o.mouse = ""
|
||||
o.shiftwidth = 2
|
||||
o.softtabstop = 2
|
||||
o.statuscolumn = ""
|
||||
o.tabstop = 2
|
||||
o.whichwrap = ""
|
@ -1,20 +0,0 @@
|
||||
require "nvchad.mappings"
|
||||
|
||||
-- add yours here
|
||||
|
||||
local map = vim.keymap.set
|
||||
|
||||
map("i", "jk", "<ESC>")
|
||||
map("i", "<C-a>", "<esc>I" )
|
||||
map("i", "<C-e>", "<esc>A" )
|
||||
|
||||
map("n", ";", ":", { desc = "CMD enter command mode" })
|
||||
map("n", "<esc><cr>", "<esc><cmd>wq!<cr>", { desc = "Save and Exit" })
|
||||
map("n", "<leader>m", '<cmd>execute "set colorcolumn=" . (&colorcolumn == "" ? "80,120" : "")<cr>', { desc = "Toggle Column" })
|
||||
map("n", "<leader>h", "<cmd>set hlsearch!<cr>", { desc = "Toggle hlsearch" })
|
||||
map("n", "<leader>j", "<cmd>bprevious<cr>", { desc = "Buffer Previous" })
|
||||
map("n", "<leader>k", "<cmd>bnext<cr>", { desc = "Buffer Next" })
|
||||
map("n", "<leader>n", '<cmd>set number!<cr><cmd>IBLToggle<cr><cmd>execute "set signcolumn=" . (&signcolumn == "yes" ? "no" : "yes")<cr>', { desc = "Toggle Decorations" })
|
||||
map("n", "<leader>w", "<cmd>lua require('whitespace-nvim').trim()<cr>", { desc = "Trim Trailing Whitespaces" })
|
||||
map("n", "<leader>x", "<cmd>bd<cr>", { desc = "Buffer Close" })
|
||||
map("n", "<tab>", "<C-w>w", { desc = "Switch buffer" })
|
@ -1,71 +1,139 @@
|
||||
return {
|
||||
{ "MagickDuck/grug-far.nvim", enabled = false },
|
||||
{ "catppuccin/nvim", enabled = false },
|
||||
{ "folke/persistence.nvim", enabled = false },
|
||||
{ "folke/todo-comments.nvim", enabled = false },
|
||||
{ "folke/tokyonight.nvim", enabled = false },
|
||||
{ "folke/trouble.nvim", enabled = false },
|
||||
{ "windwp/nvim-ts-autotag", enabled = false },
|
||||
|
||||
{
|
||||
"nvim-lua/plenary.nvim",
|
||||
{
|
||||
"nvchad/ui",
|
||||
config = function()
|
||||
require "nvchad"
|
||||
end
|
||||
"folke/snacks.nvim",
|
||||
opts = {
|
||||
dashboard = { enabled = false },
|
||||
},
|
||||
{
|
||||
"nvchad/base46",
|
||||
lazy = true,
|
||||
build = function()
|
||||
require("base46").load_all_highlights()
|
||||
end,
|
||||
keys = {
|
||||
{
|
||||
"<leader>n",
|
||||
function()
|
||||
vim.cmd("set number!")
|
||||
vim.cmd('execute "set signcolumn=" . (&signcolumn == "yes" ? "no" : "yes")')
|
||||
if Snacks.indent.enabled then
|
||||
Snacks.indent.disable()
|
||||
else
|
||||
Snacks.indent.enable()
|
||||
end
|
||||
end,
|
||||
desc = "toggle decorations",
|
||||
},
|
||||
},
|
||||
"nvchad/volt",
|
||||
},
|
||||
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
-- event = 'BufWritePre', -- uncomment for format on save
|
||||
config = function()
|
||||
require "configs.conform"
|
||||
end,
|
||||
"loctvl842/monokai-pro.nvim",
|
||||
opts = {
|
||||
filter = "classic",
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "monokai-pro",
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
opts = {
|
||||
options = {
|
||||
theme = "powerline",
|
||||
section_separators = "",
|
||||
component_separators = "",
|
||||
},
|
||||
sections = {
|
||||
lualine_c = {
|
||||
{
|
||||
"diagnostics",
|
||||
symbols = {
|
||||
error = LazyVim.config.icons.diagnostics.Error,
|
||||
warn = LazyVim.config.icons.diagnostics.Warn,
|
||||
info = LazyVim.config.icons.diagnostics.Info,
|
||||
hint = LazyVim.config.icons.diagnostics.Hint,
|
||||
},
|
||||
},
|
||||
{ "filetype", icon_only = true, separator = "", padding = { left = 1, right = 0 } },
|
||||
{ "filename", file_status = true, path = 1 },
|
||||
},
|
||||
lualine_x = {
|
||||
{
|
||||
"diff",
|
||||
symbols = {
|
||||
added = LazyVim.config.icons.git.added,
|
||||
modified = LazyVim.config.icons.git.modified,
|
||||
removed = LazyVim.config.icons.git.removed,
|
||||
},
|
||||
},
|
||||
},
|
||||
lualine_z = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"nvim-neo-tree/neo-tree.nvim",
|
||||
keys = {
|
||||
{
|
||||
"<leader>e",
|
||||
function()
|
||||
require("neo-tree.command").execute({ toggle = true, dir = vim.uv.cwd() })
|
||||
end,
|
||||
desc = "explorer (cwd)",
|
||||
remap = true,
|
||||
},
|
||||
{
|
||||
"<leader>E",
|
||||
function()
|
||||
require("neo-tree.command").execute({ toggle = true, dir = LazyVim.root() })
|
||||
end,
|
||||
desc = "explorer (root)",
|
||||
remap = true,
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
filesystem = {
|
||||
filtered_items = {
|
||||
visible = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
opts = function(_, opts)
|
||||
opts.ensure_installed = {
|
||||
"bash",
|
||||
"diff",
|
||||
"json",
|
||||
"lua",
|
||||
"markdown",
|
||||
"markdown_inline",
|
||||
"python",
|
||||
"terraform",
|
||||
"vim",
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"lua-language-server",
|
||||
"terraform-ls",
|
||||
"tflint",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
config = function()
|
||||
require "configs.lspconfig"
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
-- These are some examples, uncomment them if you want to see them work!
|
||||
|
||||
-- Install a plugin
|
||||
-- {
|
||||
-- "max397574/better-escape.nvim",
|
||||
-- event = "InsertEnter",
|
||||
-- config = function()
|
||||
-- require("better_escape").setup()
|
||||
-- end
|
||||
-- },
|
||||
|
||||
-- To make a plugin not be loaded
|
||||
-- {
|
||||
-- "NvChad/nvim-colorizer.lua",
|
||||
-- enabled = false
|
||||
-- },
|
||||
|
||||
-- All NvChad plugins are lazy-loaded by default
|
||||
-- For a plugin to be loaded, you will need to set either `ft`, `cmd`, `keys`, `event`, or set `lazy = false`
|
||||
-- If you want a plugin to load on startup, add `lazy = false` to a plugin spec, for example
|
||||
-- {
|
||||
-- "mg979/vim-visual-multi",
|
||||
-- lazy = false,
|
||||
-- }
|
||||
|
3
config/nvim/stylua.toml
Normal file
3
config/nvim/stylua.toml
Normal file
@ -0,0 +1,3 @@
|
||||
indent_type = "Spaces"
|
||||
indent_width = 2
|
||||
column_width = 120
|
@ -1,6 +1,6 @@
|
||||
set -g set-titles on
|
||||
set -g default-terminal "xterm-256color"
|
||||
set -g terminal-overrides ",xterm-256color:Tc"
|
||||
set -g default-terminal "tmux-256color"
|
||||
set -ga terminal-overrides ",*:Tc:Se=\E[2 q"
|
||||
set -g renumber-windows on
|
||||
setw -g aggressive-resize on
|
||||
setw -g automatic-rename on
|
||||
|
@ -1,15 +0,0 @@
|
||||
// Zed keymap
|
||||
//
|
||||
// For information on binding keys, see the Zed
|
||||
// documentation: https://zed.dev/docs/key-bindings
|
||||
//
|
||||
// To see the default key bindings run `zed: open default keymap`
|
||||
// from the command palette.
|
||||
[
|
||||
{
|
||||
"context": "vim_mode == normal",
|
||||
"bindings": {
|
||||
"escape enter": ["pane::CloseActiveItem", { "saveIntent": "saveAll" }]
|
||||
}
|
||||
}
|
||||
]
|
@ -1,80 +0,0 @@
|
||||
{
|
||||
"assistant": {
|
||||
"default_model": {
|
||||
"provider": "copilot_chat",
|
||||
"model": "gpt-4o"
|
||||
},
|
||||
"enabled": false,
|
||||
"button": false,
|
||||
"version": "2"
|
||||
},
|
||||
"buffer_font_family": "RobotoMono Nerd Font",
|
||||
"buffer_font_size": 14,
|
||||
"buffer_font_weight": 500,
|
||||
"chat_panel": {
|
||||
"button": false
|
||||
},
|
||||
"collaboration_panel": {
|
||||
"button": false
|
||||
},
|
||||
"cursor_blink": false,
|
||||
"ensure_final_newline_on_save": true,
|
||||
"features": {
|
||||
"inline_completion_provider": "none"
|
||||
},
|
||||
"file_types": {
|
||||
"YAML": ["gotmpl"]
|
||||
},
|
||||
"format_on_save": "off",
|
||||
"git": {
|
||||
"inline_blame": {
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
"notification_panel": {
|
||||
"button": false
|
||||
},
|
||||
"outline_panel": {
|
||||
"button": false
|
||||
},
|
||||
"projects_online_by_default": false,
|
||||
"remove_trailing_whitespace_on_save": true,
|
||||
"show_call_status-icon": false,
|
||||
"soft_wrap": "editor_width",
|
||||
"tabs": {
|
||||
"file_icons": true,
|
||||
"git_status": true
|
||||
},
|
||||
"tab_bar": {
|
||||
"show_nav_history_buttons": false
|
||||
},
|
||||
"telemetry": {
|
||||
"diagnostics": false,
|
||||
"metrics": false
|
||||
},
|
||||
"terminal": {
|
||||
"blinking": "off",
|
||||
"button": false,
|
||||
"copy_on_select": true,
|
||||
"font_family": "RobotoMono Nerd Font",
|
||||
"font_size": 14,
|
||||
"toolbar": {
|
||||
"title": false
|
||||
},
|
||||
"working_directory": "first_project_directory"
|
||||
},
|
||||
"theme": {
|
||||
"dark": "Ayu Dark",
|
||||
"light": "Ayu Light",
|
||||
"mode": "system"
|
||||
},
|
||||
"toolbar": {
|
||||
"breadcrumbs": false,
|
||||
"quick_actions": false
|
||||
},
|
||||
"vim_mode": true,
|
||||
"vim":{
|
||||
"use_system_clipboard": "never"
|
||||
},
|
||||
"ui_font_size": 16,
|
||||
}
|
@ -6,11 +6,7 @@ export XDG_CONFIG_HOME="${HOME}/.config"
|
||||
export XDG_DATA_HOME="${HOME}/.local/share"
|
||||
export XDG_STATE_HOME="${HOME}/.local/state"
|
||||
export ZDOTDIR="${XDG_CONFIG_HOME}/zsh"
|
||||
export HISTFILE="${XDG_DATA_HOME}/zsh/history"
|
||||
export HISTSIZE=10000
|
||||
export SAVEHIST=$HISTSIZE
|
||||
|
||||
rm -rf "${ZDOTDIR}/.zsh_history" && ln -sf "${XDG_DATA_HOME}/zsh/history" "${ZDOTDIR}/.zsh_history"
|
||||
# clean home - needs to be here for Docker Desktop
|
||||
export DOCKER_CONFIG="${XDG_CONFIG_HOME}/docker"
|
||||
export GNUPGHOME="${XDG_DATA_HOME}/gnupg"
|
||||
|
@ -6,16 +6,24 @@ if [[ $(uname -s) = "Darwin" ]]; then
|
||||
fi
|
||||
|
||||
# prepare directories
|
||||
touch "${HOME}/.hushlogin"
|
||||
mkdir -p "${XDG_CACHE_HOME}/zsh"
|
||||
mkdir -p "${XDG_DATA_HOME}/zsh"
|
||||
|
||||
# global exports and options
|
||||
# history settings
|
||||
export HISTFILE="${XDG_DATA_HOME}/zsh/history"
|
||||
export HISTSIZE=10000
|
||||
export SAVEHIST=$HISTSIZE
|
||||
setopt EXTENDED_HISTORY
|
||||
setopt HIST_EXPIRE_DUPS_FIRST
|
||||
setopt HIST_FIND_NO_DUPS
|
||||
setopt HIST_IGNORE_ALL_DUPS
|
||||
setopt HIST_SAVE_NO_DUPS
|
||||
setopt HIST_IGNORE_DUPS
|
||||
setopt HIST_IGNORE_SPACE
|
||||
setopt HIST_REDUCE_BLANKS
|
||||
setopt SHARE_HISTORY
|
||||
setopt HIST_SAVE_NO_DUPS
|
||||
setopt INC_APPEND_HISTORY
|
||||
setopt SHARE_HISTORY
|
||||
rm -rf "${ZDOTDIR}/.zsh_history" && ln -sf "${XDG_DATA_HOME}/zsh/history" "${ZDOTDIR}/.zsh_history"
|
||||
|
||||
# set path
|
||||
path=(~/.local/bin "${path[@]}")
|
||||
@ -23,13 +31,9 @@ path=(~/.local/bin "${path[@]}")
|
||||
# source configuration
|
||||
source "${ZDOTDIR}/aliases.zsh"
|
||||
source "${ZDOTDIR}/keys.zsh"
|
||||
## it has to be last
|
||||
source "${ZDOTDIR}/fzf.zsh"
|
||||
|
||||
# source modules
|
||||
source "${HOME}/.local/git/zsh_modules/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh"
|
||||
source "${HOME}/.local/git/zsh_modules/wd/wd.plugin.zsh"
|
||||
export WD_CONFIG="${XDG_CONFIG_HOME}/wd_list"
|
||||
## it has to be last
|
||||
source "${ZDOTDIR}/atuin.zsh"
|
||||
|
||||
# set fpath
|
||||
fpath=(~/.local/git/zsh_modules/wd $fpath)
|
||||
@ -41,16 +45,13 @@ if [[ $(command -v vivid) ]]; then
|
||||
else
|
||||
unset LS_COLORS
|
||||
fi
|
||||
source "${ZDOTDIR}/p10k.zsh"
|
||||
source ~/.local/git/zsh_modules/powerlevel10k/powerlevel10k.zsh-theme
|
||||
source "${ZDOTDIR}/p10k.zsh"
|
||||
if [[ -r "${XDG_CACHE_HOME}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
|
||||
source "${XDG_CACHE_HOME}/p10k-instant-prompt-${(%):-%n}.zsh"
|
||||
fi
|
||||
|
||||
# completion
|
||||
zstyle ':completion:*' menu select
|
||||
zstyle ':completion:*' list-colors ''
|
||||
|
||||
autoload -Uz compinit
|
||||
if [ ! -e "${XDG_DATA_HOME}/zsh/zcompdump.zwc" ]; then
|
||||
autoload -Uz zrecompile
|
||||
@ -58,6 +59,19 @@ if [ ! -e "${XDG_DATA_HOME}/zsh/zcompdump.zwc" ]; then
|
||||
fi
|
||||
compinit -C -d "${XDG_DATA_HOME}/zsh/zcompdump"
|
||||
|
||||
zstyle ':completion:*' menu no
|
||||
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
|
||||
zstyle ':fzf-tab:*' fzf-command ftb-tmux-popup
|
||||
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'eza -1 --color=always $realpath'
|
||||
zstyle ':fzf-tab:complete:cd:*' popup-pad 60 0
|
||||
zstyle ':fzf-tab:complete:diff:*' popup-min-size 80 12
|
||||
|
||||
# source modules
|
||||
source "${HOME}/.local/git/zsh_modules/fzf-tab/fzf-tab.plugin.zsh"
|
||||
source "${HOME}/.local/git/zsh_modules/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh"
|
||||
source "${HOME}/.local/git/zsh_modules/wd/wd.plugin.zsh"
|
||||
export WD_CONFIG="${XDG_CONFIG_HOME}/wd_list"
|
||||
|
||||
# quick note functionality
|
||||
if [[ -f "${HOME}/.note" ]]; then
|
||||
echo
|
||||
@ -65,6 +79,9 @@ if [[ -f "${HOME}/.note" ]]; then
|
||||
echo
|
||||
fi
|
||||
|
||||
# cleaning
|
||||
rm -rf "${HOME}/.warprc"
|
||||
|
||||
# local settings
|
||||
if [[ -f "${HOME}/.local/config/zsh" ]]; then
|
||||
source "${HOME}/.local/config/zsh"
|
||||
|
@ -13,13 +13,16 @@ gd() {
|
||||
git pull
|
||||
}
|
||||
alias gl="git log --graph --abbrev-commit --date=short --pretty=format:'%Cred%h%Creset %Cgreen%cr%Creset: %s : %C(bold blue)%an%Creset %C(yellow)%d%Creset'"
|
||||
alias lg=lazygit
|
||||
alias less='less -R'
|
||||
|
||||
if [[ $(command -v bat) ]]; then
|
||||
alias cat='bat -pp --color=always --tabs=2 --theme=Monokai\ Extended\ Bright'
|
||||
fi
|
||||
|
||||
if [[ $(command -v curlie) ]]; then
|
||||
alias curl=curlie
|
||||
fi
|
||||
|
||||
if [[ $(command -v eza) ]]; then
|
||||
alias ls='eza --git --octal-permissions --no-permissions --group-directories-first'
|
||||
alias ll='eza --git --octal-permissions --no-permissions --group-directories-first -l'
|
||||
@ -40,10 +43,14 @@ if [[ $(command -v fd) ]]; then
|
||||
fi
|
||||
|
||||
if [ $(command -v nvim) ]; then
|
||||
vim() {
|
||||
nvim $*; printf "\e[6 q"
|
||||
}
|
||||
vimdiff() {
|
||||
nvim -d $*; printf "\e[6 q"
|
||||
}
|
||||
export EDITOR=nvim
|
||||
export MANPAGER="nvim +Man!"
|
||||
alias vim=nvim
|
||||
alias vimdiff="nvim -d"
|
||||
elif [ $(command -v vim) ] ; then
|
||||
export EDITOR=vim
|
||||
else
|
||||
@ -62,13 +69,21 @@ function ud() {
|
||||
}
|
||||
|
||||
function upgrade() {
|
||||
if [ $(uname -s) != "Darwin" ]; then
|
||||
case $(lsb_release -si) in
|
||||
Gentoo) eix-sync && eix-update && emerge -avuNDU @world ;;
|
||||
VoidLinux) xbps-install -Su && xbps-remove -RoO && xlocate -S ;;
|
||||
esac
|
||||
else
|
||||
brew update && brew upgrade && brew cleanup
|
||||
if [ $(uname -s) = "Darwin" ]; then
|
||||
brew update && brew upgrade && brew upgrade --cask --greedy && brew cleanup
|
||||
rm -rf ~/Library/Caches/Homebrew/*
|
||||
elif [ $(uname -s) = "FreeBSD" ]; then
|
||||
pkg update -f
|
||||
pkg upgrade
|
||||
freebsd-update fetch
|
||||
freebsd-update install
|
||||
rm -rf /var/cache/pkg/* /usr/ports/distfiles/*
|
||||
pkg audit -F
|
||||
else
|
||||
case $(lsb_release -si 2>/dev/null) in
|
||||
Gentoo) eix-sync && eix-update && emerge -avuNDU @world ;;
|
||||
Ubuntu) apt update && apt upgrade ;;
|
||||
VoidLinux) xbps-install -Su && xbps-remove -RoO && xlocate -S && du -sh /var/cache/xbps && rm -rf /var/cache/xbps/* ;;
|
||||
esac
|
||||
fi
|
||||
}
|
||||
|
3
config/zsh/atuin.zsh
Normal file
3
config/zsh/atuin.zsh
Normal file
@ -0,0 +1,3 @@
|
||||
if [[ $(command -v atuin) ]]; then
|
||||
eval "$(atuin init zsh --disable-up-arrow)"
|
||||
fi
|
39
install.sh
39
install.sh
@ -1,37 +1,38 @@
|
||||
#!/bin/sh
|
||||
# shellcheck disable=SC1091
|
||||
|
||||
# variables
|
||||
LOCAL_GIT_DIR=${HOME}/.local/git
|
||||
XDG_CACHE_HOME=/tmp/${USER}-cache
|
||||
XDG_CONFIG_HOME=${HOME}/.config
|
||||
XDG_DATA_HOME=${HOME}/.local/share
|
||||
XDG_STATE_HOME=${HOME}/.local/state
|
||||
LOCAL_GIT_DIR="${HOME}/.local/git"
|
||||
XDG_CACHE_HOME="/tmp/${USER}-cache"
|
||||
XDG_CONFIG_HOME="${HOME}/.config"
|
||||
XDG_DATA_HOME="${HOME}/.local/share"
|
||||
XDG_STATE_HOME="${HOME}/.local/state"
|
||||
|
||||
# clean + prepare local dirs
|
||||
rm -rf ~/.cache ~/.config/_cache ~/.fdignore ~/.fzf.bash ~/.fzf.zsh ~/.gitconfig ~/.gitignore ~/.history ~/.hushlogin ~/.tmux.conf ~/.vim* ~/.zcomp* ~/.zsh*
|
||||
rm -rf ${XDG_CACHE_HOME} ${XDG_DATA_HOME}/nvim ${XDG_STATE_HOME}/nvim
|
||||
mkdir -p ${XDG_CACHE_HOME} ${XDG_CONFIG_HOME} ${XDG_DATA_HOME}
|
||||
chmod 700 ${XDG_CACHE_HOME}
|
||||
rm -rf "${XDG_CACHE_HOME}" "${XDG_DATA_HOME}/nvim" "${XDG_STATE_HOME}/nvim"
|
||||
mkdir -p "${XDG_CACHE_HOME}" "${XDG_CONFIG_HOME}" "${XDG_DATA_HOME}"
|
||||
chmod 700 "${XDG_CACHE_HOME}"
|
||||
|
||||
# prepare repository
|
||||
mkdir -p ${LOCAL_GIT_DIR}
|
||||
rm -rf ${LOCAL_GIT_DIR}/dotfiles
|
||||
git clone https://git.insomniac.pl/ftpd/dotfiles $LOCAL_GIT_DIR/dotfiles
|
||||
mkdir -p "${LOCAL_GIT_DIR}"
|
||||
rm -rf "${LOCAL_GIT_DIR}/dotfiles"
|
||||
git clone https://git.insomniac.pl/ftpd/dotfiles "${LOCAL_GIT_DIR}/dotfiles"
|
||||
|
||||
# zsh modules
|
||||
mkdir -p ${LOCAL_GIT_DIR}/zsh_modules
|
||||
rm -rf ${LOCAL_GIT_DIR}/zsh_modules/*
|
||||
for module in mfaerevaag/wd romkatv/powerlevel10k zdharma-continuum/fast-syntax-highlighting; do
|
||||
git clone https://github.com/${module} $LOCAL_GIT_DIR/zsh_modules/${module#*/}
|
||||
mkdir -p "${LOCAL_GIT_DIR}/zsh_modules"
|
||||
for module in Aloxaf/fzf-tab mfaerevaag/wd romkatv/powerlevel10k zdharma-continuum/fast-syntax-highlighting; do
|
||||
rm -rf "${LOCAL_GIT_DIR}/zsh_modules/${module#*/}"
|
||||
git clone https://github.com/${module} "${LOCAL_GIT_DIR}/zsh_modules/${module#*/}"
|
||||
done
|
||||
|
||||
# configs
|
||||
for i in ${LOCAL_GIT_DIR}/dotfiles/config/*; do
|
||||
rm -rf ${XDG_CONFIG_HOME}/$(basename $i)
|
||||
ln -sf ${LOCAL_GIT_DIR}/dotfiles/config/$(basename $i) ${XDG_CONFIG_HOME}/
|
||||
for i in "${LOCAL_GIT_DIR}"/dotfiles/config/*; do
|
||||
rm -rf "${XDG_CONFIG_HOME:?}/$(basename "${i}")"
|
||||
ln -sf "${LOCAL_GIT_DIR}/dotfiles/config/$(basename "${i}")" "${XDG_CONFIG_HOME}/"
|
||||
done
|
||||
|
||||
# execute post-install script
|
||||
printf "Running post-install script... "
|
||||
. ${LOCAL_GIT_DIR}/dotfiles/scripts/post-install.sh
|
||||
. "${LOCAL_GIT_DIR}/dotfiles/scripts/post-install.sh"
|
||||
echo "done."
|
||||
|
@ -1,13 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
# basic git configuration
|
||||
if [ ! -d "${XDG_CONFIG_HOME}/git" ]; then
|
||||
mkdir -p "${XDG_CONFIG_HOME}/git"
|
||||
cat << EOF > "${XDG_CONFIG_HOME}/git/config"
|
||||
[pull]
|
||||
rebase = true
|
||||
EOF
|
||||
fi
|
||||
|
||||
# nvim setup
|
||||
nvim -c "lua require('lazy').sync({wait = true})" -c "MasonInstallAll"
|
||||
|
Loading…
Reference in New Issue
Block a user