2025 Dev Setup - Revised

Debian 13 with KDE Plasma 6
Install base distro
Download and install distro iso
Download Debian 13 minimal ISO
https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-13.0.0-amd64-netinst.iso
Install Guide
https://www.linuxtechi.com/how-to-install-debian-12-step-by-step/
Update packages
Fix sudo command not found
https://linuxways.net/debian/fix-sudo-command-not-found-debian-12/
Switch to root user
su -
Install sudo
apt install sudo -y
Add standard user to sudoer
sudo usermod -aG sudo USERNAME_HERE
Update sources to avoid Myanmar ISP restrictions and for Nvidia drivers
https://fostips.com/change-source-mirror-debian-12/
https://cdn-aws.deb.debian.org/
Backup /etc/apt/sources.list
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
Edit /etc/apt/sources.list
#deb cdrom:[Debian GNU/Linux 13.0.0 _Trixie_ - Official amd64 NETINST with firmware 20250809-11:20]/ trixie contrib main non-free-firmware
#deb http://mirrors.cloudforest.co.th/debian/ trixie main contrib non-free non-free-firmware
#deb-src http://mirrors.cloudforest.co.th/debian/ trixie main contrib non-free non-free-firmware
deb http://cdn-aws.deb.debian.org/debian/ trixie main contrib non-free non-free-firmware
deb-src http://cdn-aws.deb.debian.org/debian/ trixie main contrib non-free non-free-firmware
#deb http://security.debian.org/debian-security trixie-security main non-free-firmware
#deb-src http://security.debian.org/debian-security trixie-security main non-free-firmware
deb http://cdn-aws.deb.debian.org/debian-security trixie-security main contrib non-free non-free-firmware
deb-src http://cdn-aws.deb.debian.org/debian-security trixie-security main contrib non-free non-free-firmware
# trixie-updates, to get updates before a point release is made;
# see https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_updates_and_backports
deb http://cdn-aws.deb.debian.org/debian/ trixie-updates main contrib non-free non-free-firmware
deb-src http://cdn-aws.deb.debian.org/debian/ trixie-updates main contrib non-free non-free-firmware
# This system was installed using removable media other than
# CD/DVD/BD (e.g. USB stick, SD card, ISO image file).
# The matching "deb cdrom" entries were disabled at the end
# of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.
Update, upgrade and obtain kernel headers
sudo apt update
sudo apt upgrade
sudo apt install linux-headers-amd64
sudo reboot now
Incase of broken or missing package install
sudo apt --fix-broken install
sudo apt update --fix-missing
Install drivers and KDE
Install Nvidia drivers
https://wiki.debian.org/NvidiaGraphicsDrivers#Debian_Testing_.22Trixie.22
https://neuronvm.com/docs/install-nvidia-drivers-on-debian/
sudo apt install nvidia-kernel-dkms nvidia-driver firmware-misc-nonfree
sudo reboot now
Install KDE Plasma
https://wiki.debian.org/KDE#Installation
https://www.reddit.com/r/debian/comments/1640aaq/tutorial_how_to_make_a_clean_kde_plasma_install/
sudo apt install kde-standard
sudo reboot now
Fix wifi not working issue by editing /etc/network/interfaces
file and commenting or deleting the interface used during installation
sudo nano /etc/network/interfaces
# The primary network interface
#allow-hotplug wlp0s20f3
#iface wlp0s20f3 inet dhcp
# wpa-ssid WIFI_NAME
# wpa-psk WIFI_PASSWORD
sudo reboot now
Post install
Install VPN
Install outline vpn client
https://support.google.com/outline/answer/15331527?hl=en
wget -qO- https://us-apt.pkg.dev/doc/repo-signing-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/gcloud-artifact-registry-us.gpg
echo "deb [arch=amd64] https://us-apt.pkg.dev/projects/jigsaw-outline-apps outline-client main" | sudo tee /etc/apt/sources.list.d/outline-client.list
sudo apt update
sudo apt install outline-client
Update Firefox ESR
https://support.mozilla.org/en-US/kb/install-firefox-linux
sudo install -d -m 0755 /etc/apt/keyrings
wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | sudo tee -a /etc/apt/sources.list.d/mozilla.list > /dev/null
echo '
Package: *
Pin: origin packages.mozilla.org
Pin-Priority: 1000
' | sudo tee /etc/apt/preferences.d/mozilla
sudo apt update
sudo apt upgrade
Cleanup
Connect to outline vpn (KDE app store Discover needs VPN)
Go to Discover > Installed
Remove unused apps like KMail, KWrite etc
Go to Discover > System Settings
Install Yakuake
Go to Multimedia > Video Player
Install VLC
Skip grub loader screen
sudo nano /etc/default/grub
GRUB_TIMEOUT=0
sudo update-grub
sudo reboot now
Development env setup
Install PHP
https://php.watch/articles/install-php82-ubuntu-debian
sudo apt install curl libnss3-tools jq xsel openssl ca-certificates
sudo apt install apt-transport-https lsb-release ca-certificates wget -y
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
sudo apt update
sudo apt install php8.2 php8.2-cli php8.2-curl php8.2-gd php8.2-mbstring php8.2-posix php8.2-xml php8.2-zip
sudo apt install php8.2-fpm
sudo a2enconf php8.2-fpm
# Uninstall apache2 (optional)
sudo apt remove --purge apache2* libapache*
# Change PHP version
sudo update-alternatives --config php
# Uninstall PHP version
sudo apt purge php8.X*
Install composer
curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php
sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
sudo nano .bashrc
# add at end of file
export PATH="$PATH:$HOME/.config/composer/vendor/bin"
sudo reboot now
Fix curl error 28 connection time out issue or use VPN
https://github.com/composer/composer/issues/7503#issuecomment-458173411
composer config -g repo.packagist composer https://repo.packagist.org
Install valet
composer global require genesisweb/valet-linux-plus
cd
mkdir .valet
valet install
valet install --mariadb -vvv
sudo reboot now
Fix [DomainException] Unable to determine service name.
https://github.com/valet-linux-plus/valet-linux-plus/issues/137
sudo apt install systemd-resolved
valet install --mariadb -vvv
Fix [DomainException] Apt was unable to install [redis-server].
sudo apt update --fix-missing
valet install --mariadb -vvv
Fix sites not working aka service unknown error
https://github.com/valet-linux-plus/valet-linux-plus/issues/130#issuecomment-2715924576
# Disable systemctl-resolved
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
# Remove /etc/resolv.conf symlink
sudo rm /etc/resolv.conf
# Manually create /etc/resolv.conf
echo "nameserver 127.0.0.1" | sudo tee /etc/resolv.conf
# Restart dnsmasq
sudo systemctl restart dnsmasq
sudo systemctl enable dnsmasq
# test
ping phpinfo.test
Fix Valet nginx fails error
https://github.com/valet-linux-plus/valet-linux-plus/issues/152
sudo nano ~/.config/valet/Nginx/mails.test
# listen 443 ssl;
# http2 on;
listen 443 ssl http2;
Install nodejs
Install n
curl -L https://bit.ly/n-install | bash
# or
curl -L https://raw.githubusercontent.com/mklement0/n-install/stable/bin/n-install | bash
# or
git clone https://github.com/mklement0/n-install.git
cd n-install/bin
bash n-install
sudo reboot now
Test
php -v
node -v
npm -v
mkdir phpinfo
cd phpinfo
echo "<?php phpinfo();" >> index.php
valet link
ping phpinfo.test
# or visit phpinfo.test in browser
Fix service not found when visiting sites
Change network setting by defining DNS servers
System Settings > Wi-Fi & Internet > Wi-Fi & Networking > Select connection > Select IPv4
Method : Automatic (Only addresses)
Servesr: 8.8.8.8,1.1.1.1
Apply
Restart
Essential apps and customization
Essential apps
VS Code
https://code.visualstudio.com/docs/?dv=linux64_deb
Download deb file
sudo dpkg -i vscode.deb
Obsidian
Use remotely sync to sync notes on dropbox
Publii
https://getpublii.com/docs/install-publii.html
Dropbox
Download deb
https://www.dropbox.com/download?dl=packages/ubuntu/dropbox_2025.05.20_amd64.deb
https://www.dropbox.com/install-linux
https://www.reddit.com/r/chromeos/comments/1dcvy8t/how_to_install_dropbox/
cd Downloads
sudo dpkg -i dropbox_2025.05.20_amd64.deb
sudo apt install python3-gi gobject-introspection gir1.2-gtk-3.0
sudo dropbox start -i
Setup ssh keys and git
https://unix.stackexchange.com/questions/257590/ssh-key-permissions-chmod-settings
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*
git config --global init.defaultBranch main
git config --global user.email "email@domain.com"
git config --global user.name "name"
Setup zsh, ohmyzsh and starship
Install zsh
https://github.com/ohmyzsh/ohmyzsh/wiki/Installing-ZSH
https://github.com/theborowski/pop-setup
sudo apt install zsh
zsh --version
chsh -s $(which zsh)
sudo reboot now
# When configuring the .zshrc file, choose an empty option, `ohmyzsh` will replace it.
Install ohmyzsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
rm .zshrc.pre-oh-my-zsh
Update ~/.zshrc
nano ~/.zshrc
# install plugins
plugins=(git common-aliases copyfile copypath extract ssh)
# copy exports from .bashrc
source ~/.zshrc
https://www.nerdfonts.com/font-downloads
copy fonts to /.local/share/fonts/
curl -sS https://starship.rs/install.sh | sh
echo 'eval "$(starship init zsh)"' >> ~/.zshrc
starship preset nerd-font-symbols -o ~/.config/starship.toml
# starship.toml file will be updated again when installing dracula theme
Use dracula themes and color
mkdir dracula-themes
cd dracula-themes
konsole
git clone https://draculatheme.com/konsole
cp konsole/Dracula.colorscheme ~/.local/share/konsole
Konsole > Configuration > Add new profile > Color > Dracula
yakuake
git clone https://github.com/dracula/yakuake.git
cp -r yakuake ~/.local/share/yakuake/kns_skins/
cd ~/.local/share/yakuake/kns_skins
mv yakuake dracula
Yakuake > Configuration > Appearance
zsh
git clone https://github.com/dracula/zsh.git
ln -s ~/dracula-themes/zsh/dracula.zsh-theme ~/.oh-my-zsh/themes/dracula.zsh-theme
nano ~/.zshrc
# comment out current theme
#ZSH_THEME="robbyrussell"
# add following at the end
ZSH_THEME="dracula"
starship
Edit ~/.config/starship.toml
https://gist.github.com/mrlinnth/33d8dfbb0494c0e31dd4ab013a05831b
firefox
https://addons.mozilla.org/en-US/firefox/addon/dracula-dark-colorscheme/