Skip to content

Instantly share code, notes, and snippets.

@azmelanar
Last active January 25, 2021 09:53
Show Gist options
  • Save azmelanar/75b49e847af61467a5be to your computer and use it in GitHub Desktop.
Save azmelanar/75b49e847af61467a5be to your computer and use it in GitHub Desktop.
Debian Kickstart
#!/usr/bin/env bash
# GENERAL
## Configurate Swap and Dropbox
echo -e "\n
# Configurate swap
vm.swappiness = 10
vm.vfs_cache_pressure = 50" >> /etc/sysctl.conf
# PACKAGES
## system
apt -y install apt-transport-https ca-certificates curl software-properties-common
apt -y install build-essential libssl-dev libyaml-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev llvm libncurses5-dev libncursesw5-dev tk-dev libffi-dev liblzma-dev
### laptop
apt -y install powertop tlp
## core
apt -y install zsh tar zip unzip xz-utils zstd curl wget git vim tree jq expect parallel mosh xsel ntpdate
chsh -s /bin/zsh
## network
apt -y install telnet nmap whois traceroute mtr wireguard
## console
apt -y install pwgen tmux neovim ripgrep pandoc graphviz borgbackup restic mc xclip gnupg watchman
apt -y install neofetch keychain htop ncdu shellcheck fzf
## python
apt -y install python3 python3-pip python-openssl pipenv
## lazygit
add-apt-repository ppa:lazygit-team/release
apt -y install lazygit
## ansible
sudo add-apt-repository ppa:ansible/ansible
sudo apt-get update
sudo apt-get install ansible
## docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt update && sudo apt -y install docker-ce docker-ce-cli containerd.io docker-compose
## tfenv
git clone https://github.com/tfutils/tfenv.git ~/.tfenv
## kubernetes
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt update && sudo apt -y install kubectl
### krew
(
set -x; cd "$(mktemp -d)" &&
curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/krew.{tar.gz,yaml}" &&
tar zxvf krew.tar.gz &&
KREW=./krew-"$(uname | tr '[:upper:]' '[:lower:]')_amd64" &&
"$KREW" install --manifest=krew.yaml --archive=krew.tar.gz &&
"$KREW" update
)
kubectl krew install ctx
kubectl krew install ns
kubectl krew install konfig
# upgrade: kubectl krew upgrade
### helm
curl -s https://baltocdn.com/helm/signing.asc | sudo apt-key add -
echo "deb https://baltocdn.com/helm/stable/debian/ all main" | sudo tee -a /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt update && sudo apt -y install helm
## Google Cloud SDK
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
sudo apt update && sudo apt -y install google-cloud-sdk
## software
### nextcloud-desktop
add-apt-repository ppa:nextcloud-devs/client
apt -y install nautilus-nextcloud
### firefox
apt -y install vainfo
#### about:config
# gfx.webrender.all = true
# gfx.webrender.enabled = true
# media.ffmpeg.vaapi.enabled = true
###### REFACTOR ######
## kernel
apt -y install linux-headers-$(uname -r)
## system
apt-get -y install prelink preload dkms ntp
## console
apt-get -y install git vim nmap tmux mc traceroute whois expect scrot pwgen pass ncftp curl zip p7zip unrar-free rdesktop hwinfo java-package pssh fabric pass screenfetch mailutils sudo
## language packs
apt-get -y install aspell-ru aspell-uk
## python
apt-get -y install python-pip python-virtualenv python-jinja2 python-jedi python-gnupg
## ruby
apt-get -y install ruby rubygems
## node
apt-get -y install nodejs
## software
apt-get -y install shutter keepassx smplayer wireshark filezilla pidgin pidgin-otr dia gimp freemind transmission libreoffice libreoffice-gnome gparted
## KVM
apt-get -y install qemu-kvm libvirt-bin virtinst bridge-utils virt-manager ssh-askpass-gnome
## LaTeX
apt-get install texstudio texlive-latex-recommended texlive-fonts-recommended texlive-xetex texlive-latex-extra texlive-extra-utils texlive-fonts-extra
## games
apt-get -y install steam
#### EXTERNAL PACKAGES ####
## Firefox
# ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/
## Thunderbird
# ftp://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/
## Flash Player
# http://get.adobe.com/flashplayer/
## Java
# http://www.java.com/en/download/manual.jsp
## Skype
# http://www.skype.com/en/download-skype/skype-for-computer/
## Wuala
# https://www.wuala.com/en/download/linux
## Dropbox
# https://www.dropbox.com/install?os=lnx
## SpiderOak
# https://spideroak.com/opendownload/
## TeamViewer
# http://www.teamviewer.com/en/download/linux.aspx
## VirtualBox
# https://www.virtualbox.org/wiki/Linux_Downloads
## Google Chrome
# https://www.google.com/chrome/browser/
#### APPLICATIONS ####
## Java
mkdir -p /usr/java
mv jre-7u51-linux-x64.tar.gz /usr/java
cd /usr/java
tar xzf jre-7u51-linux-x64.tar.gz
mkdir -p /usr/lib/mozilla/plugins
ln -s /usr/java/jre1.7.0_51/lib/amd64/libnpjp2.so /usr/lib/mozilla/plugins/
## D
# http://d-apt.sourceforge.net/
wget -c http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list
apt-get -y --allow-unauthenticated install d-apt-keyring
apt-get -y -q install dmd-bin dmd-doc dub
#### WEB SERVER ####
## PHP
apt-get install -y -q php5 php5-cli php5-gd php5-curl
## Install composer
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin
## Install PHPUnit
wget -c --no-check-certificate https://phar.phpunit.de/phpunit.phar && mv phpunit.phar /usr/local/bin/phpunit.phar && chmod 755 /usr/local/bin/phpunit.phar
#### DE ####
apt-get install -y -q lightdm mate-desktop-environment-extras qt4-qtconfig mesa-utils alsa-utils pavucontrol gvfs-backends
apt-get install -y -q network-manager network-manager-gnome network-manager-openvpn-gnome network-manager-pptp-gnome network-manager-vpnc-gnome
#### OTHER ####
## Skype except for prelink
echo "-b $(which skype)" >> /etc/prelink.conf
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment