Last active
February 13, 2022 23:43
-
-
Save 0xLGG/28bf83aabdc3c643a013640ec900fdaa to your computer and use it in GitHub Desktop.
popinstaller
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
sudo add-apt-repository multiverse | |
sudo add-apt-repository ppa:lazygit-team/release | |
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - | |
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list | |
sudo apt update | |
sudo apt upgrade | |
sudo apt install timeshift gufw font-manager vim zsh golang-go tmux git fakeroot fzf alacritty libarchive-tools autojump telegram-desktop python3 python3-pip onedrive -y \ | |
gimp \ | |
inkscape \ | |
transmission \ | |
libssl-dev \ | |
cargo \ | |
apt-transport-https \ | |
ca-certificates \ | |
curl \ | |
gnupg \ | |
lsb-release \ | |
fd-find \ | |
bat \ | |
ripgrep \ | |
exa \ | |
jq \ | |
keynav \ | |
network-manager-l2tp \ | |
network-manager-l2tp-gnome \ | |
python3.9-venv \ | |
python-is-python3 \ | |
lazygit \ | |
ffmpeg \ | |
ttf-mscorefonts-installer | |
sudo apt install --no-install-recommends yarn | |
mkdir ~/repos | |
mkdir ~/src | |
mkdir ~/.local/bin -p | |
mkdir ~/.fonts | |
mkdir ~/.config/alacritty -p | |
mkdir ~/.config/onedrive -p | |
mkdir ~/.config/lvim -p | |
mkdir ~/.n/bin -p | |
mkdir ~/.vim/bundle -p | |
# dotfiles and symlinks | |
cd | |
git clone https://github.com/tarjoilija/zgen.git "${HOME}/.zgen" | |
git clone https://github.com/0xlgg/dotfiles.git | |
git clone https://github.com/gpakosz/.tmux.git | |
ln -sf ~/dotfiles/shell/tmux/.tmux.conf.local | |
ln -sf ~/dotfiles/shell/tmux/.tmux.conf | |
ln -sf ~/dotfiles/shell/.p10k.zsh | |
ln -sf ~/dotfiles/shell/zsh/popos/.zshrc | |
cd ~/.config/alacritty && ln -sf ~/dotfiles/terminal/alacritty/alacritty.yml | |
chsh -s $(which zsh) | |
# git configuration | |
git config --global user.email "[email protected]" | |
git config --global user.name "0xLGG" | |
# https://www.mikulskibartosz.name/git-fixup-explained/ | |
# We don’t want to type autosquash and autostash every time we do a rebase, so we are going to enable them in the git configuration permanently. | |
git config --global rebase.autosquash true | |
git config --global rebase.autostash true | |
# wally configugrator | |
# https://github.com/zsa/wally/wiki/linux-install | |
# for wally (moonlander keyboard config) and name only valid for debian derivatives | |
sudo apt install libusb-dev | |
sudo touch /etc/udev/rules.d/50-wally.rules | |
echo '# Teensy rules for the Ergodox EZ | |
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", ENV{ID_MM_DEVICE_IGNORE}="1" | |
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789A]?", ENV{MTP_NO_PROBE}="1" | |
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", MODE:="0666" | |
KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", MODE:="0666" | |
# STM32 rules for the Moonlander and Planck EZ | |
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", \ | |
MODE:="0666", \ | |
SYMLINK+="stm32_dfu"' >> /etc/udev/rules.d/50-wally.rules | |
sudo groupadd plugdev | |
sudo usermod -aG plugdev $USER | |
cd ~/.local/bin/ | |
wget https://configure.ergodox-ez.com/wally/linux | |
mv ./linux ./wally | |
chmod +x ./wally | |
# docker | |
cd ~/src | |
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg | |
echo \ | |
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ | |
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null | |
sudo apt-get update | |
sudo apt-get install docker-ce docker-ce-cli containerd.io | |
# add current user to group for simple working with docker | |
sudo usermod -aG docker $USER | |
# bpytop | |
pip3 install bpytop | |
# Start AppImages | |
cd ~/.local/bin | |
# trezor | |
curl -LO https://suite.trezor.io/web/static/desktop/Trezor-Suite-21.9.2-linux-x86_64.AppImage | |
mv ./Trezor-Suite-21.9.2-linux-x86_64.AppImage ./trezor-suite | |
chmod u+x trezor-suite | |
sudo curl https://data.trezor.io/udev/51-trezor.rules -o /etc/udev/rules.d/51-trezor.rules | |
# ledger live | |
curl -JLO https://download-live.ledger.com/releases/latest/download/linux | |
mv ./ledger* ./ledger-live | |
chmod u+x ledger | |
wget -q -O - https://raw.githubusercontent.com/LedgerHQ/udev-rules/master/add_udev_rules.sh | sudo bash | |
# https://www.reddit.com/r/ledgerwallet/comments/ousw9g/solve_failed_to_launch/ | |
cd ~/.local/share/applications/ | |
ln -sf /home/lgg/dotfiles/browser/extension/metamask/ledgerlive.desktop | |
sudo update-desktop-database | |
xdg-mime default ledgerlive.desktop x-scheme-handler/ledgerlive | |
# neovim latest | |
# nightly prerelease | |
curl -LO https://github.com/neovim/neovim/releases/download/nightly/nvim.appimage | |
# latest | |
# curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim.appimage | |
chmod u+x nvim.appimage | |
mv ./nvim.appimage ./nvim | |
# obsidian | |
curl -LO https://github.com/obsidianmd/obsidian-releases/releases/download/v0.12.15/Obsidian-0.12.15.AppImage | |
mv ./Obsidian* ./obsidian | |
chmod u+x ./obsidian | |
# End AppImages | |
# prepare directory for app installation src files | |
cd | |
# brave browser | |
sudo apt install apt-transport-https curl | |
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 | |
sudo apt install brave-browser | |
# lunarvim | |
cd ~/src | |
bash <(curl -s https://raw.githubusercontent.com/lunarvim/lunarvim/master/utils/installer/install.sh) | |
echo 'adding custom adjustment for onedarker' | |
cd ~/.local/share/lunarvim/lvim/colors/ | |
ln -sf ~/dotfiles/lunarvim/onedarker.vim | |
cd ~/.config/lvim/ | |
ln -sf ~/dotfiles/lunarvim/config.lua | |
cd ~/.local/share/lunarvim/lvim/lua/lvim/core/ | |
ln -sf ~/dotfiles/lunarvim/which-key.lua | |
# logo-ls | |
cd ~/src | |
wget https://github.com/Yash-Handa/logo-ls/releases/download/v1.3.7/logo-ls_amd64.deb | |
sudo dpkg -i ./logo-ls_amd64.deb | |
rm ./logo-ls_amd64.deb | |
# mullvad | |
cd ~/src | |
curl --location --output "mullvad.deb" https://mullvad.net/download/app/deb/latest/ | |
sudo dpkg -i ./mullvad.deb | |
rm ./mullvad.deb | |
# github-cli | |
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /usr/share/keyrings/githubcli-archive-keyring.gpg | |
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/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 | |
# install font-manager and JetBrainsMono | |
cd ~/.fonts | |
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/JetBrainsMono.zip | |
bsdtar -x -f JetBrainsMono.zip | |
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/FiraCode.zip | |
bsdtar -x -f FiraCode.zip | |
fc-cache -f -v | |
rm JetBrainsMono.zip | |
rm FiraCode.zip | |
# tmp disabled since installing at the beginning of the script | |
# yarn | |
# curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - | |
# echo "deb https://dl.yarnpkg.com/debian/ stable main" |sudo tee /etc/apt/sources.list.d/yarn.list\ | |
# sudo apt update | |
# sudo apt -y install yarnpkg | |
# vs codium | |
# from https://vscodium.com/#install | |
cd ~/src | |
wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | gpg --dearmor | sudo dd of=/usr/share/keyrings/vscodium-archive-keyring.gpg | |
echo 'deb [ signed-by=/usr/share/keyrings/vscodium-archive-keyring.gpg ] https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs vscodium main' | sudo tee /etc/apt/sources.list.d/vscodium.list | |
sudo apt update && sudo apt install codium | |
# greatest extension of all time | |
cd ~/repos | |
git clone https://www.github.com/0xlgg/swisscows-banner-remover.git | |
# obsidian | |
cd ~/src/ | |
wget https://github.com/obsidianmd/obsidian-releases/releases/download/v0.12.15/obsidian_0.12.15_amd64.deb | |
sudo dpkg -i ./obsidian_0.12.15_amd64.deb | |
# n (node version manager) | |
cd ~/.n/bin/ | |
curl -L https://raw.githubusercontent.com/tj/n/master/bin/n -o n | |
chmod +x ./n | |
n lts | |
# solidity hover and such for nvim solang | |
cd ~/.local/bin/ | |
wget https://github.com/hyperledger-labs/solang/releases/download/v0.1.8/solang-linux | |
# binary needs to be named solang | |
# alternatively it could be pulled from cargo | |
mv ./solang-linux ./solang | |
chmod +x ./solang | |
# solang dependency | |
cargo install llvmenv | |
# todo: adding onedrive installer | |
# systemctl | |
# NOTE: These instructions only work for 64 bit Debian-based | |
# Linux distributions such as Ubuntu, Mint etc. | |
# 1. Install our official public software signing key | |
wget -O- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor > signal-desktop-keyring.gpg | |
cat signal-desktop-keyring.gpg | sudo tee -a /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/null | |
# 2. Add our repository to your list of repositories | |
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main' |\ | |
sudo tee -a /etc/apt/sources.list.d/signal-xenial.list | |
# 3. Update your package database and install signal | |
sudo apt update && sudo apt install signal-desktop | |
# tmux plugin to keep vim session | |
# https://github.com/tpope/vim-obsession | |
cd ~/.vim/bundle | |
git clone git://github.com/tpope/vim-obsession.git | |
vim -u NONE -c "helptags vim-obsession/doc" -c q | |
nvim -u NONE -c "helptags vim-obsession/doc" -c q | |
lvim -u NONE -c "helptags vim-obsession/doc" -c q | |
cd ~/src | |
wget https://dist.ipfs.io/go-ipfs/v0.10.0/go-ipfs_v0.10.0_linux-amd64.tar.gz | |
tar -xvzf go-ipfs_v0.10.0_linux-amd64.tar.gz | |
cd go-ipfs | |
sudo bash install.sh | |
# install lazydocker | |
go get github.com/jesseduffield/lazydocker | |
# youtube cli download | |
sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl | |
sudo chmod a+rx /usr/local/bin/youtube-dl | |
mkdir $HOME/src | |
cd $HOME/src | |
git clone https://github.com/gohugoio/hugo.git | |
cd hugo | |
go install --tags extended |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment