This document facilitates the setup and installation of various programs that I use. It is particularly useful when configuring a new (Linux/Debian) machine.
This part describes the first steps to do in order to come to an usual working environment.
(supposed current working directory ~)
gruvw, password ...nmtui > “Activate a connection” > … > (restart if needed)sudo apt update && sudo apt upgrade -ysudo apt install -y gitgit clone https://github.com/gruvw/.dotfiles.gitsudo apt install -y stowsudo apt install ninja-build gettext cmake curl build-essential
My dotfiles are organized to make use of the GNU Stow project.
Configs to stow:
cd .dotfiles
stow --no-folding -v git
stow --no-folding -v kitty
stow --no-folding -v fish
stow --no-folding -v starship
stow --no-folding -v vifm
stow --no-folding -v nvim
stow --no-folding -v vim
stow --no-folding -v x
stow --no-folding -v polybar
stow --no-folding -v qtile
stow --no-folding -v albert
stow --no-folding -v copyq
stow --no-folding -v betterlockscreen
stow --no-folding -v clang
stow --no-folding -v rust
stow --no-folding -v bat
stow --no-folding -v gtk
stow --no-folding -v mpv
stow --no-folding -v hyper
cd ~
Terminal workflow installs:
Install kitty using: https://sw.kovidgoyal.net/kitty/binary/, then symblink binary to /usr/bin/kitty.
sudo apt install -y fish
sudo apt install -y vifm
sudo apt install -y curl
curl -sS https://starship.rs/install.sh | sh
mkdir -p Downloads/fonts
cd Downloads/fonts
wget https://github.com/ryanoasis/nerd-fonts/releases/latest/download/FiraCode.zip
wget https://github.com/tonsky/FiraCode/releases/download/6.2/Fira_Code_v6.2.zip
sudo apt install -y unzip
unzip -d FiraCode Fira_Code_v6.2.zip
unzip -d FiraCodeNF FiraCode.zip
mkdir ~/.fonts
cd FiraCodeNF
cp *.ttf ~/.fonts
cd ../FiraCode/ttf
cp *.ttf ~/.fonts
cd ~
fc-cache -fv
Build/install from source: https://github.com/neovim/neovim/blob/master/BUILD.md
Or use appimage:
sudo apt install -y nodejs npm
mkdir -p Downloads/neovim
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim.appimage
sudo chmod u+x nvim.appimage
sudo ./nvim.appimage --appimage-extract
sudo ./squashfs-root/AppRun --version
sudo mv squashfs-root /
sudo ln -s /squashfs-root/AppRun /usr/bin/nvim
cd ~
sudo chmod u+x pathed/vim-anywhere
echo 'export PATH="$HOME/pathed:$PATH"' >> .bashrc
echo 'export PATH="$HOME/.local/bin:$PATH"' >> .bashrc
Setup basic desktop software.
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install -y python3.11
sudo apt install -y python3-pip
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 2
pip install xcffib autorandr
pip install --no-build-isolation git+https://github.com/qtile/qtile.git
cd /usr/share/xsessions/
sudo ln ~/.dotfiles/others/qtile/qtile.desktop
pip install dbus-next psutil
cd ~
sudo apt install polybar
cd Downloads
wget https://download.opensuse.org/repositories/home:/manuelschneid3r/xUbuntu_20.04/amd64/albert_0.17.6-0_amd64.deb
sudo dpkg -i albert_0.17.6-0_amd64.deb
sudo apt -f -y install
sudo mkdir -p /usr/share/albert/org.albert.frontend.widgetboxmodel/themes
cd /usr/share/albert/org.albert.frontend.widgetboxmodel/themes
sudo ln ~/.dotfiles/others/albert/gruvw.qss
cd ~
mkdir -p Downloads/BLS
cd Downloads/BLS
wget https://github.com/betterlockscreen/betterlockscreen/archive/refs/heads/main.zip
sudo apt install -y unzip
sudo apt install -y feh
sudo apt install -y imagemagick
unzip -d BLS main.zip
cd BLS/betterlockscreen-main
sudo chmod u+x betterlockscreen
sudo cp betterlockscreen /usr/local/bin/
sudo cp system/betterlockscreen@.service /usr/lib/systemd/system/
sudo systemctl enable betterlockscreen@$USER
cd ~
Install i3lock-color: follow https://github.com/Raymo111/i3lock-color
sudo apt install -y picom
sudo apt install -y numix-icon-theme-circle
sudo apt install -y copyq
sudo apt install -y hollywood
You can now reboot your system and login from Qtile WM.
The following are recommended installs.
Finish NeoVim config: open NeoVim twice (let time to install plugins and packages)
Install jsregexp from LuaSnip:
cd ~/.local/share/nvim/lazy/LuaSnip
make install_jsregexp
cd ~
sudo apt install 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] 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
Open and download the “all-version” release of the following:
~/.icons/install.sh, follow install instructions (launch gnome to install shell extension)Install: https://www.synology.com/fr-fr/support/download > NAS > DS220j > Desktop Utilities > Synology Drive Client > Ubuntu
cd Downloads
sudo dpkg -i synology-drive-client-version.deb
cd ~
/Lucas~/.SynologyDrive/data/session/1/conf/ (maybe not exact)sudo rm blacklist.filtersudo ln ~/.dotfiles/others/synology/blacklist.filterSet lockscreen wallpaper once synced: betterlockscreen -u SynologyDrive/Media/Images/Backgrounds/Desktop/wallhaven-x8ye3z.jpg
Install: https://code.visualstudio.com/docs/?dv=linux64_deb
cd Downloads
sudo dpkg -i code_version.dev
cd ~
Other software.
https://ubuntu.com/blog/getting-started-with-flutter-on-ubuntu, https://docs.flutter.dev/get-started/install/linux
sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev
sudo snap install flutter --classicsudo snap alias flutter.dart dartflutter doctorflutter --disable-telemetrysudo snap install android-studio --classicandroid-studioflutter config --android-studio-dir /snap/android-studio/current/android-studioflutter doctor --android-licensessudo apt install -y libgtk-3-dev
sudo apt install -y lcov
sudo apt install -y meshlab
sudo apt install -y clang
sudo apt install -y clang-tools
sudo apt install -y playerctl
sudo apt install -y ruby-dev
sudo apt install -y ruby-bundler
sudo apt install -y secure-delete
sudo apt install -y plocate
sudo apt install -y fzf
sudo apt install -y blueman
sudo apt install -y libreoffice
sudo apt install -y stress
sudo apt install -y openssh-client
sudo apt install -y network-manager
sudo apt install -y net-tools
sudo apt install -y ghdl
sudo apt install -y pavucontrol
sudo apt install -y nemo
sudo apt install -y gdebi
sudo apt install -y blender
sudo apt install -y mpv
sudo apt install -y libfuse2
sudo apt install -y xclip
sudo apt install -y ripgrep
sudo apt install -y cloc
sudo apt install -y openjdk-17-jre
sudo apt install -y openjdk-19-jre
sudo apt install -y ccrypt
sudo apt install -y texlive-full texlive
sudo apt install -y transmission
sudo apt install -y peek
sudo apt install -y okteta
sudo apt install -y neofetch
sudo apt install -y vlc
sudo apt install -y gparted
sudo apt install -y sqlitebrowser
sudo apt install -y gimp
sudo apt install -y geary
sudo apt install -y baobab
sudo apt install -y gnome-usage
sudo apt install -y chrome-gnome-shell
sudo apt install -y gnome-shell-extensions
sudo apt install -y vim
sudo apt install -y gnome-tweaks
sudo apt install -y clangd clang-tidy clang-format
sudo apt install -y nomacs
sudo apt install -y exiftool
sudo apt install -y jpegoptim
sudo apt install -y flatpack
sudo apt install -y xdotool
Pinta: https://github.com/PintaProject/Pinta Scrcpy: https://github.com/Genymobile/scrcpy
sudo snap install pinta
sudo snap install scrcpy
Install: https://github.com/mwh/dragon
cd Downloads
git clone https://github.com/mwh/dragon
cd dragon
make install
cd ~
https://doc.rust-lang.org/cargo/getting-started/installation.html
~/.cargo/config.tomlcurl https://sh.rustup.rs -sSf | sh
cargo install sccache --locked
~/.cargo/config.tomlcargo install cargo-update
cargo install bottom --locked
sudo snap install figma-linux
sudo apt install thunderbirdsudo dkpg -i mailspring-version.debsudo apt -f -y installhttps://github.com/TheGoddessInari/hamsket
sudo add-apt-repository ppa:appimagelauncher-team/stable
sudo apt update
sudo apt install -y appimagelauncher
~/libs/~/libs/junit-1.8.2/https://github.com/eclipse-jdtls/eclipse.jdt.ls, https://github.com/mfussenegger/nvim-jdtls
~/libs/jdtls/pip install cookiecutter
pip install mypy
cargo install bottom
cargo install --locked bat
cargo install git-delta
Zola: https://www.getzola.org/documentation/getting-started/installation/
git clone https://github.com/getzola/zola.git
cd zola
cargo install --path . --locked
zola --version
~/Downloadscd ~/Downloads
sudo apt install ./Aseprite_*.deb
.deb from https://github.com/obsproject/obs-studio/releasescd ~/Downloads
sudo apt install ./OBS-Studio-*.deb
pip install jupyterlab notebook
Don’t install from snap as it will not install latest version and fail with Neovim LSP
Follow https://go.dev/doc/install.