Debian Assistant CLI
Type | Supports |
---|---|
Kernel | 6.1.0-37, [ 6.12.41 ] |
Branch | Bookworm, [ Trixie ] |
DispServer | [ X11 ], |
Desktop | GNOME, KDE |
WManager | Openbox + LightDM |
Last update: 13-Aug-2025 (debian-13.0.0)
Time required: ~30 minutes (3-5 Mb/s custom mirror)
0- [Disable Secure Boot]
$ sudo mokutil --disable-validation
1- [Install Debian]
- Select "Expert Install"
- Install minimal Debian to start from command-line
- Do not select "allow login as root" to enable the "sudo" command
- Do not download or install extras
- Do not select any desktop in tasksel
Minimum recommended partitions:
├─ #1 VFAT /boot/efi ==1.0 GB
├─ #2 EXT4 / >16.0 GB (>24.0 GB swap as file, depends on RAM)
├─ #3 EXT4 /home ∞
└─ #4 EXT4 /media ∞
* I don't use a swap partition because I want it to be variable.
$ sudo apt edit-sources # comment out the "cdrom" line if needed
2- [Setup Networking]
[Automatic via Tether]
net-tether.sh # quick setup USB tethering
[Manual]
$ ip link
$ sudo nano /etc/network/interfaces
Add lines:
allow-hotplug {interface-name}
iface {interface-name} inet dhcp
$ sudo service networking restart
3- [Clone Repository]
$ sudo apt install git
$ git clone https://github.com/nimadez/cli
4- [Select Branch]
apt-sources.sh # generate sources (debian only, no extra sources)
$ sudo apt update
$ sudo apt full-upgrade
$ sudo reboot # reboot if there are any major updates or kernel updates
5- [Software Installation]
apt-install-headers.sh # install kernel headers
apt-install-nvidia.sh # install nvidia driver, reboot is required (non-free - optional)
apt-install-cuda.sh # install nvidia cuda toolkit (non-free - optional)
apt-install-free.sh # install common free software (99.9% free)
6- [Desktop Installation]
[GNOME]
apt-install-gnome.sh # minimal gnome-core with a minimal set of software (free)
patch/gnome-debloat.sh # it will remove the gnome-software and printer services
patch/gnome-ethernet.sh # fix undetected ethernet
[KDE]
apt-install-kde.sh # minimal kde-plasma-desktop with a minimal set of software (free)
[Openbox]
apt-install-openbox.sh # minimal openbox with a minimal set of software (free)
7- [Verify Installation]
about.sh # get basic information about the system
about-kernel.sh # get the kernel log and check for possible errors
about-root.sh # get list of / permissions
about-users.sh # get list of users
about-groups.sh # get list of groups
about-services.sh # get list of all active services
apt-history.sh # get apt history and what was done
apt-list.sh # get the number and list of available packages
8- [Finish Installation]
$ cp /etc/skel/.bashrc ~ # if the home partition is formatted, copy the .bashrc file
swap-make.sh # make a swap file if you don't have a swap partition
swap-grub.sh # run only if you are not installing any desktop (hibernate debian)
keygen-ssh.sh # generate ssh keys (optional)
keygen-ssl.sh # generate ssl keys (optional)
purge-cache.sh # purge ~/.cache if you don't keep permanent files there
- Trixie "stable-proposed" branch without "backports" is recommended. (option 3 in step 4)
- All steps and scripts are updated with each installation to include any missing changes.
- Remember to reinstall kernel headers after every kernel update. ("testing" branch only)
- Installing multiple desktops together is not recommended, just install GNOME or KDE.
- If there are no compatibility issues, you can install software from one desktop on another.
- KDE installation supports themed login screen, system-settings and X11 windows.
- GNOME and KDE are both ~500 MB download, handpicked with almost identical features.
- Openbox is ~100 MB download, it is a window manager, not a desktop environment.
- You can skip step 6 and use pure Debian via the command-line.
Extension | Version |
---|---|
panel-hwinfo-48@nimadez | 48 - Trixie |
panel-hwinfo-43@nimadez | 43 - Bookworm |
- Add hardware info and transparency to panel
- CPU usage + Temp, GPU temp + Fan speed, Memory + Swap
$ sh install.sh
This will symlink scripts to /usr/local/bin and remove extensions.
All .sh, .py, and .js files in the /usr/local/bin directory will be affected.
- Create a bash script
~/.config/autostart/startup.sh
- Create a desktop file
~/.config/autostart/startup.desktop
- This is also supported by KDE, but it needs some
$ sleep
to delay.
[Desktop Entry]
Type=Application
Name=Startup
Exec=x-terminal-emulator -e "sh /home/<USER>/.config/autostart/startup.sh"
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
X-GNOME-Autostart-Delay=10
Firefox, VSCodium, Blender, Inkscape, GIMP, Krita, Kdenlive ...
- apt-sources.sh is set to Trixie by default
- Added "libgdk-pixbuf2.0-bin" to apt-install-gnome.sh (enabled nautilus thumbnails)
- gnome-debloat.sh includes more junks (weather, calendar, maps, etc.)
- Extensions updated to support GNOME 48
- Python .venv and related content updated to version 3.13
- Compiles against the kernel 6.12/cuda 12.4 (llama-cpp, ffmpeg, python 3.11, etc.)
The upgrade was smooth and no issues were found (Debian/X11).
See "patch/wayland-nvidia.sh" to setup wayland
Notice: without this patch, gnome-core will not start without "gnome-session-xsession" installed.
These problems have no solution:
- [NVIDIA]
- "nvidia-x-server" is not working (workaround: Login to X11 > Setup > Logout > Login to Wayland)
- "nvidia-settings" does not work to use the command-line
- Slow and glitchy startup (the monitor struggles to come up, it receives a complete OFF/ON signal)
- [WACOM]
- https://github.com/linuxwacom/xf86-input-wacom/wiki/Wayland
- [FAILED BY DESIGN]
- Multi-input/Multi-pointer/Multi-monitor/Multi-* conflicts
↑ Upgrade to Debian 13 Trixie with GNOME 48 / KDE 6.3
↑ All Linux, currently all my devices are Linux based
↑ Celebrating 1 year with Linux on the everyday desktop PC 🎂
↑ Wine requirement reduced to zero, migration completed
↑ Debian Assistant CLI
↑ Q1 2024 - Migrating to Debian Linux after 30 years of MS-DOS/Win32
↑ Created in 2019 for system automation on Windows machine
"A machine can reprogram another machine from scratch."
"I had something like undo syndrome in the first year, which was both annoying and pleasant in the mornings. Today, that condition seems to be gone, but a little of that pleasant mood still remains."
Code released under the GPL-3.0 license.