Last active
April 5, 2022 00:02
-
-
Save KevCaz/29536740b9150383a9d543ec1be96103 to your computer and use it in GitHub Desktop.
My Debian Buster (and Bookworm) setup on my Lenovo T470p
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
#!/usr/bin/env bash | |
# NB: | |
# - libappindicator1 was required to use google-chrome | |
# - apt-transport-https curl for Brave | |
# Dependencies for R packages: | |
# - libfreetype6-dev for showtext | |
# - libpoppler-cpp-dev for pdftools | |
# - libudunits2-dev for some leaflet dependencies | |
# - libssl-dev for devtools | |
# - libquantlib0-dev for rquantlib | |
# - libmagick++-dev for magick package (one of kableExtra dependency). | |
# - openjdk-8-jdk to run R CMD javareconf seamlessly | |
# - libjq-dev libv8-3.14-dev and for tmap | |
# - libnode64 libnode-dev for V8 | |
# - libclang-dev for Rstudion 1.2.x | |
# - libprotobuf-dev & protobuf-compiler for protolite | |
# - librdf0 librdf0-dev for dataone | |
# - xvfb to install cairoDevice package | |
# - mdbtools to read access files | |
# - qpdf required for package documentation in R | |
# - libgtk2.0-dev pour CairoDevice | |
# *Pre-requisite*: | |
## 1: edit sources list (/etc/apt/sources.list) | |
## 2: enter super user (su) mode | |
su | |
## 3: synchro after changes in /etc/apt/sources.list | |
apt-get update && apt-get upgrade | |
## 4: install sudo | |
apt-get sudo | |
## 5: configure sudoers (then you're ready) | |
##-- get the wifi working and other devices (non free :() | |
sudo apt-get install firmware-iwlwifi firmware-misc-nonfree intel-microcode | |
##-- my set of libraries/software | |
sudo apt-get install \ | |
libappindicator1 libudunits2-dev libatomic1 libgit2-dev libmagick++-dev \ | |
libimage-exiftool-perl libcanberra-gtk-module libfreetype6-dev libssl-dev \ | |
libpoppler-cpp-dev libgeos-dev libgeos++-dev libproj-dev libquantlib0-dev \ | |
libgdal-dev libjq-dev libnode64 libnode-dev libprotobuf-dev protobuf-compiler\ | |
libclang-dev libcups2-dev libgirepository1.0-dev libsmbclient-dev \ | |
libopenblas-dev libgtk2.0-dev librdf0 librdf0-dev build-essential \ | |
zsh gconf2 gconf-service gtk2.0 gtk3.0 openjdk-8-jdk dirmngr \ | |
original-awk printer-driver-cups-pdf apt-transport-httpsrename \ | |
swig4.0 curl aria2 tree cloc valgrind clang gfortran nmap \ | |
arp-scan dnsutils lftp ncftp nethogs ffmpeg lshw llvm xvfb cmake \ | |
font-manager fonts-font-awesome fonts-roboto icon-font-generator \ | |
fonts-firacode hunspell-fr-modern hunspell-pt-br uuid-runtime mdbtools \ | |
kdiff htop figlet lolcat fortune-mod xdotool unrar qpdf m4 nim pkg-config \ | |
postgresql postgis openssh-server vim uncrustify \ | |
unixodbc unixodbc-dev tdsodbc odbc-postgresql libsqliteodbc \ | |
gnome-photos gnome-shell gnome-session gparted gnumeric papirus-icon-theme \ | |
gnuplot imagemagick graphicsmagick gpick bibtool texlive-full \ | |
ttf-mscorefonts-installer fontforge libreoffice-l10n-fr mythes-fr \ | |
python3-pip python-pip python python3-sphinx perl octave octave-symbolic \ | |
r-base r-recommended r-base-dev default-jdk primesieve darktable \ | |
ruby-dev golang asciinema pandoc pandoc-citeproc lightning \ | |
byobu pass timewarrior taskwarrior youtube-dl festival inxi pastel \ | |
hugo lyx xournal calibre okular vlc thuderbird | |
##-- flatpak | |
sudo apt-get install flatpak gnome-software-plugin-flatpak | |
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo | |
# vlc discord zoom skype teams slack dropbox qgis fractal vscodium | |
flatpak install -y \ | |
flathub com.slack.Slack us.zoom.Zoom com.dropbox.Client \ | |
com.github.IsmaelMartinez.teams_for_linux com.discordapp.Discord \ | |
com.simplenote.Simplenote org.qgis.qgis org.gnome.Fractal \ | |
org.musicbrainz.Picard | |
# maybe latter vscodium/atom/gimp/inkscape/zotero | |
# flatpak run com.slack.Slack | |
## Github password cache timeout | |
# see https://help.github.com/en/articles/caching-your-github-password-in-git | |
git config --global credential.helper 'cache --timeout=14400' | |
git config --global init.defaultBranch main | |
##-- Setting Java for R | |
sudo R CMD javareconf JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ | |
##-- many valuable R packages at once | |
sudo apt-get install "^r-cran-.*" | |
##-- this gisr complement my list of packages (some redundancy though) | |
git clone https://gist.github.com/aaa83151e9d12cc07fbe379e2c32a385.git /tmp/pkgsR | |
## little r is installed about so I use it | |
r /tmp/pkgsR/myPackages.R | |
# Install the kernelspec to tell Jupyter about IRkernel | |
r -e 'IRkernel::installspec()' | |
# ~/R/r is where I store my little r scripts | |
mkdir -p ~/R/r | |
##-- Python packages | |
pip3 install --user --upgrade pip | |
pip3 install --user pip-tools numpy scipy matplotlib psycopg2 pyparsing future \ | |
pandoc-fignos pandoc-tablenos pandoc-eqnos zotero-cli plotly jupyterlab \ | |
xlsxwriter autopep8 beautysh tensorflow keras bpython radian | |
##-- Rust | |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh | |
##-- vscodium | |
wget https://github.com/VSCodium/vscodium/releases/download/1.58.2/codium_1.58.2-1626394574_amd64.deb -O /tmp/vs.deb && sudo dpkg -i /tmp/vs.deb | |
##-- Atom | |
## download atom first (use wget) | |
wget https://atom.io/download/deb -O /tmp/atom.deb && sudo dpkg -i /tmp/atom.deb | |
## themes | |
apm install atom-material-syntax atom-material-syntax-dark atom-material-ui | |
## packages | |
apm install language-knitr language-latex atom-language-r language-matlab\ | |
language-docker language-julia language-sage\ | |
autocomplete-bibtex autocomplete-emojis autocomplete-font-awesome\ | |
wordcount minimap pdf-view pigments color-picker gist-it file-icons\ | |
ascii-unicode-escape teletype multi-cursor-increment zen filesize\ | |
data-atom intentions busy-signal ink julia-client sourcerer linter\ | |
linter-lintr split-diff atom-beautify git-time-machine highlight-selected\ | |
markdown-preview-enhanced document-outline Hydrogen hydrogen-launcher\ atom-ide-ui atom-ide-ui ide-python ide-r | |
# to be added to get jupyter kernel | |
# ==> https://jstaf.github.io/2018/03/25/atom-ide.html | |
Rscript -e "install.packages('IRkernel')" | |
pip install --user ipykernel | |
## Brave | |
# requires apt-transport-https curl | |
curl -s https://brave-browser-apt-release.s3.brave.com/brave-core.asc | sudo apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-release.gpg add - | |
echo "deb [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-get update | |
sudo apt-get install brave-browser | |
##-- Install Node.js v11.x https://github.com/nodesource/distributions/blob/master/README.md#debinstall | |
curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash - | |
sudo apt-get update | |
sudo apt-get install -y nodejs | |
##-- npm packages | |
npm install -g bootstrap bower decktape coffeescript grunt jquerry lunr string \ | |
svgexport toml webpack webpack-cli yamljs gtop pagedjs-cli pagedjs | |
##-- Install Yarn package manager | |
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-get update && sudo apt-get install yarn | |
## GEMs | |
sudo gem install jekyll bundler commonmarker | |
##-- Docker | |
## see https://docs.docker.com/install/linux/docker-ce/debian/#set-up-the-repository | |
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - | |
sudo apt-key fingerprint 0EBFCD88 | |
sudo add-apt-repository \ | |
"deb [arch=amd64] https://download.docker.com/linux/debian \ | |
$(lsb_release -cs) \ | |
stable" | |
sudo apt-get update | |
sudo apt-get install docker-ce | |
# sudo docker run hello-world | |
# Google chrome (see for instance https://doc.ubuntu-fr.org/google_chrome) | |
sudo sh -c 'echo "deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list' | |
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - | |
sudo apt-get update && sudo apt-get install google-chrome-stable | |
##-- Install powerline font | |
git clone https://github.com/powerline/fonts.git | |
# install | |
cd fonts | |
./install.sh | |
# clean-up a bit | |
cd .. | |
rm -rf fonts | |
##-- Install prezto zsh requis | |
zsh | |
git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto" | |
setopt EXTENDED_GLOB | |
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do | |
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}" | |
done | |
# change shell | |
chsh -s /bin/zsh | |
## dotfiles | |
# to be added | |
## To be done afterwards | |
##-- Install Zotero (remove if flatpak is used) | |
cd ~/Downloads && wget https://github.com/zotero/zotero/archive/5.0.61.tar.gz | tar xzf - | |
# cp -r ~/Downloads/zotero ~/.local/lib/ | |
# MarkdownHere for Thunderbird => addons | |
# Better bibtex + manual install | |
cd ~/Downloads && wget https://github.com/retorquere/zotero-better-bibtex/releases/download/v5.1.58/zotero-better-bibtex-5.1.58.xpi | |
# Application installed from Github | |
mkdir -p ~/Github/Applications | |
## Julia | |
git clone https://github.com/JuliaLang/julia.git | |
cd Julia | |
git checkout v1.3.1 | |
make | |
# Julia packages | |
# update | |
# add DifferentialEquations PyPlot DataFrames Distributions TimeSeries MultivariateStats Flux | |
## Sage | |
git clone https://github.com/sagemath/sage.git | |
cd sage | |
make | |
# install better bib tex | |
aria2c https://github.com/retorquere/zotero-better-bibtex/releases/download/v5.1.76/zotero-better-bibtex-5.1.76.xpi | |
##-- bfg https://rtyley.github.io/bfg-repo-cleaner/ | |
mkdir -p ~/.local/lib/java | |
aria2c -d ~/.local/lib/java "https://search.maven.org/classic/remote_content?g=com.madgag&a=bfg&v=LATEST" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
If I am right we cannot store the github password forever on Linux
https://confluence.atlassian.com/bitbucketserver/permanently-authenticating-with-git-repositories-776639846.html