# Guide to using Debian GNU/Linux

I recommend both the GNOME and KDE desktop environments,
this guide is made around the assumption that you are using
one of those. However, this could also be used as a reference
for general tweaks & tips for any desktop environment.

## Script

I made a simple script that you can run on a debian install
to customize some basic features like locale, non-free
software for nvidia drivers or Steam, it basically automates
the steps detailed in this guide for a quicker setup.

### Script functionality"

You can select any option by pressing 'y' or skip by pressing
anything else or leaving it blank. It currently supports:

- De-bloat by removing games, default torrent program, etc.
- Add non-free repositories (e.g. for Steam)
- Setup custom locales.
- Install non-free codecs & fonts (e.g. Arial)
- Install Steam
- Install flatpak (e.g. for Discord)

In order to run this script, type:

```shell
wget -qO extrasel.sh "https://gitlab.com/tavo-wasd/guides/-/raw/main/awesome-software/debian-gnu-linux/extrasel.sh?ref_type=heads" && sudo sh extrasel.sh
```

## Manual steps

### Manual update

```shell
sudo apt update && apt upgrade -y
```

### De-bloat

```shell
sudo apt purge gnome-games gnome-music synaptic transmission-gtk evolution shotwell -y
sudo apt autoremove -y
```

### Non-free repositories

```shell
sudo apt-add-repository contrib non-free -y
```
### Custom locales.

First, look for your preferred locale in
the available locales with this command:

```shell
cat /usr/share/i18n/SUPPORTED
```

Choose the locale you prefer, and run:

```shell
echo "CHOSENLOCALE" | sudo tee -a '/etc/locale.gen'
# For EXAMPLE: echo "es_CR.UTF-8 UTF-8" | su...
```

You can add as many locales as you want.
Then, generate the locales selected by running:

```shell
sudo locale-gen
```
### Non-free codecs & fonts

```shell
sudo apt install vlc libavcodec-extra ttf-mscorefonts-installer
```

#### (Extra) Nvidia drivers

```shell
sudo apt install nvidia-driver
```

### Steam

```shell
sudo dpkg --add-architecture i386 # Add 32bit packages
sudo apt update                   # Apply changes
sudo apt install mesa-vulkan-drivers libglx-mesa0:i386 mesa-vulkan-drivers:i386 libgl1-mesa-dri:i386
sudo apt install steam-installer
```

### Flatpak (e.g. for Discord)

```shell
sudo apt install flatpak
# sudo apt install plasma-discover-backend-flatpak # For KDE users
# sudo apt install gnome-software-plugin-flatpak   # For GNOME users
```

Remember flatpak is just a packaging format, [flathub](https://flathub.org) is just
a popular repository for software where you can find official
builds for [Discord](https://flathub.org/apps/com.discordapp.Discord) or [Telegram Desktop](https://flathub.org/apps/org.telegram.desktop), and unofficial builds
for [Miscrosoft Teams](https://flathub.org/apps/com.github.IsmaelMartinez.teams_for_linux) or [VSCode](https://flathub.org/apps/com.visualstudio.code).
You can add the 'flathub' repository this way:

```shell
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
```

### Restart

You should restart your computer after applying this changes,
especially for flatpak and gpu drivers.