Skip to content

Instantly share code, notes, and snippets.

@0xLGG
Last active February 13, 2022 23:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 0xLGG/28bf83aabdc3c643a013640ec900fdaa to your computer and use it in GitHub Desktop.
Save 0xLGG/28bf83aabdc3c643a013640ec900fdaa to your computer and use it in GitHub Desktop.
popinstaller
#!/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 "72031534+0xLGG@users.noreply.github.com"
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