The Perfect Linux Web Development Setup
Gnome Boxes
Install the spice-vdagent
on both host and client to make copy and paste possible.
sudo apt install spice-vdagent
Screenshots
What’s the goal?
We will build out our personal web dev setup on a solid base we can easily rebuild whenever needed - without looking everthing up again.
sudo apt update && sudo apt purge firefox-esr gnome-games evolution && sudo apt upgrade && sudo apt autoremove && sudo apt autoclean
Installing the foundation using distribution packages
sudo apt install \
aptitude \
arandr \
bat \
bash-completion \
build-essential \
ca-certificates \
cargo \
curl \
dmenu \
dunst \
exa \
filezilla \
flameshot \
flatpak \
firefox-esr \
gdu \
git \
gnupg \
imwheel \
kbdd \
kitty \
libfuse2 \
mpv \
nitrogen \
pulseaudio \
ripgrep \
rofi \
stow \
sxhkd \
i3 \
i3blocks \
i3status \
thunderbird \
unclutter \
wget \
xdotool \
xorg
Snap
Moved Neovim from repository to SNAP due to newer versions available via Snap
sudo snap install nvim --classic
deb-get
Github: https://github.com/wimpysworld/deb-get
Add deb-get for more .deb software packages and to save time
curl -sL https://raw.githubusercontent.com/wimpysworld/deb-get/main/deb-get | sudo -E bash -s install deb-get && sudo apt update
Some software packages I need. All supported software packages can be found here.
deb-get install \
code \
google-chrome-stable \
- insync \
signal-desktop \
appimagelauncher
Optional deb-get packages
deb-get install \
brave-browser \
cryptomator \
opera-stable \
obsidian
Flatpak
Base
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
packages
Thunderbird, Betterbird, Mullvad,
flatpak install \
flathub org.mozilla.Thunderbird \
flathub eu.betterbird.Betterbird \
flathub net.mullvad.MullvadBrowser \
flathub org.gimp.GIMP
Snap (not on Debian)
Espanso (not working as expected)
sudo snap install espanso --classic --channel=latest/edge
espanso service register
espanso start
wget https://github.com/federico-terzi/espanso/releases/download/v2.2.1/espanso-debian-x11-amd64.deb
sudo apt install ./espanso-debian-x11-amd64.deb
espanso service register
espanso start
Mullvad VPN
Homepage: https://mullvad.net/
Download the Mullvad signing key, add the Mullvad repository server to apt, install the package.
sudo curl -fsSLo /usr/share/keyrings/mullvad-keyring.asc https://repository.mullvad.net/deb/mullvad-keyring.asc
echo "deb [signed-by=/usr/share/keyrings/mullvad-keyring.asc arch=$( dpkg --print-architecture )] https://repository.mullvad.net/deb/stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/mullvad.list
sudo apt update
sudo apt install mullvad-vpn
Joplin
Homepage: https://joplinapp.org/
wget -O - https://raw.githubusercontent.com/laurent22/joplin/dev/Joplin_install_and_update.sh | bash
NVM for NodeJS & NPM
Homepage: https://github.com/nvm-sh/nvm
Guide: https://linuxize.com/post/how-to-install-node-js-on-ubuntu-20-04/
We use the NVM installer script from Github.
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
Always remember: never just copy and paste code from any website into your terminal
And with this we install NodeJS
and NPM
.
nvm install node
Install FZF
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
DDEV & Docker (NEEDS TO BE UPDATED!!!)
The following commands are just a small part of the whole installation guide. So, please follow along to the complete DDEV & Docker Installation Guide over on the official docs - unless you almost know what you are doing or need just the essential parts of it.
curl -fsSL https://apt.fury.io/drud/gpg.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/ddev.gpg > /dev/null && echo "deb [signed-by=/etc/apt/trusted.gpg.d/ddev.gpg] https://apt.fury.io/drud/ * *" | sudo tee /etc/apt/sources.list.d/ddev.list && sudo apt update && sudo apt install -y ddev
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
sudo mkdir -p /etc/apt/keyrings && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
mkcert -install
About ~111MB worth.
Add a new group called docker
and add your $user
to it if - most of the it’s already done.
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
Now we want to test if everything is up and running. We do so with these both commands.
sudo docker run hello-world
docker run hello-world
Keep in mind NOT to use ddev or docker with sudo
privileges in any other case than this here. If you need sudo
privileges you have to double check your setup!
i3wm
i3 Layout Manager
!!! Needs active github configuration !!!
https://github.com/klaxalk/i3-layout-manager
git clone https://github.com/klaxalk/i3-layout-manager.git ~/source/i3-layout-manager/
Install Starship Shell
curl -sS https://starship.rs/install.sh | sh
Font
JetBrains Mono NerdFont
Linux Mint Webapp Manager
- https://github.com/linuxmint/webapp-manager
- http://packages.linuxmint.com/pool/main/w/webapp-manager/
Install a nice wallpaper
https://commons.wikimedia.org/wiki/File:2016-11-14_gnu-linux_wallpaper.png
Manjaro / Arch
Docker && DDEV
sudo pacman -Syyu
sudo pacman -S docker
yay -Syyu ddev-bin
sudo usermod -aG docker $USER
sudo systemctl start docker.service
sudo systemctl enable docker.service
reboot
Config Carneval
debian.md
clear
echo "### CLEAN UP JUNK AND BLOAT"
sudo apt remove gnome-games evolution libreoffice\*
sudo apt autoremove
sudo apt autoclean
clear
echo "### LOOK FOR UPDATES FIRST"
sudo apt update
echo "### INSTALL BASE DEBIAN"
sudo apt install \
aptitude \
arandr \
bash-completion \
build-essential \
ca-certificates \
curl \
dmenu \
dunst \
filezilla \
flameshot \
flatpak \
gnome-shell-extension-manager \
gnome-tweaks \
gnome-software-plugin-flatpak \
ksnip \
gdu \
git \
gnupg \
imwheel \
kbdd \
libfuse2 \
mpv \
neovim \
nitrogen \
pipx \
ripgrep \
rofi \
stow \
sxhkd \
i3 \
i3blocks \
i3status \
thunderbird \
wget \
xbacklight \
xdotool \
xorg \
-y
echo "### INSTALL FLATPAK"
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
echo "## FLATPAK"
sudo flatpak install flathub it.mijorus.gearlever org.nickvision.tubeconverter flathub fr.romainvigier.MetadataCleaner -y
echo "### INSTALL PIPX"
pipx install gnome-extensions-cli --system-site-packages
# REBOOT
gext install [email protected]
gext install [email protected]
gext install [email protected]
gext install space-bar@luchrioh
gext install AlphabeticalAppGrid@stuarthayhurst
i3.configuration
# bindsym XF86MonBrightnessUp exec xbacklight -inc 10 # increase screen brightness
# bindsym XF86MonBrightnessDown exec xbacklight -dec 10 # decrease screen brightness
shell1.sh
clear
echo "### CLEAN UP JUNK AND BLOAT"
sudo apt purge gnome-games evolution libreoffice* -y
echo "### LOOK FOR UPDATES FIRST"
sudo apt update && sudo apt upgrade -y
echo "### INSTALL BASE DEBIAN"
sudo apt install aptitude arandr bash-completion build-essential ca-certificates curl dmenu dunst filezilla flameshot flatpak gnome-shell-extension-manager gnome-tweaks gnome-software-plugin-flatpak ksnip gdu git gnupg imwheel kbdd kitty libfuse2 mpv nitrogen pcmanfm pipx ripgrep rofi stow sxhkd i3 i3blocks i3status thunderbird wget xbacklight xdotool xorg -y
echo "### CLEAN UP JUNK AND BLOAT"
sudo apt autoremove -y
sudo apt autoclean -y
shell2.sh
echo "### INSTALL FLATPAK"
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
echo "### INSTALL PIPX"
pipx install gnome-extensions-cli --system-site-packages
gext install [email protected]
gext install [email protected]
gext install [email protected]
gext install space-bar@luchrioh
gext install AlphabeticalAppGrid@stuarthayhurst
echo "## FLATPAK"
flatpak install flathub it.mijorus.gearlever org.nickvision.tubeconverter flathub fr.romainvigier.MetadataCleaner flathub io.github.getnf.embellish -y
sudo reboot
xorg.conf
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "Backlight" "intel_backlight"
EndSection
- Testing
- Linux
- Ubuntu
- Debian
- WebDev