sudo apt-get update -y && sudo apt-get upgrade -y
sudo apt-get install -y curl git gitk vim-nox p7zip-full \
build-essential linux-headers-$(uname -r) \
dkms gdebi zsh gnome-tweak-tool gparted \
software-properties-common \
nautilus-dropbox keepass2 \
tilix cmake python3-dev dconf-editor \
wget remmina remmina-plugin-rdp remmina-plugin-secret remmina-plugin-spice \
#canberra-gtk-module gtk2-engines-murrine \
flameshot gnome-shell-extension-top-icons-plus
not Gnome:
sudo apt-get install -y curl git gitk vim-nox p7zip-full \
build-essential linux-headers-$(uname -r) \
gdebi zsh \
software-properties-common neofetch htop nmap \
keepass2 mousepad geany \
tilix cmake python3-dev
mkdir -p ~/Downloads/gitrepos && cd ~/Downloads/gitrepos
wget https://dl.google.com/go/go1.12.9.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.12.9.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
mkdir -p ~/Downloads/gitrepos && cd ~/Downloads/gitrepos
git clone https://github.com/powerline/fonts.git
cd fonts && ./install.sh
git config --global user.name $USER
git config --global user.email $USER@$HOSTNAME.nl
git config --global core.editor "vim"
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | zsh
Make it your default shell. You will need to log off after this.
chsh -s `which zsh`
Oh My Zsh Themes
cd ~/.oh-my-zsh/themes
wget https://raw.githubusercontent.com/dikiaap/dotfiles/master/.oh-my-zsh/themes/oxide.zsh-theme
wget https://raw.githubusercontent.com/jacqinthebox/arm-templates-and-configs/master/fino-clean.zsh-theme
wget https://raw.githubusercontent.com/agnoster/agnoster-zsh-theme/master/agnoster.zsh-theme
wget https://raw.githubusercontent.com/caiogondim/bullet-train-oh-my-zsh-theme/master/bullet-train.zsh-theme
sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker
Fix sudo (requires logoff):
sudo usermod -aG docker $USER
https://github.com/docker/compose/releases
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Kubectl & Minikube
sudo apt-get update && sudo apt-get install -y apt-transport-https
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-get update -y && sudo apt-get install -y kubectl
wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
chmod +x minikube-linux-amd64
sudo mv minikube-linux-amd64 /usr/local/bin/minikube
# give it some extra RAM
minikube config set memory 8192
https://darkowlzz.github.io/post/minikube-config/
source <(kubectl completion zsh)
echo "if [ $commands[kubectl] ]; then source <(kubectl completion zsh); fi" >> ~/.zshrc #
https://stackoverflow.com/questions/49273395/how-to-enable-command-completion-for-azure-cli-in-zsh
sudo git clone https://github.com/ahmetb/kubectx /opt/kubectx
sudo ln -s /opt/kubectx/kubectx /usr/local/bin/kubectx
sudo ln -s /opt/kubectx/kubens /usr/local/bin/kubens
cd ~/Downloads
wget -nc https://releases.hashicorp.com/vagrant/2.2.5/vagrant_2.2.5_x86_64.deb
if [ ! -f /usr/bin/vagrant ] ; then
sudo dpkg -i vagrant_2.2.5_x86_64.deb
fi
wget https://releases.hashicorp.com/terraform/0.12.9/terraform_0.12.9_linux_amd64.zip
unzip terraform_0.12.9_linux_amd64.zip
sudo mv terraform /usr/local/bin
#sudo apt-add-repository --yes --update ppa:ansible/ansible
sudo echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu bionic main" | sudo tee -a /etc/apt/sources.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
sudo apt update && sudo apt install ansible -y
apt --fix-broken install
curl -L https://git.io/get_helm.sh | bash
sudo sh -c 'echo "deb http://download.virtualbox.org/virtualbox/debian bionic contrib" >> /etc/apt/sources.list.d/virtualbox.list'
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
sudo apt-get update -y && sudo apt-get install virtualbox-6.0 -y
sudo snap install vscode --classic
sudo snap install atom --classic
sudo snap install slack --classic
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs
npm sudo fix
mkdir ~/npm-global -p
sudo chown -R $USER:$USER ~/npm-global
npm config set prefix '~/npm-global'
echo "export PATH=~/npm-global/bin:$PATH" >> ~/.zshrc
mkdir -p ~/.vim/autoload ~/.vim/bundle && curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim
cd ~/.vim/bundle
git clone https://github.com/scrooloose/nerdtree.git
git clone https://github.com/Valloric/MatchTagAlways.git
git clone https://github.com/ctrlpvim/ctrlp.vim.git
git clone https://github.com/vim-airline/vim-airline.git
git clone https://github.com/vim-airline/vim-airline-themes.git
git clone https://github.com/lukaszb/vim-web-indent.git
git clone https://github.com/hashivim/vim-vagrant.git
git clone https://github.com/altercation/vim-colors-solarized.git
git clone https://github.com/kristijanhusak/vim-hybrid-material
git clone https://github.com/w0rp/ale.git
git clone https://github.com/ycm-core/YouCompleteMe.git
cd ~/gitrepos
git clone https://github.com/romainl/flattened.git
cd flattened/colors && mkdir ~/.vim/colors
cp * ~/.vim/colors
cd ~/.vim/colors
wget https://raw.githubusercontent.com/dracula/vim/b7e11c087fe2a9e3023cdccf17985704e27b125d/colors/dracula.vim
wget https://raw.githubusercontent.com/altercation/vim-colors-solarized/master/colors/solarized.vim
cd
wget -O ~/.vimrc https://raw.githubusercontent.com/jacqinthebox/arm-templates-and-configs/master/vimrc
cd ~/.vim/bundle/YouCompleteMe
git submodule update --init --recursive
python3 install.py --all
Recommended
wget -q https://packages.microsoft.com/config/ubuntu/19.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-sdk-2.2
Or via Snap
sudo snap install dotnet-sdk --classic
sudo snap alias dotnet-sdk.dotnet dotnet
sudo ln -s /snap/dotnet-sdk/current/dotnet /usr/local/bin/ #for vscode
PowerShell and az cli
Via Snap
sudo apt update
sudo apt install snapd
sudo snap install powershell-preview --classic
sudo snap install powershell --classic
Or deb
wget https://github.com/PowerShell/PowerShell/releases/download/v6.2.1/powershell_6.2.1-1.ubuntu.18.04_amd64.deb
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
Settings for vscode:
{
"workbench.iconTheme": "material-icon-theme",
"editor.fontSize": 12,
"window.zoomLevel": 0,
"terminal.integrated.fontFamily": "Meslo LG M DZ for Powerline",
"window.restoreWindows": "none",
"terminal.integrated.fontSize": 12,
"editor.minimap.enabled": false,
"editor.multiCursorModifier": "ctrlCmd",
"workbench.colorTheme": "Monokai Dimmed",
"powershell.scriptAnalysis.enable": true,
"editor.formatOnType": true,
"editor.formatOnSave": true
}
https://docs.microsoft.com/en-us/sql/sql-operations-studio/download
cd ~/Downloads
wget -o azuredatastudio.deb https://azuredatastudiobuilds.blob.core.windows.net/releases/1.8.0/azuredatastudio-linux-1.8.0.deb
sudo dpkg -i azuredatastudio.deb
# https://download.oracle.com/otn/java/jdk/8u211-b12/478a62b7d4e34b78b671c754eaaf38ab/jdk-8u211-linux-x64.tar.gz
tar -xzvf jdk-*.tar.gz
sudo mkdir -p /usr/local/bin/jvm
sudo mv jdk1.8* /usr/local/bin/jvm/oracle_jdk8
sudo update-alternatives --install /usr/bin/java java /usr/local/bin/jvm/oracle_jdk8/jre/bin/java 2000
sudo update-alternatives --install /usr/bin/javac javac /usr/local/bin/jvm/oracle_jdk8/bin/javac 2000
export J2SDKDIR=/usr/local/bin/jvm/oracle_jdk8
export J2REDIR=/usr/local/bin/jvm/oracle_jdk8/jre
export PATH=$PATH:/usr/local/bin/jvm/oracle_jdk8/bin:/usr/local/bin/jvm/oracle_jdk8/db/bin:/usr/local/bin/jvm/oracle_jdk8/jre/bin
export JAVA_HOME=/usr/local/bin/jvm/oracle_jdk8
export DERBY_HOME=/usr/local/bin/jvm/oracle_jdk8/db" | sudo tee -a /etc/profile.d/oraclejdk.sh
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install groovy
vim /etc/NetworkManager/NetworkManager.conf
Comment out the line dns=dnsmasq, so it looks like this:
dns=dnsmasq
Then
sudo restart network-manager
sudo service network-manager restart
git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k
mkdir -p ~/.local/share/fonts
cd ~/.local/share/fonts && curl -fLo "Droid Sans Mono for Powerline Nerd Font Complete.otf" https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20Nerd%20Font%20Complete.otf
ZSH_THEME="powerlevel9k/powerlevel9k"
POWERLEVEL9K_MODE='nerdfont-complete'
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(status background_jobs history dir vcs newline)
POWERLEVEL9K_DISABLE_RPROMPT=true
cd /tmp && rm -rf flat-remix* &&
git clone https://github.com/daniruiz/flat-remix &&
mkdir -p ~/.icons && cp -r flat-remix/Flat-Remix* ~/.icons/ &&
git clone https://github.com/daniruiz/flat-remix-gtk.git &&
mkdir -p ~/.themes && cp -r flat-remix-gtk/* ~/.themes &&
git clone git clone https://github.com/daniruiz/flat-remix-gnome.git &&
cp -r flat-remix-gnome/* ~/.themes
sudo apt-add-repository ppa:remmina-ppa-team/remmina-next
sudo apt update
sudo apt install remmina remmina-plugin-rdp remmina-plugin-secret remmina-plugin-spice
npm install hyper-materialshell -G
Adjusted settings
fontFamily: '"Terminess Powerline", "Anonymice Powerline", "Roboto Mono for Powerline", "Meslo LG S for Powerline", "DejaVu Sans Mono", "Lucida Console", monospace',
plugins: ['hyper-materialshell'],
You should harden it
sudo ufw allow from 202.54.1.1 to any port 22
sudo ufw status numbered
ssh-copy-id -i ~/.ssh/mykey user@host
usr/sbin/usermod -aG sudo jacqueline
deb http://deb.debian.org/debian/ buster main non-free contrib
deb-src http://deb.debian.org/debian/ buster main non-free contrib
deb http://security.debian.org/debian-security buster/updates main contrib non-free
deb-src http://security.debian.org/debian-security buster/updates main contrib non-free
# buster-updates, previously known as 'volatile'
deb http://deb.debian.org/debian/ buster-updates main contrib non-free
deb-src http://deb.debian.org/debian/ buster-updates main contrib non-free
# This system was installed using small removable media
# (e.g. netinst, live or single CD). The matching "deb cdrom"
# entries were disabled at the end of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.