diff --git a/.local/bin/install/dev.sh b/.local/bin/install/dev.sh new file mode 100755 index 0000000..61276d2 --- /dev/null +++ b/.local/bin/install/dev.sh @@ -0,0 +1,15 @@ +#! bash + +echo "Creating development directories" + +mkdir "$HOME/Code" +mkdir "$HOME/Code/DevOps" # For server and computer admin +mkdir "$HOME/Code/FSharp" +mkdir "$HOME/Code/JavaScript" +mkdir "$HOME/Code/Scala" +mkdir "$HOME/Code/Rust" +mkdir "$HOME/Code/PHP" +mkdir "$HOME/Code/Tutorials" # For doing tutorials/courses +mkdir "$HOME/Code/Sites" # Websites in any language +mkdir "$HOME/Code/MobileApps" # Mobile apps in any language +mkdir "$HOME/Code/Tests" # Small test files/scripts diff --git a/.local/bin/install/firefox.sh b/.local/bin/install/firefox.sh new file mode 100755 index 0000000..de2161b --- /dev/null +++ b/.local/bin/install/firefox.sh @@ -0,0 +1,20 @@ +#! zsh + +FIREFOX=$(enpasscli -vault="$HOME/Documents/Enpass/Vaults/primary" -sort show "Firefox" 2>&1) +FIREFOXUN=$(echo "$FIREFOX" | grep -Po "(?<=login: )\w+") + +wait_for_copy() { + timeout 60s wl-paste --watch sh -c 'kill $PPID' >/dev/null 2>&1 +} + +echo $FIREFOXUN | wl-copy + +firefox "https://accounts.firefox.com/signin?action=email&service=sync" & + +wait_for_copy() + +enpasscli -vault="$HOME/Documents/Enpass/Vaults/primary" -sort copy "Firefox" + +read -s -k $'?Press enter when you have synced Firefox...\n' + +echo "" | wl-copy diff --git a/.local/bin/install/install.sh b/.local/bin/install/install.sh new file mode 100755 index 0000000..32a2364 --- /dev/null +++ b/.local/bin/install/install.sh @@ -0,0 +1,7 @@ +#! bash + +"$HOME/.local/bin/install/password.sh" +"$HOME/.local/bin/install/ssh.sh" +"$HOME/.local/bin/install/dev.sh" +"$HOME/.local/bin/install/firefox.sh" +"$HOME/.local/bin/install/nextcloud.sh" diff --git a/.local/bin/install/nextcloud.sh b/.local/bin/install/nextcloud.sh new file mode 100755 index 0000000..d9b51b4 --- /dev/null +++ b/.local/bin/install/nextcloud.sh @@ -0,0 +1,25 @@ +#! zsh + +# 1. Fetch credentials (Enpass logic remains the same) +TOWER=$(enpasscli -vault="$HOME/Documents/Enpass/Vaults/primary" -sort show "Scarif: Tower" 2>&1) +TOWERUN=$(echo "$TOWER" | grep -Po "(?<=login: )\w+") + +wait_for_copy() { + timeout 60s wl-paste --watch sh -c 'kill $PPID' >/dev/null 2>&1 +} + +echo "https://tower.scarif.space" | wl-copy +mkdir -p "$HOME/Tower" + +nextcloud & + +wait_for_copy +echo "$TOWERUN" | wl-copy + +wait_for_copy +enpasscli -vault="$HOME/Documents/Enpass/Vaults/primary" -sort copy "Scarif: Tower" + +read -s -k $'?Press enter when you have synced Nextcloud... \n' + +wl-copy --clear + diff --git a/.local/bin/install/nixos-todo/setupbacklight b/.local/bin/install/nixos-todo/setupbacklight new file mode 100755 index 0000000..df2fc14 --- /dev/null +++ b/.local/bin/install/nixos-todo/setupbacklight @@ -0,0 +1,8 @@ +#! /bin/bash + +doas tee /etc/udev/rules/90-backlight.rules </dev/null 2>&1 +} + +Enpass & + +wait_for_copy + +echo "$MASTERPW" | wl-copy + +read -n 1 -r -s -p $'Press enter when you have synced enpass...\n' + +echo "" | wl-copy + +CHECKPW=$(enpasscli -vault="$HOME/Documents/Enpass/Vaults/primary" -sort list 2>&1) + +while [[ "$CHECKPW" == *level=fatal* ]]; do + export MASTERPW=$(zenity --password) + CHECKPW=$(enpasscli -vault="$HOME/Documents/Enpass/Vaults/primary" -sort list) +done + +echo "Password set successfuly" + diff --git a/.local/bin/install/ssh.sh b/.local/bin/install/ssh.sh new file mode 100755 index 0000000..0f7d1ed --- /dev/null +++ b/.local/bin/install/ssh.sh @@ -0,0 +1,76 @@ +#! bash + +echo "Setting up SSH" + +# Extract the login details from enpass +LABS=$(enpass-cli -vault="$HOME/Documents/Enpass/Vaults/primary" -sort show "Scarif: Labs" 2>&1) +LABSUN=$(echo "$LABS" | grep -Po "(?<=login: )\w+") +LABSPW=$(enpass-cli -vault="$HOME/Documents/Enpass/Vaults/primary" -sort pass "Scarif: Labs") + +SSHPATH="$HOME/.ssh/id_ed25519" # The path to the SSH key file +TITLE="$USER@$(cat /etc/hostname)" # The title for the SSH key + +# Generate the SSH key if it does not exist +[ ! -f $SSHPATH ] && ssh-keygen -t ed25519 -f "$SSHPATH" -N "" -q + +KEY=$(cat "$SSHPATH.pub") + +# A method to generate the parameters for creating an SSH key on gitea +generate_post_data() { + cat < /dev/null + done + fi +fi + + +# Save the new key in gitea +curl -X POST \ + -s -S \ + -H "Accept: application/json" \ + -H "Content-Type:application/json" \ + --data "$(generate_post_data)" \ + --url "$KEYS_URL" > /dev/null + +HTTP_REPLACE="s/https:\/\/labs\.scarif\.space\//git@labs.scarif.space:/" + +# for dir in $(ls "$HOME/.local/src"); do +# dir="$HOME/.local/src/$dir" +# if [ -d $dir ]; then +# cd "$dir" +# SSH_URL=$(git remote get-url origin | sed "$HTTP_REPLACE") +# git remote set-url origin "$SSH_URL" +# fi +# done + +DOTFILES_SSH_URL=$(git --git-dir "$HOME/.config/dotfiles/.git" --work-tree="$HOME" remote get-url origin | sed "$HTTP_REPLACE") +git --git-dir "$HOME/.config/dotfiles/.git" --work-tree="$HOME" remote set-url origin "$DOTFILES_SSH_URL" + diff --git a/.local/bin/install/vpn.sh b/.local/bin/install/vpn.sh new file mode 100755 index 0000000..76e2e05 --- /dev/null +++ b/.local/bin/install/vpn.sh @@ -0,0 +1,17 @@ +#! bash + +sudo systemctl enable --now expressvpn.service + +VPN=$(enpasscli -vault="$HOME/Documents/Enpass/Vaults/primary" -sort show "ExpressVPN Activation Code" 2>&1) +VPNPW=$(echo "$LABS" | grep -Po "(?<=pass : ).+(?=\")") + +echo "$VPNPW" | xclip -selection clipboard -i + +expressvpn activate + +expressvpn autoconnect true + +expressvpn connect smart + +echo "" | xclip -selection clipboard -i +