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


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
Date
23.05.2024
Categories
  • Testing
Tags
  • Linux
  • Ubuntu
  • Debian
  • WebDev