|
|
@ -5,6 +5,22 @@ DIR="$(realpath "$(dirname "$0")")" |
|
|
|
# script must start at home directory |
|
|
|
cd "$HOME" || exit 1; |
|
|
|
|
|
|
|
bootstrap_paru () { |
|
|
|
mkdir -p "$HOME/repos" |
|
|
|
cd "$HOME/repos" || exit 1 |
|
|
|
git clone https://aur.archlinux.org/paru-bin.git |
|
|
|
cd paru-bin || exit 1 |
|
|
|
makepkg -si || exit 2 |
|
|
|
cd "$HOME" || exit 1 |
|
|
|
} |
|
|
|
|
|
|
|
paru_exists() { |
|
|
|
if ! command -V paru; then |
|
|
|
echo "Paru doesn't exist. Installing it" |
|
|
|
bootstrap_paru |
|
|
|
fi |
|
|
|
} |
|
|
|
|
|
|
|
usertest() { |
|
|
|
if test "$(id -u)" -eq 0; then |
|
|
|
echo "You cannot run this script as root."; |
|
|
@ -16,21 +32,13 @@ usertest() { |
|
|
|
exit 1 |
|
|
|
fi |
|
|
|
|
|
|
|
sudo apt install -y make curl |
|
|
|
echo "Updating APT and adding PPA's" |
|
|
|
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash - |
|
|
|
sudo apt update -y || exit 1 |
|
|
|
sudo apt upgrade -y || exit 1 |
|
|
|
sudo pacman -Syu |
|
|
|
sudo pacman --noconfirm -S base-devel |
|
|
|
} |
|
|
|
|
|
|
|
dev() { |
|
|
|
echo "Developer tools..." |
|
|
|
sudo apt install -y libfuse2 fuse |
|
|
|
# install neovim through appimage (no snaps) |
|
|
|
sudo curl https://github.com/neovim/neovim/releases/download/v0.6.1/nvim.appimage -LJo "/usr/local/bin/nvim" |
|
|
|
sudo chmod +x "/usr/local/bin/nvim" |
|
|
|
# install nodejs (coc in neovim) |
|
|
|
sudo apt-get update -y && sudo apt-get install -y nodejs |
|
|
|
sudo pacman --noconfirm -S neovim nodejs |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -56,42 +64,20 @@ sysinfo() { |
|
|
|
} |
|
|
|
|
|
|
|
shell() { |
|
|
|
sudo apt install -y zsh tmux |
|
|
|
curl -sS https://starship.rs/install.sh | sh |
|
|
|
sudo pacman --noconfirm -S zsh tmux starship |
|
|
|
} |
|
|
|
|
|
|
|
browsers() { |
|
|
|
sudo apt remove -y firefox |
|
|
|
sudo snap remove firefox |
|
|
|
# install brave |
|
|
|
sudo apt install apt-transport-https -y |
|
|
|
sudo curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg |
|
|
|
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main"|sudo tee /etc/apt/sources.list.d/brave-browser-release.list |
|
|
|
sudo apt update -y |
|
|
|
sudo apt install brave-browser -y |
|
|
|
sudo pacman --noconfirm -S firefox |
|
|
|
} |
|
|
|
|
|
|
|
torbrowser() { |
|
|
|
sudo apt install -y torbrowser-launcher |
|
|
|
} |
|
|
|
|
|
|
|
popshell() { |
|
|
|
mkdir -p "$HOME/repos" |
|
|
|
sudo apt install git node-typescript make -y |
|
|
|
git clone https://github.com/pop-os/shell.git "$HOME/repos/shell" |
|
|
|
sudo pacman --noconfirm -S torbrowser-launcher |
|
|
|
} |
|
|
|
|
|
|
|
meetings() { |
|
|
|
mkdir -p "$HOME/repos" |
|
|
|
|
|
|
|
# install skype |
|
|
|
curl https://go.skype.com/skypeforlinux-64.deb -LJo "$HOME/repos/skypeforlinux.deb" |
|
|
|
sudo apt install "$HOME/repos/skypeforlinux.deb" -y |
|
|
|
|
|
|
|
# install zoom |
|
|
|
curl https://zoom.us/client/latest/zoom_amd64.deb -LJo "$HOME/repos/zoomus.deb" |
|
|
|
sudo apt install "$HOME/repos/zoomus.deb" -y |
|
|
|
|
|
|
|
paru_exists |
|
|
|
paru --noconfirm -S skypeforlinux-stable-bin zoom |
|
|
|
# install mt |
|
|
|
sudo curl -LJ https://github.com/junikimm717/mt/releases/download/33627ab/mt -o /usr/local/bin/mt |
|
|
|
sudo chmod +x /usr/local/bin/mt |
|
|
@ -123,31 +109,19 @@ dotfiles() { |
|
|
|
cp "$DIR"/dotfiles/tmux.conf "$HOME/.tmux.conf" |
|
|
|
} |
|
|
|
|
|
|
|
competitiveprogramming() { |
|
|
|
echo "CP Compilers..." |
|
|
|
sudo apt install clang clang-tools-extra |
|
|
|
cd "$HOME" || exit 1; |
|
|
|
git clone https://git.junickim.me/junikimm717/linuxcp "$HOME/cp" |
|
|
|
} |
|
|
|
|
|
|
|
graphical() { |
|
|
|
sudo apt install -y xorg xclip cwm nitrogen dmenu kitty polybar picom |
|
|
|
sudo apt install -y fonts-dejavu fonts-jetbrains-mono |
|
|
|
# copy over the dotfiles |
|
|
|
|
|
|
|
sudo pacman --noconfirm -S xorg xorg xorg-server xorg-xinit xorg-fonts-misc \ |
|
|
|
xclip nitrogen dmenu ttf-jetbrains-mono ttf-dejavu \ |
|
|
|
picom polybar xclip |
|
|
|
mkdir -p "$HOME/wallpaper" |
|
|
|
} |
|
|
|
|
|
|
|
sound() { |
|
|
|
sudo apt install -y pulseaudio pipewire pavucontrol |
|
|
|
sudo touch /etc/pipewire/media-session.d/with-pulseaudio |
|
|
|
sudo cp /usr/share/doc/pipewire/examples/systemd/user/pipewire-pulse.* /etc/systemd/user/ |
|
|
|
systemctl --user daemon-reload |
|
|
|
systemctl --user --now disable pulseaudio.service pulseaudio.socket |
|
|
|
systemctl --user --now enable pipewire pipewire-pulse |
|
|
|
sudo pacman --noconfirm -S pipewire-pulse |
|
|
|
systemctl --user --now enable pipewire-pulse |
|
|
|
} |
|
|
|
|
|
|
|
(usertest && dev && sysinfo && shell && plugins && dotfiles && graphical && sound && browsers && meetings) || exit 1 |
|
|
|
(usertest && bootstrap_paru && dev && sysinfo && shell && plugins && dotfiles && graphical && sound && browsers && meetings) || exit 1 |
|
|
|
|
|
|
|
cat <<EOF |
|
|
|
Stuff to do: |