mirror of
https://github.com/pratiktri/dotfiles.git
synced 2026-02-04 08:41:43 +05:30
Template files created
- Gitignore and Prettierrc - Created 2 env variables pointing to them Shellcheck & Shellharden suggestions Implemented NeoVim - Replaced tpope/vim-surround with kylechui/nvim-surround - LuaSnip typo fix - [Ctrl+p] to open file fzf - Formatting
This commit is contained in:
1
.prettierrc
Symbolic link
1
.prettierrc
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
common/.config/templates/.prettierrc
|
||||||
@@ -19,16 +19,20 @@ return {
|
|||||||
"rafamadriz/friendly-snippets",
|
"rafamadriz/friendly-snippets",
|
||||||
},
|
},
|
||||||
config = function()
|
config = function()
|
||||||
-- [[ Configure nvim-cmp ]]
|
|
||||||
-- See `:help cmp`
|
-- See `:help cmp`
|
||||||
-- vim.api.nvim_set_hl(0, "CmpGhostText", { link = "Comment", default = true })
|
|
||||||
local cmp = require("cmp")
|
local cmp = require("cmp")
|
||||||
local defaults = require("cmp.config.default")()
|
local defaults = require("cmp.config.default")()
|
||||||
local luasnip = require("luasnip")
|
local luasnip = require("luasnip")
|
||||||
require("luasnip.loaders.from_vscode").lazy_load()
|
require("luasnip.loaders.from_vscode").lazy_load()
|
||||||
luasnip.config.setup({})
|
luasnip.config.setup({})
|
||||||
|
|
||||||
|
-- vim.api.nvim_set_hl(0, "CmpGhostText", { link = "Comment", default = true })
|
||||||
cmp.setup({
|
cmp.setup({
|
||||||
|
-- experimental = {
|
||||||
|
-- ghost_text = {
|
||||||
|
-- hl_group = "CmpGhostText",
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
snippet = {
|
snippet = {
|
||||||
expand = function(args)
|
expand = function(args)
|
||||||
luasnip.lsp_expand(args.body)
|
luasnip.lsp_expand(args.body)
|
||||||
@@ -62,18 +66,13 @@ return {
|
|||||||
{ name = "path" },
|
{ name = "path" },
|
||||||
{ { name = "buffer" } },
|
{ { name = "buffer" } },
|
||||||
},
|
},
|
||||||
-- experimental = {
|
|
||||||
-- ghost_text = {
|
|
||||||
-- hl_group = "CmpGhostText",
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
sorting = defaults.sorting,
|
sorting = defaults.sorting,
|
||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"L4MON4D3/LuaSnip",
|
"L3MON4D3/LuaSnip",
|
||||||
keys = {
|
keys = {
|
||||||
{
|
{
|
||||||
"<tab>",
|
"<tab>",
|
||||||
|
|||||||
@@ -1,9 +1,18 @@
|
|||||||
return {
|
return {
|
||||||
{ "tpope/vim-repeat" },
|
{ "tpope/vim-repeat" },
|
||||||
{ "tpope/vim-surround" },
|
|
||||||
{ "easymotion/vim-easymotion" },
|
{ "easymotion/vim-easymotion" },
|
||||||
{ "machakann/vim-highlightedyank" },
|
{ "machakann/vim-highlightedyank" },
|
||||||
|
|
||||||
|
-- Better surround than tpope/vim-surround
|
||||||
|
{
|
||||||
|
"kylechui/nvim-surround",
|
||||||
|
version = "*",
|
||||||
|
event = "VeryLazy",
|
||||||
|
config = function()
|
||||||
|
require("nvim-surround").setup({})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
-- "gc" to comment visual regions/lines
|
-- "gc" to comment visual regions/lines
|
||||||
{
|
{
|
||||||
"numToStr/Comment.nvim",
|
"numToStr/Comment.nvim",
|
||||||
|
|||||||
@@ -216,6 +216,13 @@ return {
|
|||||||
end,
|
end,
|
||||||
desc = "Dismiss all Notifications",
|
desc = "Dismiss all Notifications",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"<leader>xx",
|
||||||
|
function()
|
||||||
|
require("notify").dismiss({ silent = true, pending = true })
|
||||||
|
end,
|
||||||
|
desc = "Dismiss all Notifications",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
opts = {
|
opts = {
|
||||||
render = "wrapped-compact", -- Smaller popups
|
render = "wrapped-compact", -- Smaller popups
|
||||||
|
|||||||
@@ -54,8 +54,7 @@ return {
|
|||||||
pcall(require("telescope").load_extension, "fzf")
|
pcall(require("telescope").load_extension, "fzf")
|
||||||
|
|
||||||
-- Special Things: [T]elescope
|
-- Special Things: [T]elescope
|
||||||
vim.keymap.set("n", "<leader>nc", require("telescope.builtin").colorscheme,
|
vim.keymap.set("n", "<leader>nc", require("telescope.builtin").colorscheme, { desc = "List [N]eovim [C]olorschemes (with preview)" })
|
||||||
{ desc = "List [N]eovim [C]olorschemes (with preview)" })
|
|
||||||
|
|
||||||
-- Grep things -> [S]earch
|
-- Grep things -> [S]earch
|
||||||
vim.keymap.set("n", "<leader>sb", function()
|
vim.keymap.set("n", "<leader>sb", function()
|
||||||
@@ -63,46 +62,35 @@ return {
|
|||||||
grep_open_files = true,
|
grep_open_files = true,
|
||||||
prompt_title = "Live Grep in Open Files",
|
prompt_title = "Live Grep in Open Files",
|
||||||
})
|
})
|
||||||
end, { desc = "[S]earch Open [B]uffers" })
|
end, { desc = "[S]earch Open [B]buffers" })
|
||||||
vim.keymap.set("n", "<leader>sg", require("telescope.builtin").live_grep,
|
vim.keymap.set("n", "<leader>sg", require("telescope.builtin").live_grep, { desc = "[S]earch/Live[G]rep the Project" })
|
||||||
{ desc = "[S]earch/Live[G]rep the Project" })
|
vim.keymap.set("n", "<leader>sw", require("telescope.builtin").grep_string, { desc = "[S]earch current [W]ord in Project" })
|
||||||
vim.keymap.set("n", "<leader>sw", require("telescope.builtin").grep_string,
|
|
||||||
{ desc = "[S]earch current [W]ord in Project" })
|
|
||||||
|
|
||||||
-- [L]ist
|
-- [L]ist
|
||||||
vim.keymap.set("n", "<leader>lb", require("telescope.builtin").buffers, { desc = "[L]ist [B]uffers" })
|
vim.keymap.set("n", "<leader>lb", require("telescope.builtin").buffers, { desc = "[L]ist [B]buffers" })
|
||||||
vim.keymap.set("n", "<leader>lc", require("telescope.builtin").command_history,
|
vim.keymap.set("n", "<leader>lc", require("telescope.builtin").command_history, { desc = "[L]ist NeoVIM [C]ommand History" })
|
||||||
{ desc = "[L]ist NeoVIM [C]ommand History" })
|
vim.keymap.set("n", "<C-p>", require("telescope.builtin").find_files, { desc = "[L]ist & Search [F]iles" })
|
||||||
vim.keymap.set("n", "<leader>lf", require("telescope.builtin").find_files,
|
vim.keymap.set("n", "<leader>lf", require("telescope.builtin").find_files, { desc = "[L]ist & Search [F]iles" })
|
||||||
{ desc = "[L]ist & Search [F]iles" })
|
vim.keymap.set("n", "<leader>lh", require("telescope.builtin").help_tags, { desc = "[L]ist & Search NeoVIM [H]elp" })
|
||||||
vim.keymap.set("n", "<leader>lh", require("telescope.builtin").help_tags,
|
vim.keymap.set("n", "<leader>lk", require("telescope.builtin").keymaps, { desc = "[L]ist & Search NeoVIM [K]eymaps" })
|
||||||
{ desc = "[L]ist & Search NeoVIM [H]elp" })
|
vim.keymap.set("n", "<leader>lm", require("telescope.builtin").man_pages, { desc = "[L]ist & Search System Ma[n] Pages" })
|
||||||
vim.keymap.set("n", "<leader>lk", require("telescope.builtin").keymaps,
|
vim.keymap.set("n", "<leader>lq", require("telescope.builtin").quickfixhistory, { desc = "[L]ist [Q]uickfix History" })
|
||||||
{ desc = "[L]ist & Search NeoVIM [K]eymaps" })
|
vim.keymap.set("n", "<leader>ls", require("telescope.builtin").search_history, { desc = "[L]ist [S]earch History" })
|
||||||
vim.keymap.set("n", "<leader>lm", require("telescope.builtin").man_pages,
|
|
||||||
{ desc = "[L]ist & Search System Ma[n] Pages" })
|
|
||||||
vim.keymap.set("n", "<leader>lq", require("telescope.builtin").quickfixhistory,
|
|
||||||
{ desc = "[L]ist [Q]uickfix History" })
|
|
||||||
vim.keymap.set("n", "<leader>ls", require("telescope.builtin").search_history,
|
|
||||||
{ desc = "[L]ist [S]earch History" })
|
|
||||||
vim.keymap.set("n", "<leader>lv", require("telescope.builtin").vim_options, { desc = "[L]ist [V]im Options" })
|
vim.keymap.set("n", "<leader>lv", require("telescope.builtin").vim_options, { desc = "[L]ist [V]im Options" })
|
||||||
|
|
||||||
-- Git things -> [G]it
|
-- Git things -> [G]it
|
||||||
vim.keymap.set("n", "<leader>gb", require("telescope.builtin").git_branches,
|
vim.keymap.set("n", "<leader>gb", require("telescope.builtin").git_branches, { desc = "List [G]it [B]ranches" })
|
||||||
{ desc = "List [G]it [B]ranches" })
|
vim.keymap.set("n", "<leader>gc", require("telescope.builtin").git_commits, { desc = "List [G]it [C]omits" })
|
||||||
vim.keymap.set("n", "<leader>gc", require("telescope.builtin").git_commits, { desc = "List [G]it [C]ommits" })
|
|
||||||
|
|
||||||
-- LSP Things -> [C]oding
|
-- LSP Things -> [C]oding
|
||||||
vim.keymap.set("n", "<leader>cd", require("telescope.builtin").diagnostics,
|
vim.keymap.set("n", "<leader>cd", require("telescope.builtin").diagnostics, { desc = "[C]ode: List [D]iagnostics" })
|
||||||
{ desc = "[C]ode: List [D]iagnostics" })
|
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
"n",
|
"n",
|
||||||
"<leader>ci",
|
"<leader>ci",
|
||||||
require("telescope.builtin").lsp_implementations,
|
require("telescope.builtin").lsp_implementations,
|
||||||
{ desc = "[C]ode: Goto [I]mplementation of the word under cursor" }
|
{ desc = "[C]ode: Goto [I]mplementation of the word under cursor" }
|
||||||
)
|
)
|
||||||
vim.keymap.set("n", "<leader>cR", require("telescope.builtin").lsp_references,
|
vim.keymap.set("n", "<leader>cR", require("telescope.builtin").lsp_references, { desc = "[C]ode: List [R]eferences for word under cursor" })
|
||||||
{ desc = "[C]ode: List [R]eferences for word under cursor" })
|
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
"n",
|
"n",
|
||||||
"<leader>cgt",
|
"<leader>cgt",
|
||||||
@@ -110,14 +98,10 @@ return {
|
|||||||
{ desc = "[C]ode: Goto definition of the [T]ype under cursor" }
|
{ desc = "[C]ode: Goto definition of the [T]ype under cursor" }
|
||||||
)
|
)
|
||||||
vim.keymap.set("n", "gd", require("telescope.builtin").lsp_definitions, { desc = "[G]oto [D]efinition" })
|
vim.keymap.set("n", "gd", require("telescope.builtin").lsp_definitions, { desc = "[G]oto [D]efinition" })
|
||||||
vim.keymap.set("n", "<leader>cgd", require("telescope.builtin").lsp_type_definitions,
|
vim.keymap.set("n", "<leader>cgd", require("telescope.builtin").lsp_type_definitions, { desc = "Type [D]efinition" })
|
||||||
{ desc = "Type [D]efinition" })
|
vim.keymap.set("n", "<leader>cR", require("telescope.builtin").lsp_references, { desc = "[G]oto [R]eferences" })
|
||||||
vim.keymap.set("n", "<leader>cR", require("telescope.builtin").lsp_references,
|
vim.keymap.set("n", "<leader>cI", require("telescope.builtin").lsp_implementations, { desc = "[G]oto [I]mplementation" })
|
||||||
{ desc = "[G]oto [R]eferences" })
|
vim.keymap.set("n", "<leader>cs", require("telescope.builtin").lsp_document_symbols, { desc = "[D]ocument [S]symbols" })
|
||||||
vim.keymap.set("n", "<leader>cI", require("telescope.builtin").lsp_implementations,
|
|
||||||
{ desc = "[G]oto [I]mplementation" })
|
|
||||||
vim.keymap.set("n", "<leader>cs", require("telescope.builtin").lsp_document_symbols,
|
|
||||||
{ desc = "[D]ocument [S]ymbols" })
|
|
||||||
-- vim.keymap.set("n", "<leader>cgD", vim.lsp.buf.declaration, { desc = "[G]oto [D]eclaration" })
|
-- vim.keymap.set("n", "<leader>cgD", vim.lsp.buf.declaration, { desc = "[G]oto [D]eclaration" })
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ return {
|
|||||||
opts = {
|
opts = {
|
||||||
-- Session files stored at: ~/.config/nvim/sessions/
|
-- Session files stored at: ~/.config/nvim/sessions/
|
||||||
dir = vim.fn.expand(vim.fn.stdpath("config") .. "/sessions/"),
|
dir = vim.fn.expand(vim.fn.stdpath("config") .. "/sessions/"),
|
||||||
options = vim.opt.sessionoptions:get()
|
options = vim.opt.sessionoptions:get(),
|
||||||
-- NOTE: autocmd to autoload sessions at: ../config/autocmd.lua
|
-- NOTE: autocmd to autoload sessions at: ../config/autocmd.lua
|
||||||
},
|
},
|
||||||
keys = {
|
keys = {
|
||||||
@@ -77,14 +77,4 @@ return {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
-- Provides tldr on vertical split
|
|
||||||
-- `:Tldr [command]`
|
|
||||||
{
|
|
||||||
"wlemuel/vim-tldr",
|
|
||||||
lazy = true,
|
|
||||||
dependencies = {
|
|
||||||
"nvim-telescope/telescope.nvim"
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,10 +10,10 @@ alias egrep='egrep --color=auto'
|
|||||||
alias fgrep='fgrep --color=auto'
|
alias fgrep='fgrep --color=auto'
|
||||||
alias usersearch="awk -F: '{print \"UserName: \" \$1 \", UserID: \" \$3 \", Home Dir: \" \$6 \", Shell Used: \" \$7}' /etc/passwd | grep"
|
alias usersearch="awk -F: '{print \"UserName: \" \$1 \", UserID: \" \$3 \", Home Dir: \" \$6 \", Shell Used: \" \$7}' /etc/passwd | grep"
|
||||||
alias untar='tar -zxvf '
|
alias untar='tar -zxvf '
|
||||||
alias wget="wget --hsts-file ${WGET_HSTS_FILE}"
|
alias wget='wget --hsts-file ${WGET_HSTS_FILE}'
|
||||||
|
|
||||||
alias v="${EDITOR}"
|
alias v='$EDITOR'
|
||||||
alias snvim="${HOMEBREW_PREFIX}/bin/nvim" # Stable nvim
|
alias snvim='${HOMEBREW_PREFIX}/bin/nvim' # Stable nvim
|
||||||
|
|
||||||
# Directories and Directory listings
|
# Directories and Directory listings
|
||||||
alias ~="cd ~"
|
alias ~="cd ~"
|
||||||
@@ -28,7 +28,7 @@ alias lsa="lsc -lAFhZ"
|
|||||||
|
|
||||||
alias mkdir="mkdir -pv"
|
alias mkdir="mkdir -pv"
|
||||||
alias df="df -h"
|
alias df="df -h"
|
||||||
mkcd () {
|
mkcd() {
|
||||||
mkdir "$1"
|
mkdir "$1"
|
||||||
cd "$1" || exit
|
cd "$1" || exit
|
||||||
}
|
}
|
||||||
@@ -41,7 +41,6 @@ alias p8="ping8"
|
|||||||
alias p1="ping1"
|
alias p1="ping1"
|
||||||
alias pubip="curl https://ipinfo.io/ip; echo"
|
alias pubip="curl https://ipinfo.io/ip; echo"
|
||||||
alias speedtest="speedtest-cli --secure"
|
alias speedtest="speedtest-cli --secure"
|
||||||
geoip () {
|
geoip() {
|
||||||
curl -s https://ipinfo.io | sed '/readme\|loc\|postal\|{\|}\|hostname/d;s/org/ISP/;s/"\|,$//g' | awk -F ':' 'NF { printf("%10s: %s \n", $1, $2)}'
|
curl -s https://ipinfo.io | sed '/readme\|loc\|postal\|{\|}\|hostname/d;s/org/ISP/;s/"\|,$//g' | awk -F ':' 'NF { printf("%10s: %s \n", $1, $2)}'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
7
common/.config/templates/.prettierrc
Normal file
7
common/.config/templates/.prettierrc
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"tabWidth": 4,
|
||||||
|
"useTabs": false,
|
||||||
|
"semi": true,
|
||||||
|
"singleQuote": false,
|
||||||
|
"trailingComma": "all"
|
||||||
|
}
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
[ ! -f "/home/linuxbrew/.linuxbrew/bin/brew" ] || eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
[ ! -f "/home/linuxbrew/.linuxbrew/bin/brew" ] || eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
||||||
|
|
||||||
# set PATH so it includes user's private bin if it exists
|
# set PATH so it includes user's private bin if it exists
|
||||||
@@ -11,25 +13,28 @@
|
|||||||
[ ! -d "$HOME/.local/bin" ] || PATH="$PATH:$HOME/.local/bin"
|
[ ! -d "$HOME/.local/bin" ] || PATH="$PATH:$HOME/.local/bin"
|
||||||
|
|
||||||
# Set the config directory environment variable
|
# Set the config directory environment variable
|
||||||
[ -n "$XDG_CONFIG_HOME" ] || export XDG_CONFIG_HOME="$HOME/.config"
|
[ "$XDG_CONFIG_HOME" != "" ] || export XDG_CONFIG_HOME="$HOME/.config"
|
||||||
|
|
||||||
# Set the cache directory environment variable
|
# Set the cache directory environment variable
|
||||||
[ -n "$XDG_CACHE_HOME" ] || export XDG_CACHE_HOME="$HOME/.cache"
|
[ "$XDG_CACHE_HOME" != "" ] || export XDG_CACHE_HOME="$HOME/.cache"
|
||||||
|
|
||||||
# Set the data directory environment variable
|
# Set the data directory environment variable
|
||||||
[ -n "$XDG_DATA_HOME" ] || export XDG_DATA_HOME="$HOME/.local/share"
|
[ "$XDG_DATA_HOME" != "" ] || export XDG_DATA_HOME="$HOME/.local/share"
|
||||||
|
|
||||||
# Set the state directory environment variable
|
# Set the state directory environment variable
|
||||||
[ -n "$XDG_STATE_HOME" ] || export XDG_STATE_HOME="$HOME/.local/state"
|
[ "$XDG_STATE_HOME" != "" ] || export XDG_STATE_HOME="$HOME/.local/state"
|
||||||
|
|
||||||
##################################################################################
|
##################################################################################
|
||||||
|
|
||||||
eval "$(ssh-agent -s)" >/dev/null
|
eval "$(ssh-agent -s)" >/dev/null
|
||||||
ulimit -n 10240
|
ulimit -n 10240
|
||||||
|
|
||||||
|
[ ! -f "$XDG_CONFIG_HOME/templates/.gitignore" ] || export GITIGNORE_TEMPLATE="$XDG_CONFIG_HOME/templates/.gitignore"
|
||||||
|
[ ! -f "$XDG_CONFIG_HOME/templates/.prettierrc" ] || export PRETTIER_TEMPLATE="$XDG_CONFIG_HOME/templates/.prettierrc"
|
||||||
|
|
||||||
EDITOR=$(command -v nvim 2>/dev/null || command -v vim 2>/dev/null)
|
EDITOR=$(command -v nvim 2>/dev/null || command -v vim 2>/dev/null)
|
||||||
export EDITOR
|
export EDITOR
|
||||||
export VISUAL=$EDITOR
|
export VISUAL="$EDITOR"
|
||||||
|
|
||||||
# Manually follow steps from https://steamcommunity.com/app/646570/discussions/1/3935537639868400686
|
# Manually follow steps from https://steamcommunity.com/app/646570/discussions/1/3935537639868400686
|
||||||
# To disable ~/.oracle_jre_usage/ from being created
|
# To disable ~/.oracle_jre_usage/ from being created
|
||||||
@@ -94,6 +99,6 @@ export AWS_SHARED_CREDENTIALS_FILE="$XDG_CONFIG_HOME/aws/credentials"
|
|||||||
export DOCKER_CONFIG="$XDG_CONFIG_HOME/docker"
|
export DOCKER_CONFIG="$XDG_CONFIG_HOME/docker"
|
||||||
|
|
||||||
export FZF_DEFAULT_COMMAND='rg --files --hidden'
|
export FZF_DEFAULT_COMMAND='rg --files --hidden'
|
||||||
export FZF_DEFAULT_OPTS='--layout=reverse --inline-info --height=~50% --border'
|
export FZF_DEFAULT_OPTS='--layout=reverse --cycle --inline-info --height=~50% --border'
|
||||||
|
|
||||||
export TLDR_CACHE_DIR="$XDG_CACHE_HOME/tldr"
|
export TLDR_CACHE_DIR="$XDG_CACHE_HOME/tldr"
|
||||||
|
|||||||
24
common/.vscode/argv.json
vendored
Normal file
24
common/.vscode/argv.json
vendored
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
// This configuration file allows you to pass permanent command line arguments to VS Code.
|
||||||
|
// Only a subset of arguments is currently supported to reduce the likelyhood of breaking
|
||||||
|
// the installation.
|
||||||
|
//
|
||||||
|
// PLEASE DO NOT CHANGE WITHOUT UNDERSTANDING THE IMPACT
|
||||||
|
//
|
||||||
|
// NOTE: Changing this file requires a restart of VS Code.
|
||||||
|
{
|
||||||
|
// Use software rendering instead of hardware accelerated rendering.
|
||||||
|
// This can help in cases where you see rendering issues in VS Code.
|
||||||
|
// "disable-hardware-acceleration": true,
|
||||||
|
|
||||||
|
// Enabled by default by VS Code to resolve color issues in the renderer
|
||||||
|
// See https://github.com/Microsoft/vscode/issues/51791 for details
|
||||||
|
"disable-color-correct-rendering": true,
|
||||||
|
|
||||||
|
// Allows to disable crash reporting.
|
||||||
|
// Should restart the app if the value is changed.
|
||||||
|
"enable-crash-reporter": false,
|
||||||
|
|
||||||
|
// Unique id used for correlating crash reports sent from this instance.
|
||||||
|
// Do not edit this value.
|
||||||
|
"crash-reporter-id": "663adebd-ee7d-4d1f-9723-fd963e7e8e1a"
|
||||||
|
}
|
||||||
1
common/.vscode/settings.json
vendored
Normal file
1
common/.vscode/settings.json
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
@@ -2,14 +2,13 @@
|
|||||||
|
|
||||||
# Directories and Directory listings
|
# Directories and Directory listings
|
||||||
dir_size(){
|
dir_size(){
|
||||||
local dir
|
if [ "$1" = "" ]; then
|
||||||
if [ -z "$1" ]; then
|
dir="$PWD"
|
||||||
dir="${PWD}"
|
|
||||||
else
|
else
|
||||||
dir="$1"
|
dir="$1"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
du -ah "${dir}" --max-depth=1 | sort -hr
|
du -ah "$dir" --max-depth=1 | sort -hr
|
||||||
}
|
}
|
||||||
alias tldr="tldr --platform=linux "
|
alias tldr="tldr --platform=linux "
|
||||||
|
|
||||||
@@ -43,24 +42,23 @@ alias fpmreset73="sudo systemctl restart php7.3-fpm"
|
|||||||
alias fpmreset74="sudo systemctl restart php7.4-fpm"
|
alias fpmreset74="sudo systemctl restart php7.4-fpm"
|
||||||
|
|
||||||
f2b_banned_ips() {
|
f2b_banned_ips() {
|
||||||
local provided_jail=$1
|
provided_jail=$1
|
||||||
|
|
||||||
if [ -n "${provided_jail// /}" ]; then
|
if [ "${provided_jail// /}" != "" ]; then
|
||||||
for ip in $(sudo fail2ban-client status "${provided_jail}" | tail -1 | sed 's/[^:]*://;s/\s*//')
|
for ip in "$(sudo fail2ban-client status "$provided_jail" | tail -1 | sed 's/[^:]*://;s/\s*//')"
|
||||||
do
|
do
|
||||||
printf "%17s\n" "$ip"
|
printf "%17s\n" "$ip"
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
local total_ips_banned=0
|
total_ips_banned=0
|
||||||
for JAIL in $(sudo fail2ban-client status | tail -1 | sed 's/[^:]*://;s/\s*//;s/,//g')
|
for JAIL in "$(sudo fail2ban-client status | tail -1 | sed 's/[^:]*://;s/\s*//;s/,//g')"
|
||||||
do
|
do
|
||||||
local banned_ip_count
|
banned_ip_count=$(sudo fail2ban-client status "$JAIL" | grep -oP 'Currently banned:\s*\K\d+')
|
||||||
banned_ip_count=$(sudo fail2ban-client status "${JAIL}" | grep -oP 'Currently banned:\s*\K\d+')
|
|
||||||
|
|
||||||
if [ "${banned_ip_count}" -gt 0 ]; then
|
if [ "$banned_ip_count" -gt 0 ]; then
|
||||||
echo "${JAIL}: ${banned_ip_count}"
|
echo "${JAIL}: ${banned_ip_count}"
|
||||||
|
|
||||||
for ip in $(sudo fail2ban-client status "${JAIL}" | tail -1 | sed 's/[^:]*://;s/\s*//')
|
for ip in "$(sudo fail2ban-client status "$JAIL" | tail -1 | sed 's/[^:]*://;s/\s*//')"
|
||||||
do
|
do
|
||||||
printf "%17s\n" "[$ip]"
|
printf "%17s\n" "[$ip]"
|
||||||
done
|
done
|
||||||
@@ -78,24 +76,23 @@ f2b_banned_ips() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
f2b_unban_ip() {
|
f2b_unban_ip() {
|
||||||
local ip_to_unban="$1"
|
ip_to_unban="$1"
|
||||||
local jail="$2"
|
jail="$2"
|
||||||
|
|
||||||
# If jail is provided - use that jail to directly unban
|
# If jail is provided - use that jail to directly unban
|
||||||
if [ -n "${jail// /}" ]; then
|
if [ "${jail// /}" != "" ]; then
|
||||||
sudo fail2ban-client set "${jail}" unbanip "${ip_to_unban}" > /dev/null && echo "Successfully released ban"
|
sudo fail2ban-client set "$jail" unbanip "$ip_to_unban" > /dev/null && echo "Successfully released ban"
|
||||||
else
|
else
|
||||||
# Find all JAILS this IP belong to
|
# Find all JAILS this IP belong to
|
||||||
# Unban the ip where ever it is found
|
# Unban the ip where ever it is found
|
||||||
|
|
||||||
for JAIL in $(sudo fail2ban-client status | tail -1 | sed 's/[^:]*://;s/\s*//;s/,//g')
|
for JAIL in "$(sudo fail2ban-client status | tail -1 | sed 's/[^:]*://;s/\s*//;s/,//g')"
|
||||||
do
|
do
|
||||||
local banned_ip_count
|
banned_ip_count=$(sudo fail2ban-client status "$JAIL" | grep -oP 'Currently banned:\s*\K\d+')
|
||||||
banned_ip_count=$(sudo fail2ban-client status "${JAIL}" | grep -oP 'Currently banned:\s*\K\d+')
|
if [ "$banned_ip_count" -gt 0 ] && [[ $(sudo fail2ban-client status "$JAIL") == *"$ip_to_unban"* ]]; then
|
||||||
if [ "$banned_ip_count" -gt 0 ] && [[ $(sudo fail2ban-client status "${JAIL}") == *"${ip_to_unban}"* ]]; then
|
found_ip="true"
|
||||||
local found_ip="true"
|
|
||||||
echo "Unbanning from ${JAIL}:"
|
echo "Unbanning from ${JAIL}:"
|
||||||
sudo fail2ban-client set "${JAIL}" unbanip "${ip_to_unban}" > /dev/null && echo "Successfully released ban"
|
sudo fail2ban-client set "$JAIL" unbanip "$ip_to_unban" > /dev/null && echo "Successfully released ban"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -107,8 +104,8 @@ f2b_unban_ip() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
f2b_ban_an_ip(){
|
f2b_ban_an_ip(){
|
||||||
local ip_to_ban=$1
|
ip_to_ban=$1
|
||||||
local ban_jail=$2
|
ban_jail=$2
|
||||||
|
|
||||||
if [[ ( -z "${ip_to_ban// /}" ) || ( -z "${ban_jail// /}" ) ]]; then
|
if [[ ( -z "${ip_to_ban// /}" ) || ( -z "${ban_jail// /}" ) ]]; then
|
||||||
echo "Please provide an IP and a Jail (in that order)"
|
echo "Please provide an IP and a Jail (in that order)"
|
||||||
@@ -116,5 +113,5 @@ f2b_ban_an_ip(){
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sudo fail2ban-client set "${ban_jail}" banip "${ip_to_ban}" > /dev/null && echo "Ban successful"
|
sudo fail2ban-client set "$ban_jail" banip "$ip_to_ban" > /dev/null && echo "Ban successful"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,13 @@
|
|||||||
|
|
||||||
# Directories and Directory listings
|
# Directories and Directory listings
|
||||||
dir_size() {
|
dir_size() {
|
||||||
local dir
|
if [ "$1" = "" ]; then
|
||||||
if [ -z "$1" ]; then
|
dir="$PWD"
|
||||||
dir="${PWD}"
|
|
||||||
else
|
else
|
||||||
dir="$1"
|
dir="$1"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
du -ah "${dir}" -d 1 | sort -hr
|
du -ah "$dir" -d 1 | sort -hr
|
||||||
}
|
}
|
||||||
|
|
||||||
# Update & Upgrades
|
# Update & Upgrades
|
||||||
|
|||||||
Reference in New Issue
Block a user