Compare commits

...

13 Commits

Author SHA1 Message Date
Bryan Joshua Pedini bea9c85c9a added taglist alias and tagpush functions 2024-03-24 10:00:30 +01:00
Bryan Joshua Pedini 0eb28cf6cc added ability to dynamically source files from file in home directory
added explanation and example in README.md
2024-03-24 09:50:29 +01:00
Bryan Joshua Pedini 3c9736d165 added clarifications in README.md 2024-03-24 09:43:01 +01:00
Bryan Joshua Pedini 759f0c9494 added user, password & container name to samba server, added alias to stop samba server 2024-03-24 06:03:51 +01:00
Bryan Joshua Pedini 39cb410c3e added check for git command presence to enable git functions in terminal fancyfying 2023-12-19 16:56:06 +01:00
Bryan Joshua Pedini d792ce8809 fixed bashrc, removed variable, not working 2023-12-19 16:54:37 +01:00
Bryan Joshua Pedini dc984eb128 removed network host from sambaserver, fixed samba options 2023-12-17 12:33:18 +01:00
Bryan Joshua Pedini 5d6c22f1b8 added infinitenothing alias 2023-12-17 12:32:32 +01:00
Bryan Joshua Pedini c53a382a4f fixed typo in bashrc path, variabilized bashrc path 2023-12-14 15:13:51 +01:00
Bryan Joshua Pedini bcaffe612c fixed move function in deploy.sh 2023-12-14 15:07:11 +01:00
Bryan Joshua Pedini 391b85bea5 fixed new fancyfy scheme in deploy.sh 2023-12-14 15:02:45 +01:00
Bryan Joshua Pedini e24f3337a1 fixed terminal_fancyfy not working for server
excluded fancyfy from source in for loop
added sourcing only the correct file
2023-12-14 14:24:21 +01:00
Bryan Joshua Pedini fdb5d070e4 moved from static list of file to include to for cycle 2023-12-12 15:47:25 +01:00
7 changed files with 103 additions and 36 deletions

View File

@ -6,5 +6,22 @@ Feel free to try or poke around in the source (it's all human-readable bash), or
## Usage
Explaining section for not-so-intuitive configurations
- alias `sambaserver`: please `cd` into the directoy is needed to be shared and execute `sambaserver` followed by `"shareuser;<SUBSTITUTE-YOUR-PASSWORD-HERE>"`, then just login with username `shareuser` and the provided password with the host computer as URL/IP, autodiscovery of both the host and the share was tested working on Windows and a Samsung Tablet.
- alias `termbin`: use when piping a cat/echo/file/etc to upload to termbin.com (¡requires Netcat!)
- alias `sambaserver`: (¡requires Docker!) please `cd` into the directoy is needed to be shared and execute `sambaserver`, then just login with default username `user` and the default password `P4ssw0rd` with the host computer as URL/IP, autodiscovery of both the host and the share was tested working on Windows and a Samsung Tablet.
- alias `sambastop`: (¡requires Docker!) when you're finished, this command stops and removes the samba container.
- alias `termbin`: (¡requires Netcat!) use when piping a cat/echo/file/etc to upload to termbin.com
## Modular sourcing mechanism
Create a file in your home directory called `~/.bash_sources`, and put a script path on every line of this file, it will be sourced automatically.<br>
WARNING: it has to be a full path, for example `/path/to/script.sh` and not abbreviated (as in `~/script.sh`)... idk bash decided like so.<br>
WARNING 2: every line needs to be a path to a file, not a direct command, sourcing a file is possible; souring an "export" or a function... not so much!
#### For example:
`/home/user/.bash_sources`:
```bash
/home/user/.bash_path
/path/to/some/other/script.sh
```
`/home/user/.bash_path`:
```bash
export PATH=~/bin/myproject/bin:$PATH
```

View File

@ -1,12 +1,15 @@
for source in colored_commands \
convenience_aliases \
docker_aliases \
git_functions \
histcontrol \
home_bin_folder \
ls_aliases \
safety_aliases \
terminal_colors \
terminal_fancyfying_${TERMINAL_FANCYFY}; do
. "$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )/$source"
# Source all the overrides in this folder
for source in $(find "$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd)" -type f | grep -Ev "_all|terminal_fancyfying"); do
. "${source}"
done
. "$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd)/terminal_fancyfying_${TERMINAL_FANCYFY}"
# If the file ~/.bash_sources exist, source every line it contains
if [ -f ~/.bash_sources ]; then
while IFS= read -r line; do
# Skip empty lines and comments (#)
if [ -n "$line" ] && ! [[ "$line" == \#* ]]; then
. "$line"
fi
done < ~/.bash_sources
fi

View File

@ -1,4 +1,5 @@
alias pubkey='for PUBKEY_FILE in $(ls ~/.ssh/id_*.pub); do echo "${PUBKEY_FILE} :" | sed -e "s/.*id_//;s/\.pub//"; cat "${PUBKEY_FILE}"; echo; done'
alias taglist='git tag | tr - \~ | sort -V | tr \~ -'
alias hosts='sudo nano /etc/hosts'
alias historygrep='history | grep'
alias sshconfig='nano ~/.ssh/config'
@ -8,8 +9,10 @@ alias sshfingerprint='ssh-keygen -lf'
alias nocomments='grep -vE "^$|^#|^;"'
alias newrepo='bash <(curl -s https://get.bjphoster.com/new-git-repo.sh)'
alias newansibleworkspace='bash <(curl -s https://get.bjphoster.com/new-ansible-workspace.sh)'
alias infinitenothing='while true; do sleep 1; done'
alias sambaserver='docker run -it --rm --network host -p 137:137 -p 138:138 -p 139:139 -p 445:445 -v `pwd`:/share dperson/samba -n -p -s "sambashare;/share;yes;no;no;shareuser" -w "WORKGROUP"'
alias sambaserver='docker run -dit --rm --name sambaserver -p 137:137 -p 138:138 -p 139:139 -p 445:445 -v `pwd`:/share dperson/samba -n -p -u "user;P4ssw0rd" -s "share;/share;yes;no;yes;user;user" -w "WORKGROUP"'
alias sambastop='docker stop sambaserver; docker rm sambaserver'
alias acme.sh='docker run -it --rm -v ~/acme.sh:/acme.sh neilpang/acme.sh'
alias termbin='nc termbin.com 9999'
alias dnsversion='dig txt chaos version.bind'

View File

@ -21,3 +21,16 @@ __git_prompt() {
__git_history() {
echo "$(git log --oneline | cut -d ' ' -f 1)"
}
tagpush() {
if [ -z "$1" ]; then
echo "Usage: tagpush <tag>"
return
fi
git tag "$1"
# for every remote
for REMOTE in $(git remote) ; do
# push current branch and newly created tag
git push "$REMOTE" $(git branch | grep "*" | sed 's/\* //') "$1"
done
}

View File

@ -1,4 +1,7 @@
GIT_FUNCTIONS=true
command -v git &>/dev/null
if [ $? -eq 0 ]; then
GIT_FUNCTIONS=true
fi
# Spaced
#PS1="${LIGHTBLUE}[ ${LIGHTRED}\u ${LIGHTBLUE}@ ${LIGHTBROWN}$(hostname --fqdn) ${LIGHTBLUE}] ${LIGHTPURPLE}( ${GREEN}\w ${LIGHTPURPLE}) "
@ -7,7 +10,7 @@ GIT_FUNCTIONS=true
# another version I really like
PS1="${PURPLE}\# ${LIGHTBLUE}{${LIGHTGREEN}\u${BROWN}@${LIGHTGREEN}\$(hostname --fqdn)${LIGHTBLUE}} ${LIGHTPURPLE}[${CYAN}\w${LIGHTPURPLE}] "
if [ $GIT_FUNCTIONS ]; then
if [ $GIT_FUNCTIONS = "true" ]; then
#PS1="$PS1${LIGHTPURPLE}[${LIGHTCYAN}$(__git_prompt)${LIGHTPURPLE}]"
PS1="$PS1${LIGHTBROWN}(${LIGHTCYAN}\$(__git_prompt)${LIGHTBROWN}) "
fi

View File

@ -1,11 +1,14 @@
GIT_FUNCTIONS=true
command -v git &>/dev/null
if [ $? -eq 0 ]; then
GIT_FUNCTIONS=true
fi
# Spaced
#PS1="${LIGHTBLUE}[ ${LIGHTRED}\u ${LIGHTBLUE}@ ${LIGHTBROWN}$(hostname --fqdn) ${LIGHTBLUE}] ${LIGHTPURPLE}( ${GREEN}\w ${LIGHTPURPLE}) "
# Not spaced
PS1="${LIGHTBLUE}[${LIGHTRED}\u${LIGHTBLUE}@${LIGHTBROWN}$(hostname --fqdn)${LIGHTBLUE}]${LIGHTPURPLE}(${GREEN}\w${LIGHTPURPLE})"
if [ $GIT_FUNCTIONS ]; then
if [ $GIT_FUNCTIONS = "true" ]; then
#PS1="$PS1${LIGHTPURPLE}[${LIGHTCYAN}$(__git_prompt)${LIGHTPURPLE}]"
PS1="$PS1${LIGHTBROWN}(${LIGHTCYAN}\$(__git_prompt)${LIGHTBROWN}) "
fi

View File

@ -1,14 +1,28 @@
#!/usr/bin/env bash
THIS="$(dirname "$(readlink -fm "$0")")"
SERVER=false
FANCYFY="client"
CURRENT_FANCYFY=""
DELETE=false
MOVE=false
PRESENT=false
_bashrc_present() {
if [ ! -z "$(grep "#REF:bashrc_overrides:REF" ~/.bashrc)" ]; then
echo true
exit
fi
echo false
}
_arguments() {
if [ "$(_bashrc_present)" = true ]; then
PRESENT=true
CURRENT_FANCYFY="$(grep TERMINAL_FANCYFY ~/.bashrc | sed 's/.*=//')"
fi
for PARM in "$@"; do
if [ "${PARM}" = "--server" ]; then
SERVER=true
FANCYFY="server"
elif [ "${PARM}" = "--delete" ]; then
DELETE=true
elif [ "${PARM}" = "--move" ]; then
@ -29,7 +43,7 @@ _help() {
echo " --force"
echo " Force the reinstallation of the files"
echo " --delete"
echo " Delete the reference in ~/.bashrc"
echo " Delete the reference in ${BASHRC}"
echo " --move"
echo " Create a new reference if the location of this folder has been changed"
echo " --server"
@ -38,18 +52,18 @@ _help() {
}
_delete() {
sed -i '/REF:bashrc_overrides:REF/{N;d}' ~/.bashrc
sed -i '/REF:bashrc_overrides:REF/{N;N;d}' ~/.bashrc
}
_bashrc_ref() {
echo "#REF:bashrc_overrides:REF" >> ~/.bashrc
echo "export TERMINAL_FANCYFY=client" >> ~/.bashrc
echo "export TERMINAL_FANCYFY=${1}" >> ~/.bashrc
echo ". ${THIS}/bashrc_overrides/_all" >> ~/.bashrc
}
_move() {
_delete
_bashrc_ref
_bashrc_ref "${FANCYFY}"
}
_main() {
@ -57,23 +71,34 @@ _main() {
if [ "${DELETE}" = true ]; then
_delete
echo "removed custom configs"
elif [ "${MOVE}" = true ]; then
_move
elif [ ! -z "$(grep "#REF:bashrc_overrides:REF" ~/.bashrc)" ]; then
echo "bash overrides already in place"
echo "skipping..."
echo
if [ "${PRESENT}" = false ]; then
_bashrc_ref "${FANCYFY}"
echo "unable to move to current directory"
echo "bash overrides not previously present"
echo "adding bash overrides..."
echo
else
_move
echo "moved custom config directory to ${THIS}"
echo
fi
elif [ "${PRESENT}" = true ]; then
if [ "${CURRENT_FANCYFY}" != "${FANCYFY}" ]; then
sed -i "s/TERMINAL_FANCYFY=${CURRENT_FANCYFY}/TERMINAL_FANCYFY=${FANCYFY}/" ~/.bashrc
echo "customized fancyfying"
echo
else
echo "bash overrides already in place"
echo "skipping..."
echo
fi
else
_bashrc_ref
_bashrc_ref "${FANCYFY}"
echo "bash overrides added"
echo
fi
if [ "${SERVER}" = true ]; then
sed -i 's/terminal_fancyfying/terminal_fancyfying_server/' ${THIS}/bashrc_overrides/_all
else
sed -i 's/terminal_fancyfying_server/terminal_fancyfying/' ${THIS}/bashrc_overrides/_all
fi
}
_main "$@"