forked from monk-blade/ubuntu
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.sh
More file actions
77 lines (71 loc) · 2.77 KB
/
install.sh
File metadata and controls
77 lines (71 loc) · 2.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!/bin/sh
set -e
SDIR="$(cd -P -- "$(dirname -- "$(command -v -- "$0")")" && pwd -P)"
chezmoi="chezmoi"
bw="bw"
if [ ! $(command -v chezmoi) ]; then
echo "################################################################################"
echo "### chezmoi installation"
echo "################################################################################"
if [ "$(command -v brew)" ]; then
brew install chezmoi
chezmoi="/opt/homebrew/bin/chezmoi"
elif [ "$(command -v pacman)" ]; then
sudo pacman -Sy --noconfirm chezmoi
elif [ "$(command -v curl)" ]; then
chezmoi="$HOME/.local/bin/chezmoi"
mkdir -p "$HOME/.local/bin"
sh -c "$(curl -fsSL https://git.io/chezmoi)" -- -b "$HOME/.local/bin"
elif [ "$(command -v wget)" ]; then
chezmoi="$HOME/.local/bin/chezmoi"
mkdir -p "$HOME/.local/bin"
sh -c "$(wget -qO- https://git.io.chezmoi)" -- -b "$HOME/.local/bin"
else
echo "No chezmoi installation method available (install curl or wget)"
exit 1
fi
fi
if [ ! $(command -v bw) ]; then
echo "################################################################################"
echo "### bitwarden installation"
echo "################################################################################"
if [ "$(command -v brew)" ]; then
brew install bitwarden-cli
bw="/opt/homebrew/bin/bw"
elif [ "$(command -v pacman)" ]; then
sudo pacman -Sy --noconfirm bitwarden-cli
elif [ "$(command -v curl)" ]; then
bw="$HOME/.local/bin/bw"
curl -sSLO "${bw}.zip" 'https://vault.bitwarden.com/download/?app=cli&platform=linux'
elif [ "$(command -v wget)" ]; then
bw="$HOME/.local/bin/bw"
wget -qO "${bw}.zip" 'https://vault.bitwarden.com/download/?app=cli&platform=linux'
else
echo "No bw installation method available (install curl or wget)"
exit 1
fi
fi
if [ -e "${bw}.zip " ]; then
pushd "$HOME/.local/bin" >/dev/null
unzip "${bw}.zip"
rm -f "${bw}.zip"
chmod +x "${bw}"
popd >/dev/null
fi
echo "################################################################################"
echo "### bitwarden configuration"
echo "################################################################################"
while ! bw login --check; do
read -p "Bitwarden server: " server
if [ -n "${server}" ]; then
$bw config server "$server"
fi
$bw login
done
while ! $bw unlock --check; do
export BW_SESSION=$(bw unlock --raw)
done
echo "################################################################################"
echo "### chezmoi initialization"
echo "################################################################################"
exec "$chezmoi" init --apply "--source=${SDIR}"