diff --git a/config/kitty/colors.conf b/config/kitty/colors.conf deleted file mode 100644 index 16dcf11..0000000 --- a/config/kitty/colors.conf +++ /dev/null @@ -1,20 +0,0 @@ -foreground #fffff6 -background #0E111C -cursor #fffff6 - -color0 #0E111C -color8 #1e253d -color1 #EEDCA1 -color9 #ffffb4 -color2 #C7C7C6 -color10 #ffffe4 -color3 #EED277 -color11 #ffff83 -color4 #7C7E83 -color12 #909cba -color5 #ADADAF -color13 #cacafa -color6 #BFC0C2 -color14 #dff1ff -color7 #eeebdf -color15 #fffff6 diff --git a/config/kitty/kitty.conf b/config/kitty/kitty.conf deleted file mode 100644 index 6b1b513..0000000 --- a/config/kitty/kitty.conf +++ /dev/null @@ -1,50 +0,0 @@ -# author: Daniel Sommer -# license: MIT - -# https://sw.kovidgoyal.net/kitty/overview/#configuring-kitty - -# pointer settings -default_pointer_shape arrow - -# background and color settings -background_opacity 0.9 -include ./colors.conf - -# font settings -font_family Fira Code Nerd Font -bold_font auto -italic_font auto -bold_italic_font auto -font_size 12 - -# cursor settings -shell_integration no-cursor -cursor_shape underline -cursor_blink_interval 1 -cursor_underline_thickness 1.0 - -# tab settings -tab_bar_edge bottom -tab_bar_align left -tab_bar_style powerline -tab_powerline_style slanted - -# url settings -detect_urls yes -url_color #f6d66e -url_style dashed - -# bell settings -enable_audio_bell no - -# refresh settings -sync_to_monitor yes - -# scrollback settings -scrollback_lines 10000 - -# keyboard shortcuts -map ctrl+shift+c no_op -map ctrl+shift+v no_op -map ctrl+alt+c copy_to_clipboard -map ctrl+alt+v paste_from_clipboard diff --git a/config/kitty/kitty.conf.bak b/config/kitty/kitty.conf.bak deleted file mode 100644 index 5ea2c58..0000000 --- a/config/kitty/kitty.conf.bak +++ /dev/null @@ -1,49 +0,0 @@ -# author: Daniel Sommer -# license: MIT - -# https://sw.kovidgoyal.net/kitty/overview/#configuring-kitty - -# pointer settings -default_pointer_shape arrow - -# background and color settings -background_opacity 0.9 - -# font settings -font_family Fira Code Nerd Font -bold_font auto -italic_font auto -bold_italic_font auto -font_size 12 - -# cursor settings -shell_integration no-cursor -cursor_shape underline -cursor_blink_interval 1 -cursor_underline_thickness 1.0 - -# tab settings -tab_bar_edge bottom -tab_bar_align left -tab_bar_style powerline -tab_powerline_style slanted - -# url settings -detect_urls yes -url_color #aa0000 -url_style dashed - -# bell settings -enable_audio_bell no - -# refresh settings -sync_to_monitor yes - -# scrollback settings -scrollback_lines 10000 - -# keyboard shortcuts -map ctrl+shift+c no_op -map ctrl+shift+v no_op -map ctrl+alt+c copy_to_clipboard -map ctrl+alt+v paste_from_clipboard diff --git a/config/psd/.psd.conf b/config/psd/.psd.conf deleted file mode 100644 index 29e6784..0000000 --- a/config/psd/.psd.conf +++ /dev/null @@ -1,10 +0,0 @@ -# Automatically generated file; DO NOT EDIT! -# The purpose is to snapshot the settings used when psd was activated. -# Any edits to the live config: /home/velvettear/.config/psd/psd.conf -# will be applied the _next_ time psd is activated. -# -USE_OVERLAYFS="yes" -USE_SUSPSYNC="" -BROWSERS="firefox" -USE_BACKUPS="yes" -BACKUP_LIMIT="1" diff --git a/config/psd/psd.conf b/config/psd/psd.conf deleted file mode 100644 index a7a3c72..0000000 --- a/config/psd/psd.conf +++ /dev/null @@ -1,70 +0,0 @@ -# -# $XDG_CONFIG_HOME/psd/psd.conf -# -# For documentation, refer man 1 psd or to the wiki page -# https://wiki.archlinux.org/index.php/Profile-sync-daemon - -## NOTE the following: -## To protect data from corruption, in the event that you do make an edit while -## psd is active, any changes made will be applied the next time you start psd. - -# Uncomment and set to "yes" to use overlayfs instead of a full copy to reduce -# the memory costs and to improve sync/unsync operations. Note that your kernel -# MUST have this module available in order to use this mode. -# -USE_OVERLAYFS="yes" - -# Uncomment and set to "yes" to resync on suspend to reduce potential data loss. -# Note that your system MUST have gdbus from glib2 installed to use this mode. -# -#USE_SUSPSYNC="no" - -# List any browsers in the array below to have managed by psd. Useful if you do -# not wish to have all possible browser profiles managed which is the default if -# this array is left commented. -# -# Possible values: -# chromium -# chromium-dev -# conkeror.mozdev.org -# epiphany -# falkon -# firefox -# firefox-trunk -# google-chrome -# google-chrome-beta -# google-chrome-unstable -# heftig-aurora -# icecat -# inox -# luakit -# midori -# opera -# opera-beta -# opera-developer -# opera-legacy -# otter-browser -# qupzilla -# qutebrowser -# palemoon -# rekonq -# seamonkey -# surf -# vivaldi -# vivaldi-snapshot -# -BROWSERS=("firefox") - -# Uncomment and set to "no" to completely disable the crash recovery feature. -# -# The default is to create crash recovery backups if the system is ungracefully -# powered-down due to a kernel panic, hitting the reset switch, battery going -# dead, etc. Some users keep very diligent backups and don't care to have this -# feature enabled. -USE_BACKUPS="yes" - -# Uncomment and set to an integer that is the maximum number of crash recovery -# snapshots to keep (the oldest ones are deleted first). -# -# The default is to save the most recent 5 crash recovery snapshots. -BACKUP_LIMIT=1 diff --git a/scripts/notify.sh b/scripts/notify.sh deleted file mode 100755 index 465ca27..0000000 --- a/scripts/notify.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env zsh - -# author: Daniel Sommer -# license: MIT - -# usage: -# notify.sh [options] -# documentation @ https://docs.ntfy.sh/publish - -url="https://notify.velvettear.de" -user="velvettear" -password="\$Velvet90" - -[[ -z "$1" ]] && printf "error: no topic specified\n" 1>&2 && exit 1 -[[ -z "$2" ]] && printf "error: no payload specified\n" 1>&2 && exit 1 - -url="$url/$1" -payload="$2" - -# check if payload is a file -if [[ -e "$payload" ]]; then - args+=("-T" "$(realpath $payload)" "-H" "Filename: $(basename $payload)") -else - args+=("-d" "$payload") -fi - -# check for valid priority level -function checkPriority() { - prio="$(printf "$1" | tr '[:upper:]' '[:lower:]')" - if [[ "$prio" == "min" ]] || [[ "$prio" == "low" ]] || [[ "$prio" == "default" ]] || [[ "$prio" == "high" ]] || [[ "$prio" == "max" ]] || [[ "$prio" == "urgent" ]]; then - args+=("-H" "Priority: $prio") - fi -} - -# check arguments -index=1 -for arg in "$@"; do - ((index++)) - value="${@[$index]}" - case "$arg" in - -e|--emoji|-i|--icon) - args+=("-H" "Tags: $value") - ;; - -p|--priority) - checkPriority "$value" - ;; - -t|--title) - args+=("-H" "Title: $value") - ;; - esac -done - -curl -s -u $user:$password ${args[@]} $url diff --git a/scripts/nut.sh b/scripts/nut.sh deleted file mode 100755 index 7adc04e..0000000 --- a/scripts/nut.sh +++ /dev/null @@ -1,80 +0,0 @@ -#!/usr/bin/env bash - -# author: Daniel Sommer -# license: MIT - -url="https://notify.velvettear.de/ups" -user="velvettear" -password="\$Velvet90" - -[[ -z "$1" ]] && printf "error: no argument specified\n" 1>&2 && exit 1 - -ups="eaton" - -charge="$(upsc $ups battery.charge 2> /dev/null)" -time="$(upsc $ups battery.runtime 2> /dev/null)" -time="$(date -d@$time -u '+%H:%M:%S')" - -title="$(printf "$1" | tr '[:upper:]' '[:lower:]')" -prio="default" - -if [[ "$title" == "online" ]]; then - msg="$ups is running on line power -battery @ $charge% | $time" - emoji="electric_plug" -elif [[ "$title" == "onbatt" ]]; then - msg="$ups is running on battery -battery @ $charge% | $time" - prio="high" - emoji="battery" -elif [[ "$title" == "lowbatt" ]]; then - msg="$ups's battery is running low battery @ $charge% | $time" - prio="max" - emoji="exclamation" -elif [[ "$title" == "fsd" ]]; then - msg="forced shutdown in progress" - prio="max" - emoji="bangbang" -elif [[ "$title" == "commok" ]]; then - msg="communication with $ups established" - emoji="heavy_check_mark" -elif [[ "$title" == "commbad" ]]; then - msg="communication with $ups lost" - prio="high" - emoji="x" -elif [[ "$title" == "shutdown" ]]; then - msg="shutdown in progress" - prio="max" - emoji="bangbang" -elif [[ "$title" == "replbatt" ]]; then - msg="$ups's battery is dying and needs to be replaced" - prio="urgent" - emoji="skull_and_crossbones" -elif [[ "$title" == "nocomm" ]]; then - msg="$ups is currently unavailable" - prio="high" - emoji="interrobang" -elif [[ "$title" == "noparent" ]]; then - msg="upsmon parent process died and no further actions are possible" - prio="high" - emoji="skull" -elif [[ "$title" == "cal" ]]; then - msg="$ups is currently calibrating" - emoji="gear" -elif [[ "$title" == "off" ]]; then - msg="$ups is administratively off or asleep" - emoji="grey_exclamation" -elif [[ "$title" == "notoff" ]]; then - msg="$ups is no longer administratively off or asleep" - emoji="grey_exclamation" -elif [[ "$title" == "bypass" ]]; then - msg="$ups is currently bypassed" - emoji="grey_exclamation" -elif [[ "$title" == "notbypass" ]]; then - msg="$ups is no longer bypassed" - emoji="grey_exclamation" -else - printf "error: argument unknown\n" 1>&2 && exit 1 -fi - -curl -u $user:$password -d "$msg" -H "Title: $title" -H "Priority: $prio" -H "Tags: $emoji" $url diff --git a/scripts/restic/backup.sh b/scripts/restic/backup.sh deleted file mode 100755 index 3e63cb5..0000000 --- a/scripts/restic/backup.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env zsh - -# author: Daniel Sommer -# license: MIT - -# check if we're running in a subshell, forbid direct execution -[[ "$ZSH_EVAL_CONTEXT" == "toplevel" ]] && printf "error: direct execution of this script is forbidden!\n" >&2 && exit 1 - -# get the "home" directory -home="$(dirname $(realpath "$0"))" - -# check if .env file exists and source it -env="$home/$(hostname).env" -[[ ! -r "$env" ]] && printf "error: config file '"$env"' does not exist!\n" >&2 && exit 1 -source "$env" - -# check if backup directories are defined -[[ -z "$RESTIC_DIRECTORIES" ]] && printf "error: config file '"$env"' does not define any backup directories!\n" >&2 && exit 1 - -printf ">> starting restic backup to repository '"$RESTIC_REPOSITORY"'...\n" - -# execute "pre" action if defined -[[ -n "$RESTIC_BACKUP_PRE" ]] && eval "$RESTIC_BACKUP_PRE" - -for directory in ${RESTIC_DIRECTORIES[@]}; do - seconds="$SECONDS" - printf "\n> backing up '"$directory"'...\n" - sudo --preserve-env -u "$RESTIC_USER" restic backup --verbose --no-scan --retry-lock 3h --no-cache "$directory" - printf "> backup of '"$directory"' finished after "$(( $SECONDS - $seconds ))" seconds!\n" -done - -# execute "post" action if defined -[[ -n "$RESTIC_BACKUP_POST" ]] && eval "$RESTIC_BACKUP_POST" - -printf "\n>> restic backup finished after "$SECONDS" seconds!\n" diff --git a/scripts/restic/prune.sh b/scripts/restic/prune.sh deleted file mode 100755 index da8bcf8..0000000 --- a/scripts/restic/prune.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env zsh - -# author: Daniel Sommer -# license: MIT - -# check if we're running in a subshell, forbid direct execution -[[ "$ZSH_EVAL_CONTEXT" == "toplevel" ]] && printf "error: direct execution of this script is forbidden!\n" >&2 && exit 1 - -# define title and icon for the notification -export RESTIC_NTFY_TITLE="prune" -export RESTIC_NTFY_ICON="red_circle" - -# clear cache directory -rm -rf "/var/cache/restic" - -printf ">> pruning repository '"$RESTIC_REPOSITORY"'...\n\n" - -# execute "pre" action if defined -[[ -n "$RESTIC_PRUNE_PRE" ]] && eval "$RESTIC_PRUNE_PRE" - -sudo --preserve-env -u "$RESTIC_USER" restic forget --keep-daily 7 --keep-weekly 1 --keep-monthly 1 --prune --retry-lock 3h --no-cache - -# execute "post" action if defined -[[ -n "$RESTIC_PRUNE_POST" ]] && eval "$RESTIC_PRUNE_POST" - -printf "\n>> repository pruned after "$SECONDS" seconds!\n" diff --git a/scripts/restic/restic.env b/scripts/restic/restic.env deleted file mode 100644 index 1bd6aae..0000000 --- a/scripts/restic/restic.env +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env zsh - -# author: Daniel Sommer -# license: MIT - -# define user -export RESTIC_USER="restic" - -# override default repository -export RESTIC_REPOSITORY="/mnt/restic" - -# define pre and post backup actions -export RESTIC_BACKUP_PRE="printf '\n> mounting remote storage...\n' && mount -t nfs -o vers=4,soft,noatime,nolock,retrans=1,timeo=10 192.168.100.1:/mnt/storage /mnt/n100" -export RESTIC_BACKUP_POST="printf '\n> unmounting remote storage...\n' && umount /mnt/n100" - -# define pre and post prune actions -export RESTIC_PRUNE_PRE="" -export RESTIC_PRUNE_POST="" - -# define title and icon for the notification -export RESTIC_NTFY_TITLE="storage" -export RESTIC_NTFY_ICON="yellow_circle" - -# define backup directories -export RESTIC_DIRECTORIES=( - "/mnt/n100/audiobooks" - "/mnt/n100/comics" - "/mnt/n100/documents" - "/mnt/n100/ebooks" - "/mnt/n100/images" - "/mnt/n100/music" - "/mnt/n100/software" - "/mnt/n100/syncthing" - "/mnt/n100/videos" -) diff --git a/scripts/restic/restic.sh b/scripts/restic/restic.sh deleted file mode 100755 index 68e218f..0000000 --- a/scripts/restic/restic.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env zsh - -# author: Daniel Sommer -# license: MIT - -# exit on error -set -e - -# check permissions -[[ "$EUID" != 0 ]] && printf "error: permission denied!\n" >&2 && exit 1 - -# check which action to execute -[[ -n "$1" ]] && action="$1" || action="backup" - -# check if script exists -script="$(dirname $(realpath "$0"))/$action.sh" -[[ ! -x "$script" ]] && printf "error: script '"$script"' does not exist or is not executable!\n" >&2 && exit 1 - -# get the "home" directory -home="$(dirname $(realpath "$0"))" - -# setup restic -export RESTIC_USER="$(whoami)" -export RESTIC_REPOSITORY="rest:http://192.168.100.101:8000" -export RESTIC_PASSWORD="\$Velvet90" -export RESTIC_COMPRESSION="auto" -export RESTIC_CACHE_DIR="/var/cache/restic" -export RESTIC_LOG="/var/log/restic-$action.log" - -# check if .env file exists and source it -env="$home/$(hostname).env" -[[ -r "$env" ]] && source "$env" - -# set default values for the notification if undefined -[[ -z "$RESTIC_NTFY_TITLE" ]] && RESTIC_NTFY_TITLE="$(hostname)" -[[ -z "$RESTIC_NTFY_ICON" ]] && RESTIC_NTFY_ICON="white_circle" - -# execute "pre" action if defined -[[ -n "$RESTIC_ACTION_PRE" ]] && eval "$RESTIC_ACTION_PRE" - -# source / execute restic script -source "$script" > >(tee "$RESTIC_LOG") 2>&1 - -# execute "post" action if defined -[[ -n "$RESTIC_ACTION_POST" ]] && eval "$RESTIC_ACTION_POST" - -# send a notification -/etc/velvettear/scripts/notify.sh "restic" "$RESTIC_LOG" --title "$RESTIC_NTFY_TITLE" --icon "$RESTIC_NTFY_ICON" > /dev/null diff --git a/scripts/scan/batch-scan.sh b/scripts/scan/batch-scan.sh deleted file mode 100755 index e80daff..0000000 --- a/scripts/scan/batch-scan.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash - -# author: Daniel Sommer -# license: MIT - -trap 'printf "\n>> batch scan aborted after $SECONDS seconds!\n" && exit 0' SIGINT - -directory="$1" -tmp="$(mktemp -d)" -[[ -z "$directory" ]] && directory="$tmp" - -mkdir -p "$directory" -[[ ! -d "$directory" ]] && printf "error: directory '"$directory"' does not exist and can not be created!\n" >&2 && exit 1 - -printf ">> batch scan started...\n" - -postprocess() { - ocr="$(/home/velvettear/.dots/scripts/ocr.sh "$file")" - printf "> #"$3": ocr for file '"$file"' finished!\n" - printf "$ocr" > "$file.ocr" - if [[ "$directory" != "$tmp" ]]; then - mv "$file" "$directory" - mv "$file.ocr" "$directory" - fi -} - -counter=1 -while true; do - sleep 1 - file="$tmp/$(date '+%Y-%m-%d_%H%M%S.png')" - scanimage --format="png" --output-file "$file" --resolution "300" --mode "Color" 2> /dev/null - if [[ "$?" != "0" ]]; then - rm -rf "$file" 2> /dev/null - continue - fi - printf "> #"$counter": scanning to '"$file"' finished!\n" - #postprocess "$file" "$directory" "$counter" - ((counter++)) -done diff --git a/scripts/scan/ocr.sh b/scripts/scan/ocr.sh deleted file mode 100755 index ac12b8f..0000000 --- a/scripts/scan/ocr.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash - -# author: Daniel Sommer -# license: MIT - -file="$1" -[[ ! -f "$file" ]] && printf "error: specified file '"$file"' does not exist!\n" >&2 && exit 1 - -export OMP_THREAD_LIMIT=1 - -tesseract "$file" - -l "deu+eng" diff --git a/scripts/scan/scan.sh b/scripts/scan/scan.sh deleted file mode 100755 index 45c7177..0000000 --- a/scripts/scan/scan.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env bash - -# author: Daniel Sommer -# license: MIT - -name="$1" -directory="$2" -[[ -z "$directory" ]] && directory="$(mktemp -d)" - -[[ -z "$name" ]] && name="$(date '+%Y-%m-%d_%H%M%S').png" -[[ "$name" != *".png" ]] && name="$name.png" - -mkdir -p "$directory" -[[ ! -d "$directory" ]] && printf "error: directory '"$directory"' does not exist and can not be created!\n" >&2 && exit 1 - -output="$directory/$name" - -scanimage --format="png" --output-file "$output" --resolution "300" --mode "Color" 2> /dev/null - -[[ ! -e "$output" ]] && printf "error: no document was scanned!\n" >&2 && exit 1 -if [[ "$(du "$output" | awk '{print $1}')" == "0" ]]; then - printf "error: scanned document '"$output"' is empty!\n" >&2 - rm -rf "$output" - exit 1 -fi - -printf "$output\n" diff --git a/scripts/update/debian.sh b/scripts/update.sh similarity index 58% rename from scripts/update/debian.sh rename to scripts/update.sh index b2639fd..63c8136 100755 --- a/scripts/update/debian.sh +++ b/scripts/update.sh @@ -1,26 +1,20 @@ -#!/usr/bin/env zsh +#!/data/data/com.termux/files/usr/bin/bash -# author: Daniel Sommer -# license: MIT +# author: Daniel Sommer +# license: MIT -# exit on ctrl-c -trap 'printf ""$font_colored_bold"\n>> system update aborted after "$SECONDS" seconds!"$font_default"\n" && exit 1' SIGINT +# termux update script # font styles & colors font_default="\e[0m" font_colored="\e[32;1m" font_colored_bold="\e[31;1m" -[[ "$EUID" != "0" ]] && printf ""$font_colored_bold">> error: permission denied"$font_default"\n" && exit 1 - for arg in "$@"; do case "$arg" in -n|--noconfirm) noconfirm="true" ;; - -r|--reboot) - reboot="true" - ;; esac done @@ -34,19 +28,13 @@ printf ""$font_colored"> cleaning cache..."$font_default"\n" rm -rf "/var/cache//usr/bin/apt-get/*" [[ "$noconfirm" ]] && /usr/bin/apt-get clean -y || /usr/bin/apt-get clean +printf ""$font_colored"> updating 'pfetch'..."$font_default"\n" +[[ ! -d "$HOME/.pfetch" ]] && mkdir "$HOME/.pfetch" +curl -L -s "https://raw.githubusercontent.com/dylanaraps/pfetch/master/pfetch" > "$HOME/.pfetch/pfetch" +chmod +x "$HOME/.pfetch/pfetch" +[[ ! -f "/data/data/com.termux/files/usr/bin/pfetch" ]] && ln -s "$HOME/.pfetch/pfetch" "/data/data/com.termux/files/usr/bin/pfetch" + printf ""$font_colored"> removing orphaned packages..."$font_default"\n" [[ "$noconfirm" ]] && /usr/bin/apt-get autoremove --purge -y || /usr/bin/apt-get autoremove --purge printf ""$font_colored_bold">> system updated finished after "$SECONDS" seconds!"$font_default"\n" - -[[ -z "$reboot" ]] && exit 0 - -timeout="5" -printf ""$font_colored"> rebooting system in " -while [[ "$timeout" -gt "0" ]]; do - printf "$timeout... " - timeout="$(( timeout - 1 ))" - sleep 1 -done -printf "now!"$font_default"\n" -systemctl reboot diff --git a/scripts/update/alpine.sh b/scripts/update/alpine.sh deleted file mode 100755 index 56dfb0d..0000000 --- a/scripts/update/alpine.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env ash - -# author: Daniel Sommer -# license: MIT - -# exit on ctrl-c -trap 'printf ""$font_colored_bold"\n>> system update aborted!"$font_default"\n" && exit 1' SIGINT - -# font styles & colors -font_default="\e[0m" -font_colored="\e[32;1m" -font_colored_bold="\e[31;1m" - -[[ "$(id -u)" != "0" ]] && printf ""$font_colored_bold">> error: permission denied!"$font_default"\n" && exit 1 - -for arg in "$@"; do - case "$arg" in - -n|--noconfirm) - noconfirm="true" - ;; - -r|--reboot) - reboot="true" - ;; - esac -done - -printf ""$font_colored_bold">> system update started..."$font_default"\n" - -printf ""$font_colored"> updating packages..."$font_default"\n" -[[ "$noconfirm" ]] && apk --update-cache upgrade --progress || apk --update-cache upgrade --progress --interactive - -orphans="$(apk list --orphaned | awk '{print $1}' 2> /dev/null)" -if [[ "$orphans" ]]; then - orphans="$(printf "$orphans" | tr '\n' ' ')" - printf ""$font_colored"> removing orphaned packages..."$font_default"\n" - [[ "$noconfirm" ]] && apk del --purge --progress $orphans || apk del --purge --progress --interactive $orphans -fi - -[[ -f "/etc/motd" ]] && printf ""$font_colored"> removing '/etc/motd'..."$font_default"\n" && rm -f "/etc/motd" - -script="$(dirname $(realpath $0))/conf.d/$(hostname).sh" -[[ -x "$script" ]] && printf ""$font_colored"> executing script "$script"..."$font_default"\n" && (. "$script") - -printf ""$font_colored"> cleaning cache..."$font_default"\n" -apk cache clean &> /dev/null -rm -rf "/var/cache/apk/*" - -printf ""$font_colored_bold">> system updated finished!"$font_default"\n" - -[[ ! "$reboot" ]] && exit 0 - -timeout="5" -printf ""$font_colored"> rebooting system in " -while [[ "$timeout" -gt "0" ]]; do - printf "$timeout... " - timeout="$(( timeout - 1 ))" - sleep 1 -done -printf "now!"$font_default"\n" -reboot diff --git a/scripts/update/arch.sh b/scripts/update/arch.sh deleted file mode 100755 index 6546d6e..0000000 --- a/scripts/update/arch.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/bin/env bash - -# author: Daniel Sommer -# license: MIT - -# font styles & colors -DEFAULT=$(tput sgr0) -BOLD=$(tput bold) -RED=$(tput setaf 1) -GREEN=$(tput setaf 2) -YELLOW=$(tput setaf 3) - -# exit on ctr-c -trap 'printf ""${BOLD}${RED}"\n>> system update aborted after "$SECONDS" seconds!"${DEFAULT}"\n" && exit 1' SIGINT - -# parse arguments -for arg in "$@"; do - case "$arg" in - -n|--noconfirm) - noconfirm="--noconfirm" - ;; - -r|--reboot) - reboot="true" - ;; - esac -done - -# sudo -sudo id -u 2&> /dev/null - -printf "${BOLD}${YELLOW}>> starting system update...${DEFAULT}\n" - -# upgrade installed packages -printf "${YELLOW}> upgrading packages...${DEFAULT}\n" -paru -Syu --sudoloop --combinedupgrade --devel --cleanafter $noconfirm -[[ "$?" != "0" ]] && printf "${RED}>> encountered an error upgrading packages!${DEFAULT}\n" && exit 1 -printf "${GREEN}> packages successfully upgraded!${DEFAULT}\n" - -# remove unused packages -unused="$(paru -Qtdq --sudoloop)" -if [[ -n "$unused" ]]; then - printf "${YELLOW}> removing unused packages...${DEFAULT}\n" - paru -Rns --sudoloop --devel --cleanafter $noconfirm $unused - [[ "$?" != "0" ]] && printf "${RED}>> encountered an error removing unused packages!${DEFAULT}\n" && exit 1 - printf "${GREEN}> successfully removed unused packages!${DEFAULT}\n" -fi - -# clean the pacman cache -printf "${YELLOW}> cleaning pacman & paru cache directories...${DEFAULT}\n" -sudo rm -rf "/var/cache/pacman/*" -sudo rm -rf "$HOME/.cache/paru" -[[ "$?" != "0" ]] && printf "${RED}>> encountered an error cleaning the pacman & paru cache directories!${DEFAULT}\n" && exit 1 -printf "${GREEN}> successfully cleaned the pacman & paru cache directories!${DEFAULT}\n" - -printf "${BOLD}${YELLOW}>> system updated finished after "$SECONDS" seconds!${DEfAULT}\n" - -[[ -z "$reboot" ]] && exit 0 - -# reboot the system -timeout="5" -while [[ "$timeout" -gt "0" ]]; do - if [[ "$timeout" -gt "3" ]]; then - color="${GREEN}" - elif [[ "$timeout" -gt "1" ]]; then - color="${YELLOW}" - else - color="${RED}" - fi - printf "\r${color}> system reboot in ${BOLD}$timeout${DEFAULT} seconds..." - timeout="$((timeout - 1))" - sleep 1 -done -printf "\r${color}> system going down for reboot ${BOLD}NOW!${DEFAULT}\n" -sudo systemctl reboot 2> /dev/null diff --git a/scripts/update/conf.d/aria.sh b/scripts/update/conf.d/aria.sh deleted file mode 100755 index b3ee359..0000000 --- a/scripts/update/conf.d/aria.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env zsh - -# author: Daniel Sommer -# license: MIT - -ariang="/srv/ariang" -user="nginx" - -[[ ! -e "$ariang" ]] && printf "> error: directory '"$ariang"' does not exist\n" 1>&2 && exit 1 - -file="$(find $ariang -type f -iname 'aria-ng*.min.js' -exec realpath {} \;)" -[[ -z "$file" ]] && printf "> error: could not determine file to extract the current version from\n" 1>&2 && exit 1 -current_version="$(awk -F'buildVersion:"|\",buildCommit' '{print $2}' "$file" | xargs | cut -d "v" -f2)" -[[ -z "$current_version" ]] && printf "> error: could not determine current version\n" 1>&2 && exit 1 - -latest_release="$(curl -s -L https://api.github.com/repos/mayswind/AriaNg/releases/latest | grep tag_name | cut -d "\"" -f4 | cut -d "v" -f2)" -[[ -z "$latest_release" ]] && printf "> error: could not determine latest release\n" 1>&2 && exit 1 - -[[ "$current_version" == "$latest_release" ]] && printf "> current version '"$current_version"' is already up to date\n" && exit 0 - -tmp="$(mktemp -d)" -printf "> downloading latest release '"$latest_release"' to temporary directory '"$tmp"'..." -curl -s -L -o "$tmp/ariang-$latest_release.zip" "https://github.com/mayswind/AriaNg/releases/download/$latest_release/AriaNg-$latest_release.zip" &> /dev/null -[[ "$?" != "0" ]] && printf " error!\n" 1>&2 && exit 1 -printf " done!\n" - -printf "> extracting downloaded archive..." -cd "$tmp" -unzip "ariang-$latest_release.zip" &> /dev/null -[[ "$?" != "0" ]] && printf " error!\n" 1>&2 && exit 1 -rm -rf "ariang-$latest_release.zip" &> /dev/null -printf " done!\n" - -printf "> moving extracted files..." -rm -rf "$ariang" &> /dev/null -mv "$tmp" "$ariang" &> /dev/null -printf " done!\n" - -printf "> setting correct permissions..." -chown -R "$user":"$user" "$ariang" -printf " done!\n" diff --git a/scripts/update/conf.d/snappymail.sh b/scripts/update/conf.d/snappymail.sh deleted file mode 100755 index 1862a49..0000000 --- a/scripts/update/conf.d/snappymail.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env zsh - -# author: Daniel Sommer -# license: MIT - -snappymail="/srv/snappymail" -user="nginx" - -[[ ! -e "$snappymail" ]] && printf "> error: directory '"$snappymail"' does not exist\n" 1>&2 && exit 1 - -current_version="$(ls -ltr "$snappymail/snappymail/v" | tail -n 1 | awk '{print $NF}')" -[[ -z "$current_version" ]] && printf "> error: could not determine current version\n" 1>&2 && exit 1 - -latest_release="$(curl -s -L https://api.github.com/repos/the-djmaze/snappymail/releases/latest | grep tag_name | cut -d "\"" -f4 | cut -d "v" -f2)" -[[ -z "$latest_release" ]] && printf "> error: could not determine latest release\n" 1>&2 && exit 1 - -[[ "$current_version" == "$latest_release" ]] && printf "> current version '"$current_version"' is already up to date\n" && exit 0 - -printf "> updating snappymail...\n" - -tmp="$(mktemp -d)" -printf "> downloading latest release '"$latest_release"' to temporary directory '"$tmp"'..." -curl -s -L -o "$tmp/snappymail-$latest_release.tar.gz" "https://github.com/the-djmaze/snappymail/releases/download/v$latest_release/snappymail-$latest_release.tar.gz" &> /dev/null -[[ "$?" != "0" ]] && printf " error!\n" 1>&2 && exit 1 -printf " done!\n" - -printf "> extracting downloaded archive..." -tar -xzf "$tmp/snappymail-$latest_release.tar.gz" -C "$snappymail" --overwrite &> /dev/null -[[ "$?" != "0" ]] && printf " error!\n" 1>&2 && exit 1 -printf " done!\n" - -printf "> getting custom themes..." -git clone "https://git.velvettear.de/velvettear/snappymail-themes.git" "/tmp/snappymail-themes" -themes="$(find "$snappymail/snappymail/v/$latest_release" -type d -iname "themes")" -find "/tmp/snappymail-themes" -mindepth 1 -maxdepth 1 ! -iname ".git" -type d -exec mv {} "$themes/" \; -rm -rf "/tmp/snappymail-themes" - -printf "> setting correct permissions..." -find "$snappymail" -type d -exec chmod 755 {} \; -find "$snappymail" -type f -exec chmod 644 {} \; -chown -R "$user":"$user" "$snappymail" -printf " done!\n" - -printf "> cleaning up..." -find "$snappymail/snappymail/v" -type d -maxdepth 1 ! -iname "v" ! -iname "$latest_release" -exec rm -rf {} \; &> /dev/null -rm -rf "$tmp" -printf " done!\n" diff --git a/scripts/update/update.sh b/scripts/update/update.sh deleted file mode 100755 index 773b234..0000000 --- a/scripts/update/update.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env zsh - -# author: Daniel Sommer -# license: MIT - -# get distro and update script path -distro="$(grep "^ID=" /etc/*release | cut -d "=" -f2)" -if [[ "$distro" == "raspbian" ]]; then - distro="debian" -fi -script="$(dirname $(realpath $0))/$distro.sh" - -# check if update script exists -[[ ! -x "$script" ]] && printf "error: update script '"$script"' does not exist or is not executable!\n" >&2 && exit 1 - -# execute update script -if [[ "$(id -u)" -eq 0 ]] || [[ "$distro" == "arch" ]]; then - "$script" $@ -else - sudo "$script" $@ -fi diff --git a/systemd/wol@.service b/systemd/wol@.service deleted file mode 100644 index 52a6b56..0000000 --- a/systemd/wol@.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=Wake-on-LAN for %i -Requires=network.target -After=network.target - -[Service] -ExecStart=/usr/bin/ethtool -s %i wol g -Type=oneshot - -[Install] -WantedBy=multi-user.target diff --git a/zsh/conf.d/fujitsu b/zsh/conf.d/fujitsu deleted file mode 100755 index 0a0005b..0000000 --- a/zsh/conf.d/fujitsu +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env zsh -# __ _ _ _ -# / _| (_|_) | -# | |_ _ _ _ _| |_ ___ _ _ -# | _| | | | | | __/ __| | | | -# | | | |_| | | | |_\__ \ |_| | -# |_| \__,_| |_|\__|___/\__,_| -# _/ | -# |__/ -# -# author: Daniel Sommer -# license: MIT - -# ----- general aliases ----- # -alias eza='eza --icons --group --time-style long-iso --octal-permissions --git' -alias ls='eza' -alias ll='eza --long' -alias la='eza --all' -alias lla='eza --long --all' -alias df='duf' -alias du='gdu' -alias grep='rg -P' -alias grepa='rg -P --hidden' -alias find='fd' -alias findf='fd --type file' -alias findd='fd --type directory' -alias findl='fd --type symlink' -alias finds='fd --type socket' -alias findp='fd --type pipe' -alias findx='fd --type executable' -alias finde='fd --type empty' -alias bat='bat --style header-filename,header-filesize,grid,snip,changes,numbers' -alias cat='bat' -alias batp='bat --style plain' -alias catp='batp' -alias pfetch='printf "\n" && pfetch' -alias fetch='pfetch' -alias stats='pfetch' -alias icat='kitten icat' - -# ----- non-ssh aliases ----- # -if [[ -z "$SSH_TTY" ]]; then - alias ssh='kitty +kitten ssh' -fi - -# ----- pfetch ----- # -export PF_INFO="ascii title host kernel memory wm shell editor pkgs uptime palette" - -# ----- kde ----- # -[[ -z "${DISPLAY}" ]] && [[ "${XDG_VTNR}" -eq 1 ]] && exec /usr/lib/plasma-dbus-run-session-if-needed /usr/bin/startplasma-wayland &> /dev/null diff --git a/zsh/conf.d/n97 b/zsh/conf.d/n97 deleted file mode 100755 index 95899cc..0000000 --- a/zsh/conf.d/n97 +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env zsh -# _____ ______ -# | _ ||___ / -# _ __ | |_| | / / -# | '_ \ \____ | / / -# | | | |.___/ /./ / -# |_| |_|\____/ \_/ -# -# author: Daniel Sommer -# license: MIT - -# ----- general aliases ----- # -alias eza='eza --icons --group --time-style long-iso --octal-permissions --git' -alias ls='eza' -alias ll='eza --long' -alias la='eza --all' -alias lla='eza --long --all' -alias df='duf' -alias du='gdu' -alias grep='rg -P' -alias grepa='rg -P --hidden' -alias find='fd' -alias findf='fd --type file' -alias findd='fd --type directory' -alias findl='fd --type symlink' -alias finds='fd --type socket' -alias findp='fd --type pipe' -alias findx='fd --type executable' -alias finde='fd --type empty' -alias bat='bat --style header-filename,header-filesize,grid,snip,changes,numbers' -alias cat='bat' -alias batp='bat --style plain' -alias catp='batp' -alias pfetch='printf "\n" && pfetch' -alias fetch='pfetch' -alias stats='pfetch' -alias icat='kitten icat' - -# ----- non-ssh aliases ----- # -if [[ -z "$SSH_TTY" ]]; then - alias ssh='kitty +kitten ssh' -fi - -# ----- pfetch ----- # -export PF_INFO="ascii title host kernel memory wm shell editor pkgs uptime palette" - -# ----- kde ----- # -[[ -z "${DISPLAY}" ]] && [[ "${XDG_VTNR}" -eq 1 ]] && exec /usr/lib/plasma-dbus-run-session-if-needed /usr/bin/startplasma-wayland &> /dev/null diff --git a/zsh/conf.d/xu4q b/zsh/conf.d/xu4q deleted file mode 100755 index 032150d..0000000 --- a/zsh/conf.d/xu4q +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env zsh -# ___ -# / | -# __ ___ _ / /| | __ _ -# \ \/ / | | / /_| |/ _` | -# > <| |_| \___ | (_| | -# /_/\_\\__,_| |_/\__, | -# | | -# |_| -# -# author: Daniel Sommer -# license: MIT - -# ----- general aliases ----- # -alias pfetch='printf "\n" && pfetch' -alias fetch='pfetch' -alias stats='pfetch' -alias icat='kitten icat' - -# ----- pfetch ----- # -export PF_INFO="ascii title host kernel memory wm shell editor pkgs uptime palette" diff --git a/zsh/zshrc b/zsh/zshrc index a7173a8..51c3365 100755 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -31,10 +31,7 @@ alias mkdirp='mkdir -p' alias vi='nvim' alias vim='nvim' alias diff='diff --color=auto' -alias update='$HOME/.dots/scripts/update/update.sh' - -# ----- conf.d ----- # -. "$HOME/.dots/zsh/conf.d/$(hostname)" &> /dev/null +alias update='$HOME/.dots/scripts/update.sh' # ----- root ----- # [[ "$EUID" != "0" ]] && return