mirror of
https://github.com/pratiktri/dotfiles.git
synced 2026-02-04 08:41:43 +05:30
refactor(templates): Better template file organization
- .prettierignore & .dockerignore: generate from the repository's .gitignore file - .dockerignore: Ignore .git, *.md, Dockerfile by default - Remove unnecessary exports for each template - .gitignore: Better comments and organization
This commit is contained in:
63
common/.config/templates/.gitignore
vendored
63
common/.config/templates/.gitignore
vendored
@@ -1,30 +1,18 @@
|
|||||||
# ---- KDE Neon ----
|
# ----- OS Artifacts ----
|
||||||
# KDE directory preferences
|
# Linux
|
||||||
|
.Trash-*
|
||||||
.directory
|
.directory
|
||||||
|
|
||||||
# temporary files which can be created if a process still has a handle open of a deleted file
|
# temporary files which can be created if a process still has a handle open of a deleted file
|
||||||
.fuse_hidden*
|
.fuse_hidden*
|
||||||
|
|
||||||
# Linux trash folder which might appear on any partition or disk
|
|
||||||
.Trash-*
|
|
||||||
|
|
||||||
# .nfs files are created when an open file is removed but is still being accessed
|
# .nfs files are created when an open file is removed but is still being accessed
|
||||||
.nfs*
|
.nfs*
|
||||||
|
|
||||||
# Binaries for programs and plugins
|
# macOS
|
||||||
*.exe
|
|
||||||
*.exe~
|
|
||||||
*.dll
|
|
||||||
*.so
|
|
||||||
*.dylib
|
|
||||||
|
|
||||||
# ---- macOS ----
|
|
||||||
# General
|
|
||||||
.DS_Store
|
.DS_Store
|
||||||
.AppleDouble
|
.AppleDouble
|
||||||
.LSOverride
|
.LSOverride
|
||||||
|
|
||||||
# Icon must end with two \r
|
|
||||||
Icon
|
Icon
|
||||||
|
|
||||||
# Thumbnails
|
# Thumbnails
|
||||||
@@ -46,6 +34,19 @@ Network Trash Folder
|
|||||||
Temporary Items
|
Temporary Items
|
||||||
.apdisk
|
.apdisk
|
||||||
|
|
||||||
|
# Other Files to ignore
|
||||||
|
**app_stat_v2.db
|
||||||
|
.ssh/*.pub
|
||||||
|
**/Package Control.cache
|
||||||
|
**Cache
|
||||||
|
*.db
|
||||||
|
*.qmlc
|
||||||
|
*.qml
|
||||||
|
*.jsc
|
||||||
|
**/contents/images
|
||||||
|
**/contents/fonts
|
||||||
|
*kpluginindex.json
|
||||||
|
|
||||||
# ---- IDE ----
|
# ---- IDE ----
|
||||||
# Vim Artifacts
|
# Vim Artifacts
|
||||||
**.swp
|
**.swp
|
||||||
@@ -68,14 +69,25 @@ resharper-host/
|
|||||||
tasks/
|
tasks/
|
||||||
|
|
||||||
# ---- Programming Languages ----
|
# ---- Programming Languages ----
|
||||||
# Ignore all downloaded node modules
|
# Javascript
|
||||||
**/node_modules/*
|
**/node_modules/*
|
||||||
dist
|
dist
|
||||||
dist-ssr
|
dist-ssr
|
||||||
*.local
|
*.local
|
||||||
# Ignore all minified js files
|
|
||||||
*.min.js
|
*.min.js
|
||||||
|
|
||||||
|
# Rust
|
||||||
|
target/
|
||||||
|
|
||||||
|
# Binaries for programs and plugins
|
||||||
|
*.exe
|
||||||
|
*.exe~
|
||||||
|
*.dll
|
||||||
|
*.so
|
||||||
|
*.dylib
|
||||||
|
|
||||||
|
**/built/
|
||||||
|
|
||||||
# Log files
|
# Log files
|
||||||
logs
|
logs
|
||||||
*.log
|
*.log
|
||||||
@@ -84,18 +96,3 @@ yarn-debug.log*
|
|||||||
yarn-error.log*
|
yarn-error.log*
|
||||||
pnpm-debug.log*
|
pnpm-debug.log*
|
||||||
lerna-debug.log*
|
lerna-debug.log*
|
||||||
|
|
||||||
# Other Files to ignore
|
|
||||||
**app_stat_v2.db
|
|
||||||
.ssh/*.pub
|
|
||||||
**/Package Control.cache
|
|
||||||
**Cache
|
|
||||||
*.db
|
|
||||||
*.qmlc
|
|
||||||
*.qml
|
|
||||||
*.jsc
|
|
||||||
**/contents/images
|
|
||||||
**/contents/fonts
|
|
||||||
*kpluginindex.json
|
|
||||||
|
|
||||||
**/built/
|
|
||||||
|
|||||||
@@ -1,109 +0,0 @@
|
|||||||
build
|
|
||||||
coverage
|
|
||||||
|
|
||||||
# ---- KDE Neon ----
|
|
||||||
# KDE directory preferences
|
|
||||||
.directory
|
|
||||||
|
|
||||||
# temporary files which can be created if a process still has a handle open of a deleted file
|
|
||||||
.fuse_hidden*
|
|
||||||
|
|
||||||
# Linux trash folder which might appear on any partition or disk
|
|
||||||
.Trash-*
|
|
||||||
|
|
||||||
# .nfs files are created when an open file is removed but is still being accessed
|
|
||||||
.nfs*
|
|
||||||
|
|
||||||
# Binaries for programs and plugins
|
|
||||||
*.exe
|
|
||||||
*.exe~
|
|
||||||
*.dll
|
|
||||||
*.so
|
|
||||||
*.dylib
|
|
||||||
|
|
||||||
# ---- macOS ----
|
|
||||||
# General
|
|
||||||
.DS_Store
|
|
||||||
.AppleDouble
|
|
||||||
.LSOverride
|
|
||||||
|
|
||||||
# Icon must end with two \r
|
|
||||||
Icon
|
|
||||||
|
|
||||||
# Thumbnails
|
|
||||||
._*
|
|
||||||
|
|
||||||
# Files that might appear in the root of a volume
|
|
||||||
.DocumentRevisions-V100
|
|
||||||
.fseventsd
|
|
||||||
.Spotlight-V100
|
|
||||||
.TemporaryItems
|
|
||||||
.Trashes
|
|
||||||
.VolumeIcon.icns
|
|
||||||
.com.apple.timemachine.donotpresent
|
|
||||||
|
|
||||||
# Directories potentially created on remote AFP share
|
|
||||||
.AppleDB
|
|
||||||
.AppleDesktop
|
|
||||||
Network Trash Folder
|
|
||||||
Temporary Items
|
|
||||||
.apdisk
|
|
||||||
|
|
||||||
# ---- IDE ----
|
|
||||||
# Vim Artifacts
|
|
||||||
**.swp
|
|
||||||
lazy-lock.json
|
|
||||||
.luarc.json
|
|
||||||
|
|
||||||
# VS Code Artifacts
|
|
||||||
/.vscode/
|
|
||||||
**state.vscdb
|
|
||||||
**state.vscdb.backup
|
|
||||||
.vscode/extensions/** # Ignore all Files under .vscode/extensions/
|
|
||||||
!.vscode/extensions/**/*.json # Only json files inside the .vscode/extensions/ folder
|
|
||||||
|
|
||||||
# Intellij IDE Artifacts
|
|
||||||
.idea/
|
|
||||||
*.imi
|
|
||||||
*.jar
|
|
||||||
*.tar
|
|
||||||
resharper-host/
|
|
||||||
tasks/
|
|
||||||
|
|
||||||
# ---- Programming Languages ----
|
|
||||||
# Ignore all downloaded node modules
|
|
||||||
**/node_modules/*
|
|
||||||
dist
|
|
||||||
dist-ssr
|
|
||||||
*.local
|
|
||||||
# Ignore all minified js files
|
|
||||||
*.min.js
|
|
||||||
|
|
||||||
# Log files
|
|
||||||
..logs/
|
|
||||||
*.log
|
|
||||||
|
|
||||||
# Other Files to ignore
|
|
||||||
**app_stat_v2.db
|
|
||||||
.ssh/*.pub
|
|
||||||
**/Package Control.cache
|
|
||||||
**Cache
|
|
||||||
*.db
|
|
||||||
*.qmlc
|
|
||||||
*.qml
|
|
||||||
*.jsc
|
|
||||||
**/contents/images
|
|
||||||
**/contents/fonts
|
|
||||||
*kpluginindex.json
|
|
||||||
|
|
||||||
*backup
|
|
||||||
*undo
|
|
||||||
*sessions
|
|
||||||
*.bak
|
|
||||||
nvim_switch/
|
|
||||||
*kitty/*.py
|
|
||||||
.prettierignore
|
|
||||||
package-lock.json
|
|
||||||
.prettierrc
|
|
||||||
|
|
||||||
**/built/
|
|
||||||
@@ -1,14 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
#
|
|
||||||
# An example hook script to verify what is about to be committed.
|
|
||||||
# Called by "git commit" with no arguments. The hook should
|
|
||||||
# exit with non-zero status after issuing an appropriate message if
|
|
||||||
# it wants to stop the commit.
|
|
||||||
#
|
|
||||||
# To enable this hook, rename this file to "pre-commit".
|
|
||||||
|
|
||||||
# Check if Gitleaks is installed
|
# Check if Gitleaks is installed
|
||||||
if ! command -v gitleaks > /dev/null 2>&1; then
|
if ! command -v gitleaks >/dev/null 2>&1; then
|
||||||
echo "Gitleaks is not installed. Skipping leak check."
|
echo "Gitleaks is not installed. Skipping leak check."
|
||||||
echo "Please install Gitleaks for enhanced security."
|
echo "Please install Gitleaks for enhanced security."
|
||||||
exit 0
|
exit 0
|
||||||
|
|||||||
@@ -79,11 +79,7 @@ export FZF_DEFAULT_COMMAND='rg --files --hidden'
|
|||||||
export FZF_DEFAULT_OPTS='--layout=reverse --cycle'
|
export FZF_DEFAULT_OPTS='--layout=reverse --cycle'
|
||||||
export DOCKER_CONFIG="${XDG_CONFIG_HOME}/docker"
|
export DOCKER_CONFIG="${XDG_CONFIG_HOME}/docker"
|
||||||
|
|
||||||
[ ! -f "${XDG_CONFIG_HOME}/templates/.gitignore" ] || export GITIGNORE_TEMPLATE="${XDG_CONFIG_HOME}/templates/.gitignore"
|
[ ! -d "${XDG_CONFIG_HOME}/templates" ] || export TEMPLATE_DIR="${XDG_CONFIG_HOME}/templates"
|
||||||
[ ! -f "${XDG_CONFIG_HOME}/templates/.prettierrc" ] || export PRETTIER_TEMPLATE="${XDG_CONFIG_HOME}/templates/.prettierrc"
|
|
||||||
[ ! -f "${XDG_CONFIG_HOME}/templates/.prettierignore" ] || export PRETTIER_IGNORE_TEMPLATE="${XDG_CONFIG_HOME}/templates/.prettierignore"
|
|
||||||
[ ! -f "${XDG_CONFIG_HOME}/templates/pre-commit" ] || export GIT_PRECOMMIT_TEMPLATE="${XDG_CONFIG_HOME}/templates/pre-commit"
|
|
||||||
[ ! -f "${XDG_CONFIG_HOME}/templates/.eslintrc.json" ] || export ESLINT_TEMPLATE="${XDG_CONFIG_HOME}/templates/.eslintrc.json"
|
|
||||||
|
|
||||||
# Python
|
# Python
|
||||||
export PYTHON_HISTORY="${XDG_STATE_HOME}/shell/python_history" # will be picked up by Python 3.13+
|
export PYTHON_HISTORY="${XDG_STATE_HOME}/shell/python_history" # will be picked up by Python 3.13+
|
||||||
|
|||||||
@@ -10,10 +10,78 @@ alias lsa="ls -lAFhZ"
|
|||||||
alias printpath="echo $PATH | tr : '\n'"
|
alias printpath="echo $PATH | tr : '\n'"
|
||||||
|
|
||||||
# Templates
|
# Templates
|
||||||
[ ! -f "$GITIGNORE_TEMPLATE" ] || alias cp_gi='cp ${GITIGNORE_TEMPLATE} .'
|
[ ! -f "${TEMPLATE_DIR}/.gitignore" ] || alias cp_git_ignore='cp ${TEMPLATE_DIR}/.gitignore . && echo ".gitignore added"'
|
||||||
[ ! -f "$PRETTIER_TEMPLATE" ] || alias cp_prc='cp ${PRETTIER_TEMPLATE} .'
|
[ ! -f "${TEMPLATE_DIR}/.prettierrc" ] || alias cp_prettier_rc='cp ${TEMPLATE_DIR}/.prettierrc . && echo ".prettierrc added"'
|
||||||
[ ! -f "$PRETTIER_IGNORE_TEMPLATE" ] || alias cp_prigr='cp ${PRETTIER_IGNORE_TEMPLATE} .'
|
[ ! -f "${TEMPLATE_DIR}/.eslintrc.json" ] || alias cp_eslint='cp ${TEMPLATE_DIR}/.eslintrc.json . && echo ".eslintrc.json added"'
|
||||||
[ ! -f "$ESLINT_TEMPLATE" ] || alias cp_eslint='cp ${ESLINT_TEMPLATE} .'
|
cp_docker_ignore() {
|
||||||
|
local git_ignore_file
|
||||||
|
|
||||||
|
if [ -f .gitignore ]; then
|
||||||
|
git_ignore_file=.gitignore
|
||||||
|
elif [ -f "${TEMPLATE_DIR}/.gitignore" ]; then
|
||||||
|
git_ignore_file="${TEMPLATE_DIR}/.gitignore"
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp "$git_ignore_file" .dockerignore
|
||||||
|
cat <<EOF >>.dockerignore
|
||||||
|
|
||||||
|
# ---- Docker specific ----
|
||||||
|
git/
|
||||||
|
*.md
|
||||||
|
Dockerfile
|
||||||
|
EOF
|
||||||
|
|
||||||
|
echo ".dockerignore added"
|
||||||
|
}
|
||||||
|
|
||||||
|
cp_prettier_ignore() {
|
||||||
|
local git_ignore_file
|
||||||
|
|
||||||
|
if [ -f .gitignore ]; then
|
||||||
|
git_ignore_file=.gitignore
|
||||||
|
elif [ -f "${TEMPLATE_DIR}/.gitignore" ]; then
|
||||||
|
git_ignore_file="${TEMPLATE_DIR}/.gitignore"
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp "$git_ignore_file" .prettierignore
|
||||||
|
cat <<EOF >>.prettierignore
|
||||||
|
|
||||||
|
# ---- Prettier specific ----
|
||||||
|
*backup
|
||||||
|
*undo
|
||||||
|
*sessions
|
||||||
|
.prettierignore
|
||||||
|
package-lock.json
|
||||||
|
.prettierrc
|
||||||
|
EOF
|
||||||
|
echo ".prettierignore added"
|
||||||
|
}
|
||||||
|
|
||||||
|
cp_git_precommit() {
|
||||||
|
local template_file="${TEMPLATE_DIR}/pre-commit"
|
||||||
|
if [ ! -f "$template_file" ]; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d ".git" ]; then
|
||||||
|
echo "Not a git repository"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local hooks_dir
|
||||||
|
hooks_dir="$(pwd)/.git/hooks"
|
||||||
|
|
||||||
|
if [ -f "$hooks_dir/$(basename "$template_file")" ]; then
|
||||||
|
echo "pre-commit hook already exist"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp "$template_file" "$hooks_dir" && printf "Pre-commit hook template copied to %s\n" "$hooks_dir"
|
||||||
|
}
|
||||||
|
|
||||||
# Coding
|
# Coding
|
||||||
command -v tldr >/dev/null && alias tldr="tldr --platform=linux"
|
command -v tldr >/dev/null && alias tldr="tldr --platform=linux"
|
||||||
@@ -33,27 +101,6 @@ git_push_all_changes() {
|
|||||||
git add . && git commit -am "${1}" && git push
|
git add . && git commit -am "${1}" && git push
|
||||||
}
|
}
|
||||||
|
|
||||||
cp_git_precommit() {
|
|
||||||
if [ ! -f "$GIT_PRECOMMIT_TEMPLATE" ]; then
|
|
||||||
echo "Git Pre-commit template does not exist"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
hooks_dir="$(pwd)/.git/hooks"
|
|
||||||
|
|
||||||
if [ ! -d "$hooks_dir" ]; then
|
|
||||||
echo "Git repository not found under $(pwd)"
|
|
||||||
return 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -f "$hooks_dir/$(basename "$GIT_PRECOMMIT_TEMPLATE")" ]; then
|
|
||||||
echo "pre-commit hook already exist. Skipping..."
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
cp "$GIT_PRECOMMIT_TEMPLATE" "$hooks_dir" && printf "Pre-commit hook template copied to %s\n" "$hooks_dir"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Directories and Directory listings
|
# Directories and Directory listings
|
||||||
dir_size() {
|
dir_size() {
|
||||||
if [ "$1" = "" ]; then
|
if [ "$1" = "" ]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user