I recently decided to re-install my computer and I took the opportunity to create a gist that includes light version of my Debian 11 set-up, i.e. all the tools I used the most. Once again during the install (I use a Debian weekly build installation image) did not keep things light as I let several pieces of software be installed during the setup (e.g. LibreOffice, Inkscape). So here goes the 4th version of my bash script to install Debian on my Lenovo T470p ⬇️. It works well, as always!
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
# Debian bookworm setup | |
## 4th version of my Debian install on my Lenovo T470p | |
## This time I kept it "light" it includes the tools I used the most. | |
## Note that much software was already installed with the way I did the | |
## installation (e.g. sudo, ssh, git, python, inkscape, libreoffice, etc.) | |
# configure sudo | |
su | |
echo "kc ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/username | |
exit | |
# wifi | |
## I first edited my source list and added the component non-free to | |
## be able to use the wifi on my Lenovo | |
sudo apt update && sudo apt install firmware-iwlwifi | |
# package I frequently used | |
sudo apt install \ | |
arp-scan byobu curl duf emacs ess fonts-firacode gpick htop inxi pass \ | |
python3-pip docker.io docker-compose youtube-dl hunspell hunspell-fr zsh \ | |
pastel calibre hugo nextcloud-desktop pandoc taskwarrior vlc xournal | |
# flatpak (https://flatpak.org/) | |
sudo apt-get install flatpak | |
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo | |
sudo flatpak install -y flathub \ | |
com.discordapp.Discord com.slack.Slack us.zoom.Zoom org.zotero.Zotero \ | |
com.google.Chrome org.musicbrainz.Picard | |
# R + R packages | |
sudo apt install r-base r-base-dev r-recommended \ | |
r-cran-littler r-cran-docopt r-cran-rmarkdown \ | |
r-cran-tidyverse r-cran-devtools r-cran-dbi r-cran-shiny \ | |
r-cran-sf r-cran-stars r-vlcs cran-terra | |
# Python packages | |
pip3 install --user numpy scipy matplotlib bpython radian \ | |
pandoc-fignos pandoc-tablenos pandoc-eqnos | |
# git | |
git config --global credential.helper 'cache --timeout=20000' | |
git config --global init.defaultBranch main | |
git config --global user.name 'Kevin Cazelles' | |
git config --global user.email kevin.cazelles@gmail.com | |
git config --global core.editor nano | |
git config --global pull.rebase true | |
git config --global github.user KevCaz | |
## NB add signing key https://docs.github.com/en/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key | |
# gh cli (https://github.com/cli/cli) | |
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/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 | |
# Docker | |
sudo usermod -aG docker $USER | |
newgrp docker | |
echo alpine debian ubuntu rocker/r-devel rocker/r-ubuntu:20.04 \ | |
docker.io/rhub/r-minimal:latest | xargs -P5 -n1 docker pull | |
# julia (https://github.com/JuliaLang/julia) | |
## apt is currently @v1.4 so I install Julia from sources | |
mkdir ~/Apps && cd ~/Apps \ | |
git clone https://github.com/JuliaLang/julia.git julialang | |
cd julialang && git checkout v1.7.2 && make | |
echo 'using Pkg | |
Pkg.add( | |
["Parameters", "RecursiveArrayTools", "Statistics", "Optim", "DifferentialEquations", "PyPlot", "ColorSchemes", "LaTeXStrings", | |
"DataFrames", "FileIO", "ForwardDiff", "JLD", "JLD2", "CSV", "NLsolve"] | |
)' >> install.jl && ./julia install.jl && rm install.jl | |
# Prezto (https://github.com/sorin-ionescu/prezto) | |
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 | |
chsh -s /bin/zsh | |
# Powerline fonts (https://github.com/powerline/fonts) | |
## one of the fonts I use in terminals and code editors | |
git clone https://github.com/powerline/fonts.git | |
cd fonts && ./install.sh && cd .. && rm -rf fonts | |
# Other configuration steps | |
## Add dotfiles, ssh keys, etc + terminals and code editor themes, etc... | |
## Configure emails and web browser |