initial dotfiles

This commit is contained in:
srtk 2026-04-25 16:39:11 +05:30
commit 45e5fe53d2
370 changed files with 25449 additions and 0 deletions

View file

@ -0,0 +1,68 @@
#!/bin/bash
# Extract archive script for Yazi
# Supports: .zip, .tar.gz, .tgz, .tar.bz2, .tbz2, .tar.xz, .txz, .tar, .rar, .7z
archive="$1"
# Check if file exists and is a regular file
if [ ! -f "$archive" ]; then
echo "Error: Not a valid file"
exit 1
fi
# Get the base name without extension for default extraction directory
basename="${archive%.*}"
# Handle double extensions like .tar.gz
if [[ "$archive" =~ \.(tar\.gz|tar\.bz2|tar\.xz)$ ]]; then
basename="${archive%.*.*}"
fi
# Prompt for extraction directory
printf "Extract to directory (default: %s): " "$basename"
read -r extract_dir
# Use default if empty
if [ -z "$extract_dir" ]; then
extract_dir="$basename"
fi
# Create extraction directory if it doesn't exist
mkdir -p "$extract_dir"
# Extract based on file extension
case "$archive" in
*.zip)
unzip -q "$archive" -d "$extract_dir"
;;
*.tar.gz | *.tgz)
tar -xzf "$archive" -C "$extract_dir"
;;
*.tar.bz2 | *.tbz2)
tar -xjf "$archive" -C "$extract_dir"
;;
*.tar.xz | *.txz)
tar -xJf "$archive" -C "$extract_dir"
;;
*.tar)
tar -xf "$archive" -C "$extract_dir"
;;
*.rar)
unrar x "$archive" "$extract_dir/"
;;
*.7z)
7z x "$archive" -o"$extract_dir"
;;
*)
echo "Error: Unsupported archive format"
rmdir "$extract_dir" 2>/dev/null
exit 1
;;
esac
if [ $? -eq 0 ]; then
echo "Successfully extracted to: $extract_dir"
else
echo "Error: Extraction failed"
exit 1
fi