Compare commits

..

13 Commits

6 changed files with 84 additions and 11 deletions

View File

@@ -15,6 +15,7 @@ size=2000
# Strings # Strings
tag="shrunk" tag="shrunk"
use_tag="Y"
date_YYYYMMDD="`date "+%Y%m%d"`" date_YYYYMMDD="`date "+%Y%m%d"`"
location="." location="."
search="ls" search="ls"
@@ -28,7 +29,7 @@ function usage() {
# Parameters: # Parameters:
# 1) The exit status to use. # 1) The exit status to use.
status=$1 status=$1
echo "Usage: $PROG [-s SIZE] [-l LOCATION] [-A | [-r] [-f] [-d] [-c]] [-h] [-x] [-t]" >&2 echo "Usage: $PROG [-s SIZE] [-l LOCATION] [-A | [-r] [-f] [-d] [-c] [-e | -t] [-h] [-x] [-n]" >&2
cat <<- EOF cat <<- EOF
Compress JPG or PNG image(s). Can handle folders and work recursively. Compress JPG or PNG image(s). Can handle folders and work recursively.
@@ -42,17 +43,18 @@ function usage() {
-F : FORCE the image to be shrunk even if the file is already shrunk. -F : FORCE the image to be shrunk even if the file is already shrunk.
-d : Delete the original image if the compressed image is smaller. -d : Delete the original image if the compressed image is smaller.
-c : Clean the filename of underscores, dashes, 'IMG', etc. -c : Clean the filename of underscores, dashes, 'IMG', etc.
-e | -t : Format timestamp to the expanded model.
-A : Resursively Force, Delete, and Clean. -A : Resursively Force, Delete, and Clean.
-h : Display this usage text. -h : Display this usage text.
-x : Enable BASH debugging. -x : Enable BASH debugging.
-t : Format timestamp. -n : No file extension.
EOF EOF
exit $status exit $status
} }
## Parameters ## ## Parameters ##
while getopts ":s:l:rfFdcAhxt" opt; do while getopts ":s:l:rfFdcetAhxn" opt; do
case $opt in case $opt in
s) in_size="$OPTARG" && size="$in_size" ;; s) in_size="$OPTARG" && size="$in_size" ;;
l) location="$OPTARG" ;; l) location="$OPTARG" ;;
@@ -62,10 +64,11 @@ while getopts ":s:l:rfFdcAhxt" opt; do
d) delete="Y" ;; d) delete="Y" ;;
c) clean="Y" ;; c) clean="Y" ;;
e) expand="Y" ;; e) expand="Y" ;;
A) recurse="Y" && search="find" && force="Y" && delete="Y" && expand="Y" ;; t) expand="Y" ;;
A) recurse="Y" && search="find" && force="Y" && delete="Y" ;;
h) usage 0 ;; h) usage 0 ;;
x) set -x ;; x) set -x ;;
t) format_time="Y" ;; n) use_tag="N" ;;
*) echo "ERROR: Option $OPTARG not recognized." >&2 && usage 1 ;; *) echo "ERROR: Option $OPTARG not recognized." >&2 && usage 1 ;;
esac esac
done done
@@ -114,6 +117,12 @@ $search "$location" | sort | while read image; do
fi fi
new_image="${image//.$extension/}.$tag-$date_YYYYMMDD.$size.$extension" new_image="${image//.$extension/}.$tag-$date_YYYYMMDD.$size.$extension"
if [[ "$use_tag" == "N" ]]; then
new_image="$image"
new_image="${new_image//.$extension/}"
new_image="${new_image//.$tag/}"
new_image="$new_image.$tag.$extension"
fi
## Clean Filename ## ## Clean Filename ##
# Prevent directory from having its name cleaned too. # Prevent directory from having its name cleaned too.
@@ -132,9 +141,7 @@ $search "$location" | sort | while read image; do
# Date Data # Date Data
new_image_exp="${TEMP:0:4}-${TEMP:4:2}-${TEMP:6:2}" new_image_exp="${TEMP:0:4}-${TEMP:4:2}-${TEMP:6:2}"
# Time Data # Time Data
if [[ "$format_time" == "Y" ]]; then new_image_exp="${new_image_exp}_${TEMP:8:2}-${TEMP:10:2}-${TEMP:12:2}"
new_image_exp="${new_image_exp}_${TEMP:8:2}-${TEMP:10:2}-${TEMP:12:2}"
fi
# Remainder Data # Remainder Data
if [[ "${TEMP:14:1}" == "." ]]; then if [[ "${TEMP:14:1}" == "." ]]; then
SEP="" SEP=""
@@ -156,7 +163,7 @@ $search "$location" | sort | while read image; do
fi fi
# Skip if a compressed image was already created today. # Skip if a compressed image was already created today.
if [[ -e "$new_image" || -e $new_image_clean ]]; then if [[ (-e "$new_image" || -e $new_image_clean) && $use_tag == "Y" ]]; then
echo " SKIP: Image has already been shrunk previously, moving on." echo " SKIP: Image has already been shrunk previously, moving on."
continue continue
fi fi

View File

@@ -32,7 +32,7 @@ function usage {
-g : Enable the General config with test contents. -g : Enable the General config with test contents.
-w : Enable the Workstation config with test contents. -w : Enable the Workstation config with test contents.
-s : Enable the Server config with test contents. -s : Enable the Server config with test contents.
-f : Display this system's facts. -f : Display this system's facts.
-h : Display this help text. -h : Display this help text.
EOF EOF
@@ -130,6 +130,7 @@ echo "Installed!"
if [[ "$show_facts" == "Y" ]]; then if [[ "$show_facts" == "Y" ]]; then
echo "Showing Ansible Facts" echo "Showing Ansible Facts"
ansible localhost -m setup --connection=local ansible localhost -m setup --connection=local
exit 0
fi fi
#echo "Adding Ansible Collections..." #echo "Adding Ansible Collections..."

View File

@@ -144,6 +144,11 @@
prod_port: "{{ lookup('ini', 'prod_port file={{gen_file}} default=22') }}" prod_port: "{{ lookup('ini', 'prod_port file={{gen_file}} default=22') }}"
prod_user: "{{ lookup('ini', 'prod_user file={{gen_file}} default=user') }}" prod_user: "{{ lookup('ini', 'prod_user file={{gen_file}} default=user') }}"
- name: General | Account Management | Provisioning Configuration | General | Boolean Check | Swap Block
set_fact:
swap_block: "{{ swap_block | bool }}"
when: swap_block in ("true", "false")
- name: General | Account Management | Provisioning Configuration | General | List - name: General | Account Management | Provisioning Configuration | General | List
set_fact: set_fact:
provision_variables: "{{ provision_variables | combine(item) }}" provision_variables: "{{ provision_variables | combine(item) }}"
@@ -223,6 +228,11 @@
mobile: "{{ lookup('ini', 'mobile file={{wrk_file}} default=false') | bool }}" mobile: "{{ lookup('ini', 'mobile file={{wrk_file}} default=false') | bool }}"
redmode: "{{ lookup('ini', 'redmode file={{wrk_file}} default=true' ) | bool }}" redmode: "{{ lookup('ini', 'redmode file={{wrk_file}} default=true' ) | bool }}"
- name: General | Account Management | Provisioning Configuration | Workstation | Boolean Check | Editing
set_fact:
editing: "{{ editing | bool }}"
when: editing in ("true", "false")
- name: General | Account Management | Provisioning Configuration | Workstation | List - name: General | Account Management | Provisioning Configuration | Workstation | List
set_fact: set_fact:
provision_variables: "{{ provision_variables | combine(item) }}" provision_variables: "{{ provision_variables | combine(item) }}"

View File

@@ -145,7 +145,50 @@
fi fi
curl "https://wttr.in/${1//\ /+}" curl "https://wttr.in/${1//\ /+}"
} }
export_PS1: export PS1='[\u@\h \w]\$ ' export_PS1: |
## Prompts ##
# Old Trusty
#export PS1='[\u@\h \w]\$ '
# 20251201 - Add time.
#export PS1='[\t \u@\h \w]\$ '
# 20251201 - Add colors.
# This helps to determine the color palette numbers:
# https://robotmoon.com/bash-prompt-generator/
PURPLE=`tput setaf 5`
ORANGE=`tput setaf 214`
GREEN=`tput setaf 2`
RED=`tput setaf 9`
SCARLET=`tput setaf 1`
YELLOW=`tput setaf 226` # 11 does not seem to work
GRAY=`tput setaf 8`
RESET=`tput sgr0`
BOLD=`tput bold`
if [[ "$USER" == "root" || $UID == 0 ]]; then
CLR_BRACKETS=$BOLD$YELLOW
CLR_TIME=$BOLD$ORANGE
CLR_USER=$BOLD$SCARLET
CLR_DIR=$BOLD$RED
CLR_PROMPT=$BOLD$GRAY
else
CLR_BRACKETS=$RESET
CLR_TIME=$BOLD$PURPLE
CLR_USER=$BOLD$ORANGE
CLR_DIR=$BOLD$GREEN
CLR_PROMPT=$RESET
fi
export PS1='\[$CLR_BRACKETS\][\[$CLR_TIME\]\t \[$CLR_USER\]\u@\h \[$CLR_DIR\]\w\[$CLR_BRACKETS\]]\[$CLR_PROMPT\]\$ \[$RESET\]'
export PS2='\[$CLR_BRACKETS\](\[$CLR_TIME\]>\[$CLR_USER\]^\[$CLR_DIR\].\[$CLR_USER\]^\[$CLR_BRACKETS\])\[$CLR_TIME\]> \[$RESET\]'
## End Prompts ##
alias_remount: | alias_remount: |
alias remount=' alias remount='
sudo umount /mnt/* sudo umount /mnt/*
@@ -1063,6 +1106,15 @@
status="$?" status="$?"
return "$status" return "$status"
} }
function_loop: |
function loop {
cmd="$1"
while true; do
$cmd
done;
}
alias try="loop "
- name: General | Account Management | Users | Files | Common Variable - name: General | Account Management | Users | Files | Common Variable
set_fact: set_fact:
@@ -1146,6 +1198,7 @@
{{ alias_docker_other }} {{ alias_docker_other }}
{{ alias_flatpak_clean }} {{ alias_flatpak_clean }}
{{ alias_commit }} {{ alias_commit }}
{{ function_loop }}
- name: General | Account Management | Users | Files | .bashrc - name: General | Account Management | Users | Files | .bashrc
blockinfile: blockinfile:

View File

@@ -57,6 +57,7 @@
- { app: "org.tenacityaudio.Tenacity", name: "tenacity", extra: "" } - { app: "org.tenacityaudio.Tenacity", name: "tenacity", extra: "" }
- { app: "io.lmms.LMMS", name: "lmms", extra: "" } - { app: "io.lmms.LMMS", name: "lmms", extra: "" }
- { app: "net.sourceforge.VMPK", name: "vmpk", extra: "" } - { app: "net.sourceforge.VMPK", name: "vmpk", extra: "" }
- { app: "org.musicbrainz.Picard", name: "picard", extra: "" }
flatpaks_gaming: flatpaks_gaming:
- { app: "com.valvesoftware.Steam", name: "steam", extra: "" } - { app: "com.valvesoftware.Steam", name: "steam", extra: "" }
- { app: "com.play0ad.zeroad", name: "zeroad", extra: "" } - { app: "com.play0ad.zeroad", name: "zeroad", extra: "" }

View File

@@ -40,6 +40,7 @@
- "{{ evolution }}*" - "{{ evolution }}*"
- gparted - gparted
- hugo - hugo
- wireless-tools
state: present state: present
- name: Workstation | Linux | Software | Packages | GS Connect (KDE Connect, Android Tool) - name: Workstation | Linux | Software | Packages | GS Connect (KDE Connect, Android Tool)