diff --git a/.config/yadm/bootstrap b/.config/yadm/bootstrap new file mode 100755 index 0000000..db10ff3 --- /dev/null +++ b/.config/yadm/bootstrap @@ -0,0 +1,3 @@ +#!/bin/env sh + +$HOME/.config/yadm/bootstrap.v2/bootstrap diff --git a/.config/yadm/bootstrap.v2/actions/30-KDEConnect.sh b/.config/yadm/bootstrap.v2/actions/30-KDEConnect.sh deleted file mode 100755 index 3ba8099..0000000 --- a/.config/yadm/bootstrap.v2/actions/30-KDEConnect.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/env sh - -sudo firewall-cmd --permanent --add-port=1714-1764/{tcp,udp} - -echo "-- For some reason, its recommended to reboot your device to make kdeconnect work..." diff --git a/.config/yadm/bootstrap.v2/actions/30-MimeDefaults.sh b/.config/yadm/bootstrap.v2/actions/30-MimeDefaults.sh deleted file mode 100755 index 029f7e1..0000000 --- a/.config/yadm/bootstrap.v2/actions/30-MimeDefaults.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/env sh - -xdg-mime default vimiv.desktop image/{png,jpeg} diff --git a/.config/yadm/bootstrap.v2/actions/30-Yazi.sh.bak b/.config/yadm/bootstrap.v2/actions/30-Yazi.sh.bak deleted file mode 100755 index 43b3bab..0000000 --- a/.config/yadm/bootstrap.v2/actions/30-Yazi.sh.bak +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/env sh - -ya pack --install diff --git a/.config/yadm/bootstrap.v2/actions/30-Zsh.sh b/.config/yadm/bootstrap.v2/actions/30-Zsh.sh deleted file mode 100755 index 70997f0..0000000 --- a/.config/yadm/bootstrap.v2/actions/30-Zsh.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/env sh - -chsh -s $(which zsh) - -sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --keep-zshrc --unattended || exit 0 diff --git a/.config/yadm/bootstrap.v2/actions/40-GitRepositories.sh b/.config/yadm/bootstrap.v2/actions/40-GitRepositories.sh deleted file mode 100755 index 95a1eb4..0000000 --- a/.config/yadm/bootstrap.v2/actions/40-GitRepositories.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/env sh - -declare -A repositories - -repositories['DSA']="ssh://git.php.fail/neintonine/dsa.git" -repositories['Notes']="ssh://git.php.fail/neintonine/notes.git" -repositories['gameconcepts']="ssh://git.php.fail/neintonine/game-concepts.git" - -for path in "${!repositories[@]}"; do - url=${repositories[$path]} - - realPath="${HOME}/$path" - if [ -d "$realPath" ]; then - echo "-- $realPath already exist... skipping clone" - continue - fi - - echo "-- Cloning to $realPath"; - git clone "$url" "$realPath" -done - diff --git a/.config/yadm/bootstrap.v2/actions/99-Darkman.sh b/.config/yadm/bootstrap.v2/actions/99-Darkman.sh deleted file mode 100644 index 87eeaba..0000000 --- a/.config/yadm/bootstrap.v2/actions/99-Darkman.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/env sh - -echo "# Refreshing darkman (bruteforce method)" -darkman toggle -darkman toggle diff --git a/.config/yadm/bootstrap.v2/applications/03-Bluetooth.sh b/.config/yadm/bootstrap.v2/applications/03-Bluetooth.sh index 197b65f..9d91a3a 100755 --- a/.config/yadm/bootstrap.v2/applications/03-Bluetooth.sh +++ b/.config/yadm/bootstrap.v2/applications/03-Bluetooth.sh @@ -3,4 +3,8 @@ addApplications bluez \ bluez-utils -sudo systemctl enable --now bluetooth.service +setupBluetooth() { + sudo systemctl enable --now bluetooth.service +} + +addActions setupBluetooth diff --git a/.config/yadm/bootstrap.v2/applications/11-DesktopEnv.sh b/.config/yadm/bootstrap.v2/applications/11-DesktopEnv.sh index 7fd2dca..836d2b6 100755 --- a/.config/yadm/bootstrap.v2/applications/11-DesktopEnv.sh +++ b/.config/yadm/bootstrap.v2/applications/11-DesktopEnv.sh @@ -4,8 +4,6 @@ if [ -z ${XDG_SESSION_DESKTOP+x} ]; then read -p "-- Which desktop environment do you want to install? " -r XDG_SESSION_DESKTOP fi -echo "-- Adding dependencies for $XDG_SESSION_DESKTOP" - if [ $XDG_SESSION_DESKTOP = "i3" ]; then addApplications polybar \ betterlockscreen \ diff --git a/.config/yadm/bootstrap.v2/applications/30-GeneralPrograms.sh b/.config/yadm/bootstrap.v2/applications/30-GeneralPrograms.sh index eb3ed5e..5a9c245 100755 --- a/.config/yadm/bootstrap.v2/applications/30-GeneralPrograms.sh +++ b/.config/yadm/bootstrap.v2/applications/30-GeneralPrograms.sh @@ -3,4 +3,6 @@ addApplications zen-browser-bin \ zathura zathura-pdf-mupdf \ onlyoffice-bin \ - bitwarden + bitwarden \ + blueman \ + planify diff --git a/.config/yadm/bootstrap.v2/applications/30-Git.sh b/.config/yadm/bootstrap.v2/applications/30-Git.sh index 206787f..f37ab16 100755 --- a/.config/yadm/bootstrap.v2/applications/30-Git.sh +++ b/.config/yadm/bootstrap.v2/applications/30-Git.sh @@ -3,16 +3,4 @@ addApplications git gnome-keyring \ git-credential-oauth -configure-git-oauth() { - git credential-oauth configure -} - -#source ./30-GitUserConfig.sh.add - -if ! git config list | grep "credential.helper=oauth" >/dev/null; then - addActions configure-git-oauth -fi - -if ! git config list | grep "user.name" > /dev/null; then - addActions git-user-config -fi +addActions "git credential-oauth configure" diff --git a/.config/yadm/bootstrap.v2/applications/30-GitUserConfig.sh.add##class.Work b/.config/yadm/bootstrap.v2/applications/30-GitUserConfig.sh##class.Work similarity index 72% rename from .config/yadm/bootstrap.v2/applications/30-GitUserConfig.sh.add##class.Work rename to .config/yadm/bootstrap.v2/applications/30-GitUserConfig.sh##class.Work index b9d6d3b..ba9421c 100755 --- a/.config/yadm/bootstrap.v2/applications/30-GitUserConfig.sh.add##class.Work +++ b/.config/yadm/bootstrap.v2/applications/30-GitUserConfig.sh##class.Work @@ -1,6 +1,7 @@ #!/bin/env sh -git-user-config() { +gitUserConfig() { git config --global user.email "fedde@eventit.ag" git config --global user.name "Michel Fedde" } +addActions gitUserConfig diff --git a/.config/yadm/bootstrap.v2/applications/30-GitUserConfig.sh.add##default b/.config/yadm/bootstrap.v2/applications/30-GitUserConfig.sh##default similarity index 73% rename from .config/yadm/bootstrap.v2/applications/30-GitUserConfig.sh.add##default rename to .config/yadm/bootstrap.v2/applications/30-GitUserConfig.sh##default index 9e7107d..67c9db3 100755 --- a/.config/yadm/bootstrap.v2/applications/30-GitUserConfig.sh.add##default +++ b/.config/yadm/bootstrap.v2/applications/30-GitUserConfig.sh##default @@ -1,6 +1,8 @@ #!/bin/env sh -git-user-config() { +gitUserConfig() { git config --global user.email "git@iedsoftworks.com" git config --global user.name "Michel Fedde" } + +addActions gitUserConfig diff --git a/.config/yadm/bootstrap.v2/applications/30-KDEConnect.sh b/.config/yadm/bootstrap.v2/applications/30-KDEConnect.sh index 714e902..cb5e596 100755 --- a/.config/yadm/bootstrap.v2/applications/30-KDEConnect.sh +++ b/.config/yadm/bootstrap.v2/applications/30-KDEConnect.sh @@ -1,3 +1,11 @@ #!/bin/env sh addApplications kdeconnect + +setupKDEConnect() { + sudo firewall-cmd --permanent --add-port=1714-1764/{tcp,udp} + + echo "-- For some reason, its recommended to reboot your device to make kdeconnect work..." +} + +addActions setupKDEConnect diff --git a/.config/yadm/bootstrap.v2/applications/30-Thunar.sh b/.config/yadm/bootstrap.v2/applications/30-Thunar.sh index c60f93a..4177ab9 100755 --- a/.config/yadm/bootstrap.v2/applications/30-Thunar.sh +++ b/.config/yadm/bootstrap.v2/applications/30-Thunar.sh @@ -1,7 +1,5 @@ #!/bin/env sh -echo "# Installing thunar" - addApplications thunar \ gvfs \ thunar-archive-plugin \ diff --git a/.config/yadm/bootstrap.v2/applications/30-Vimiv.sh b/.config/yadm/bootstrap.v2/applications/30-Vimiv.sh old mode 100644 new mode 100755 diff --git a/.config/yadm/bootstrap.v2/applications/30-Zsh.sh b/.config/yadm/bootstrap.v2/applications/30-Zsh.sh index 9d757ba..543a9df 100755 --- a/.config/yadm/bootstrap.v2/applications/30-Zsh.sh +++ b/.config/yadm/bootstrap.v2/applications/30-Zsh.sh @@ -1,3 +1,13 @@ #!/bin/env sh addApplications zsh oh-my-zsh + +setupZsh() { + chsh -s $(which zsh) + + sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --keep-zshrc --unattended || return 0 +} + +if [ $SHELL != "/usr/bin/zsh" ]; then + addActions setupZsh +fi diff --git a/.config/yadm/bootstrap.v2/applications/40-GitRepositories.sh##class.Work b/.config/yadm/bootstrap.v2/applications/40-GitRepositories.sh##class.Work new file mode 100755 index 0000000..8b13789 --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/40-GitRepositories.sh##class.Work @@ -0,0 +1 @@ + diff --git a/.config/yadm/bootstrap.v2/applications/40-GitRepositories.sh##default b/.config/yadm/bootstrap.v2/applications/40-GitRepositories.sh##default new file mode 100755 index 0000000..31a1f2a --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/40-GitRepositories.sh##default @@ -0,0 +1,25 @@ +#!/bin/env sh + + +setupGitRepositories() { + + declare -A repositories + + repositories['DSA']="ssh://git.php.fail/neintonine/dsa.git" + repositories['Notes']="ssh://git.php.fail/neintonine/notes.git" + repositories['gameconcepts']="ssh://git.php.fail/neintonine/game-concepts.git" + for path in "${!repositories[@]}"; do + url=${repositories[$path]} + + realPath="${HOME}/$path" + if [ -d "$realPath" ]; then + echo "-- $realPath already exist... skipping clone" + continue + fi + + echo "-- Cloning to $realPath"; + git clone "$url" "$realPath" + done +} + +addActions setupGitRepositories diff --git a/.config/yadm/bootstrap.v2/applications/40-MimeDefaults.sh b/.config/yadm/bootstrap.v2/applications/40-MimeDefaults.sh new file mode 100755 index 0000000..20831d9 --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/40-MimeDefaults.sh @@ -0,0 +1,6 @@ +#!/bin/env sh + +setupMimeTypes() { + xdg-mime default vimiv.desktop image/{png,jpeg} +} +addActions setupMimeTypes diff --git a/.config/yadm/bootstrap.v2/applications/99-Reload.sh b/.config/yadm/bootstrap.v2/applications/99-Reload.sh new file mode 100755 index 0000000..e350e7f --- /dev/null +++ b/.config/yadm/bootstrap.v2/applications/99-Reload.sh @@ -0,0 +1,9 @@ +#!/bin/env sh + +reloadDarkman() { + echo "# Refreshing darkman (bruteforce method)" + darkman toggle + darkman toggle +} + +addActions reloadDarkman diff --git a/.config/yadm/bootstrap.v2/bootstrap b/.config/yadm/bootstrap.v2/bootstrap index 64a1f99..c2ebd61 100755 --- a/.config/yadm/bootstrap.v2/bootstrap +++ b/.config/yadm/bootstrap.v2/bootstrap @@ -7,11 +7,9 @@ SCRIPTPATH="$( pwd -P )" APPLICATIONS_PATH="$SCRIPTPATH/applications" -ACTIONS_PATH="$SCRIPTPATH/actions" -#$SCRIPTPATH/functions/set_class.sh +$SCRIPTPATH/functions/set_class.sh source $SCRIPTPATH/functions/pkg.sh -source $SCRIPTPATH/functions/filerunner.sh if [[ ! -d "$APPLICATIONS_PATH" ]]; then echo "Error: applications directory '$APPLICATIONS_PATH' not found" >&2 @@ -30,7 +28,7 @@ actions=() addApplications () { for application in "$@"; do - echo "adding application: $application" + # echo "adding application: $application" applications+=("$application") done @@ -39,7 +37,7 @@ addApplications () addActions() { for action in "$@"; do - echo "adding action: $action" + # echo "adding action: $action" actions+=("$action") done @@ -55,4 +53,8 @@ echo -n "# Installing/Updating applications (${#applications[@]})" installPackages ${applications[*]} echo "# Executing actions... (${#actions[@]})" - +for action in "${actions[@]}"; +do + echo "==> Now executing: ${action}" + $action +done diff --git a/.config/yadm/bootstrap.v2/functions/filerunner.sh b/.config/yadm/bootstrap.v2/functions/filerunner.sh deleted file mode 100644 index 238ae27..0000000 --- a/.config/yadm/bootstrap.v2/functions/filerunner.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/env sh - -_repeat() { - local start=1 - local end=${1:-80} - local str="${2:-=}" - local range=$(seq $start $end) - for i in $range; do echo -n "${str}"; done -} - -_header() { - local length="$1" - echo -n "/=" - _repeat ${length} "=" - echo "=\\" -} -_value() { - local value="$1" - echo -n "| " - echo -n ${value} - echo " |" -} -_footer() { - local length="$1" - echo -n "\\=" - _repeat ${length} "=" - echo "=/" -} - -display() { - local value="$1" - _header ${#value} - _value "${value}" - _footer ${#value} -} - -runfile() { - local command="$1" - local commandName=$(basename $command) - local prompt="Do you wish to run $commandName? [Ynq]" - local display="Executing $commandName" - - local promptLength=$((${#prompt})) - local displayLength=${#display} - - local maxWidth=$((promptLength > displayLength ? promptLength : displayLength)) - - _header ${maxWidth} - - read -p "| $prompt |" -n 1 -r -s - echo - - if [[ $REPLY =~ ^[Nn]$ ]]; then - _footer ${maxWidth} - return - fi - - if [[ $REPLY =~ ^[Qq]$ ]]; then - _footer ${maxWidth} - display "Exiting..." - exit 0 - fi - - echo -n "| $display" - _repeat $((maxWidth - displayLength)) " " - echo " |" - - _footer ${maxWidth} - - if ! "$command"; then - echo "Error: bootstrap '$command' failed" >&2 - exit 1 - fi -} diff --git a/.gitignore b/.gitignore index 891b803..6983bb8 100644 --- a/.gitignore +++ b/.gitignore @@ -70,3 +70,5 @@ .config/yadm/bootstrap.v1/bootstrap.d/10-SDDM.sh .config/yadm/bootstrap.v2/applications/02-AMDGPUDrivers.sh .config/yadm/bootstrap.v2/applications/10-SDDM.sh +.config/yadm/bootstrap.v2/applications/30-GitUserConfig.sh +.config/yadm/bootstrap.v2/applications/40-GitRepositories.sh