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
- Testing
- Linux
- Ubuntu
- WebDev
- ProscessWire
- 11ty