🧵 1/9
# Challenge in August: setup developer environment on Debian
How hard can one make this challenge!?
The only prep is installing #Debian 12 on an USB stick and hoping for the best.
🧵 2/9
## Getting the laptop
I received an old #Lenovo laptop built in year 2015 with #Windows11.
The first challenge is to get the laptop in a stable state that it does not constantly crash. The issue is that the battery light is flashing orange.
The obvious solution is to let the laptop charge. Though after letting it do exactly that over a couple of hours without any resolution a deeper dive is needed.
The next check is to see if the charging cable could be the issue. Sadly do not have a complete duplicate cable and am only able to replace the cable to the surge block. Due to the fact that the model is quite old it does not use USB-C connector as the charging option.
No progress with the cable option. Next I try running the laptop battery free. This is where I realized that newer models do not always have the option to remove the battery.
Removing the battery created the most stable option to test and/or clean up the current system before over writing it with Debian.
This is where it is brought to my attention that the laptop does not have the specs to run Windows 11. Thus, any #Linux will do just fine.
🧵 3/9
## Why Debian?
I am a long time #Fedora user and have a couple of #Ubuntu servers. I want to change the servers to Debian because it potentially can have longer LTS over Ubuntu and like the #FOSS nature of Debian over the other two. Plus the 6-12 month version upgrade cycle of Fedora is just too frequent for my taste.
One downside of the system so far is that the documentation is not beginner friendly. E.g. had difficulty downloading the ISO, since I was being navigated towards the documentation over the home page.
🧵 5/9
## Bare bone nature of Debian
Debian's bare bone nature is shocking and refreshing at the same time. When coming from a feature rich system like Fedora, one thinks that lots of terminal functions are a given.
Learning that tools like `git` and `curl` are not default tools on every system is surprising.
This is a good thing to know since Debian offers the perfect environment to test out how good one's project setups truly are. Just start a #VirtualBox, install the bare minimum tools, and see if the script runs without any other tweaking from one own side.
🧵 7/9
## Update user group
While still in root mode, one can take the opportunity to add the current user to `sudo` group.
```
usermod -aG sudo <username>
```
[Source](https://www.linuxtechi.com/things-to-do-after-installing-debian-12/)
🧵 8/9
## Enable Firewall
It is recommended to install the firewall on the operating system level.
```
sudo apt install ufw -y
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
```
[Source](https://www.linuxtechi.com/things-to-do-after-installing-debian-12/)
🧵 9/9
## Desktop approach
With Debian's bare bone nature one can choose many ways to deal with the UI.
Chose the desktop approach and chose [xfce](https://linuxcapable.com/how-to-install-xfce-on-debian-linux/) due to its lightweight nature.
Although xfce is quick, missing the default suite of software the Gnome provides.
At least xfce has a default shortcut for the terminal in comparison to Gnome on Fedora.
@barefootstache Sounds like LMDE would have been easier. Up and running in 10 minutes. 😉
@rspfau lots of other distros would have been easier and don't know if I would gotten the same learning experience
🧵 6/9
## The source list
When installing Debian via a USB-stick, the source list will be the stick. This is okay as initial setup, though sucks if one wants to install additional software.
First enter root mode via
```
su - root
```
By default one cannot run a command with prepending the `sudo` keyword, since the initial user is not assigned to the `sudo` group.
Once in root mode, edit the file
```
vi /etc/apt/sources.list
```
and update to
```
deb http://deb.debian.org/debian bookworm main non-free-firmware
deb-src http://deb.debian.org/debian bookworm main non-free-firmware
deb http://deb.debian.org/debian-security/ bookworm-security main non-free-firmware
deb-src http://deb.debian.org/debian-security/ bookworm-security main non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main non-free-firmware
deb-src http://deb.debian.org/debian bookworm-updates main non-free-firmware
```
[Source](https://wiki.debian.org/SourcesList)
Once done updates and upgrades should work.
`apt update && apt upgrade -y`