Home / Log

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

VS CODE
Linux Web Dev Setup with i3wm

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

https://starship.rs/

curl -sS https://starship.rs/install.sh | sh

Font

JetBrains Mono NerdFont

https://www.nerdfonts.com/


Linux Mint Webapp Manager


Install a nice wallpaper

https://commons.wikimedia.org/wiki/File:2016-11-14_gnu-linux_wallpaper.png

Date
23.05.2024
Categories
  • Testing
Tags
  • Linux
  • Ubuntu
  • WebDev
  • ProscessWire
  • 11ty