Skip to content

nimadez/cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CLI

Debian Assistant CLI

Type Supports
Kernel 6.1.0-37, [ 6.12.41 ]
Branch Bookworm, [ Trixie ]
DispServer [ X11 ], Wayland
Desktop GNOME, KDE
WManager Openbox + LightDM

⚠️ This repository contains ~120 scripts, only ~120 KB in size, for working with the Debian OS and the Linux kernel, from installation to everyday scripts. This repository is marked "private" because it is for my personal work, but you are free to use it however you wish. This repository is not optimized for the end-user in any way, does not contain any binaries, and does not include scripts that could cause security issues. System scripts are as POSIX-compliant as possible.

Minimal Debian Installation

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.

GNOME Extensions

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

hwinfo

FAQ

How to run these scripts system wide?

$ 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.

How to create a startup script?

  1. Create a bash script ~/.config/autostart/startup.sh
  2. 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

Are there any other free software you would recommend?

Firefox, VSCodium, Blender, Inkscape, GIMP, Krita, Kdenlive ...

What are Trixie's specific changes?

- 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).

Wayland issues

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

History

↑ 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."

License

Code released under the GPL-3.0 license.

Credits