-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstallscript
More file actions
135 lines (115 loc) · 4.12 KB
/
installscript
File metadata and controls
135 lines (115 loc) · 4.12 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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#!/bin/bash
# Install some basic system requirements
sudo apt update
sudo apt install curl fontconfig wget nginx bash-completion vim unzip gh -y
# Symlink bashrc
ln -s $HOME/.dotfiles/shell/.bashrc $HOME/.bashrc
# Symlink vimrc
ln -s $HOME/.dotfiles/shell/.vimrc $HOME/.vimrc
# Symlink fonts
if [ -d "$HOME/.fonts" ];
then
rm $HOME/.fonts
fi
ln -s $HOME/.dotfiles/fonts $HOME/.fonts
ln -s $HOME/.dotfiles/fonts /usr/share/fonts
# Symlink and configure global gitignore
ln -s $HOME/.dotfiles/shell/.gitignore-global $HOME/.gitignore-global
git config --global core.excludesfile $HOME/.gitignore-global
git config --global core.editor "vim"
echo '--------------'
echo 'Configure font'
echo '--------------'
fc-cache -f -v
echo '----------------'
echo 'Install Homebrew'
echo '----------------'
cd $HOME
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
echo '-----------'
echo 'Install FNM'
echo '-----------'
cd $HOME
curl -fsSL https://fnm.vercel.app/install | bash -s -- --skip-shell
cd $HOME/.dotfiles
echo '-----------'
echo 'Install PHP'
echo '-----------'
sudo apt install php php-dev php-fpm -y
echo '-------------'
echo 'Setup PHP PIE'
echo '-------------'
sudo curl -L --output /usr/bin/pie https://github.com/php/pie/releases/download/1.2.1/pie.phar
gh attestation verify --owner php /usr/bin/pie
sudo chmod +x /usr/bin/pie
echo '----------------'
echo 'Install composer'
echo '----------------'
EXPECTED_COMPOSER_CHECKSUM="$(curl https://composer.github.io/installer.sig)"
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
ACTUAL_COMPOSER_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
if [ "$EXPECTED_COMPOSER_CHECKSUM" != "$ACTUAL_COMPOSER_CHECKSUM" ]
then
>&2 echo 'ERROR: Invalid installer checksum'
rm composer-setup.php
exit 1
fi
php composer-setup.php
rm composer-setup.php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod 755 /usr/local/bin/composer
echo '-------------'
echo 'Install redis'
echo '-------------'
sudo apt install redis -y
echo '-------------'
echo 'Install Nginx'
echo '-------------'
sudo apt install nginx -y
echo '---------------'
echo 'Install Mailpit'
echo '---------------'
sudo bash < <(curl -sL https://raw.githubusercontent.com/axllent/mailpit/develop/install.sh)
echo '-------------'
echo 'Install Ngrok'
echo '-------------'
cd
curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null
echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | sudo tee /etc/apt/sources.list.d/ngrok.list
sudo apt update
sudo apt install ngrok
echo '------------'
echo 'Install Rust'
echo '------------'
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --no-modify-path -y
echo '------------'
echo 'Install TMUX'
echo '------------'
sudo apt install tmux -y
ln -sf $HOME/.dotfiles/shell/.tmux.conf $HOME/.tmux.conf
if [ ! -d $HOME/tmux_scripts ]; then
mkdir $HOME/tmux_scripts
fi
ln -sf $HOME/.dotfiles/tmux_scripts/example $HOME/tmux_scripts/example
ln -sf $HOME/.dotfiles/tmux_scripts/mailpit $HOME/tmux_scripts/mailpit
echo '------------------'
echo 'Install GitLab CLI'
echo '------------------'
brew install glab
echo '------------------'
echo 'Install GitHub CLI'
echo '------------------'
(type -p wget >/dev/null || (sudo apt update && sudo apt install wget -y)) \
&& sudo mkdir -p -m 755 /etc/apt/keyrings \
&& out=$(mktemp) && wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg \
&& cat $out | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \
&& sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
&& sudo mkdir -p -m 755 /etc/apt/sources.list.d \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
&& sudo apt update \
&& sudo apt install gh -y
echo '----------------------'
echo 'Install GitHub Copilot'
echo '----------------------'
npm install -g @github/copilot
npx skills add JuliusBrussee/caveman -a github-copilot