https://github.com/nimadez/cli
Debian Assistant CLI (private)
https://github.com/nimadez/cli
command-line debian gnome installation linux linux-kernel llama-cpp monitoring networking openbox script-collection security sway trixie wayland x11
Last synced: about 2 months ago
JSON representation
Debian Assistant CLI (private)
- Host: GitHub
- URL: https://github.com/nimadez/cli
- Owner: nimadez
- License: gpl-3.0
- Created: 2025-08-25T04:46:38.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2025-09-07T03:17:29.000Z (about 2 months ago)
- Last Synced: 2025-09-07T03:22:01.367Z (about 2 months ago)
- Topics: command-line, debian, gnome, installation, linux, linux-kernel, llama-cpp, monitoring, networking, openbox, script-collection, security, sway, trixie, wayland, x11
- Language: Shell
- Homepage:
- Size: 150 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CLI

### Debian Assistant CLI
> This repository contains various scripts ```~100 kb``` for working with the Debian OS and the Linux kernel, from installation to everyday scripts. 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***.
> - All scripts should work well with ```bash``` or ```sh```.
> - All scripts that have long output are scrollable. (q = quit)
- [Minimal Debian Installation](https://github.com/nimadez/cli#minimal-debian-installation)
- [CLI Installation](https://github.com/nimadez/cli#cli-installation)
- [FAQ](https://github.com/nimadez/cli#faq)
- [History](https://github.com/nimadez/cli#history)
### Minimal Debian Installation
Kernel: ```6.12.43```
Release: ```Debian 13.1 Trixie```
Desktop: ```GNOME 48 (gnome-shell)```
Display servers: ```X11 (default)``` ```Wayland (testing)```
Total download: ```~700-800 MB deb without CUDA```
Last installation: ```7-Sep-2025 (13.1.0-amd64-DVD)```
Installation time: ```~30 minutes (1-5 Mb/s)```
Known issues: ```none```
```
0- [Disable Secure Boot]
$ sudo mokutil --disable-validation
* https://wiki.debian.org/SecureBoot
```
```
1- [Install Debian]
- Select Advanced options > "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 (you can also not set up the network)
- Do not select any desktop in tasksel (just check "standard system utilities")
- Most of the installation options are fine by default and you can press Enter
Minimum recommended partitions (manual):
├─ #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]
net-tether.sh # quick setup USB tethering interface (easiest)
net-wifi.sh # wifi manager using network-manager
* If connected via USB tethering, if the network is disconnected
after a reboot, you will need to run "net-tether.sh" again.
[Manual]
$ ip link
$ sudo nano /etc/network/interfaces
Add new lines:
allow-hotplug {interface-name}
iface {interface-name} inet dhcp
$ sudo systemctl restart networking
```
```
3- [Clone Repository]
$ sudo apt install git
$ git clone https://github.com/nimadez/cli
$ cd cli && sh cli-install.sh
* Installation is optional and is done to make it easier to call scripts.
* If re-installing, a better method is to clone the repository
to the /home partition before installing, then you will also
have access to the automatic network configuration scripts.
```
```
4- [Select Branch]
[Automatic]
apt-sources.sh # generate sources.list (standard debian sources)
* Trixie "stable-proposed" branch without "backports" is recommended. (option 3)
[Manual]
$ sudo apt edit-sources
$ sudo apt update
$ sudo apt full-upgrade
$ sudo reboot
```
```
5- [Driver and Software]
install/apt-sys-headers.sh # linux kernel headers (required)
install/apt-drv-nvidia.sh # nvidia driver, reboot is required (non-free - optional)
install/apt-drv-cuda.sh # nvidia cuda toolkit (non-free - optional)
install/apt-com.sh # common free software (free - recommended)
install/apt-com-vm.sh # qemu virtual-machine emulator (free - optional)
install/apt-com-av.sh # an open-source antivirus engine (free - optional)
* Remember to reinstall kernel headers after every kernel update.
* apt-com.sh contains software that is essential and recommended to be installed.
* CUDA toolkit is about 2 GB in size and can be ignored and installed later.
```
```
6- [Desktop Environment]
install/apt-env-gnome.sh # minimal gnome-shell with a minimal set of software (free)
* You can skip this step to use pure Debian via the command-line.
```
```
7- [Verify Installation]
about.sh # get basic information about the system
about-apt.sh # get the number, list and history of available packages
about-net.sh # get basic network info
about-admin.sh # get group/user entries from administrative database
about-kernel.sh # get the kernel log and check for possible errors
about-services.sh # get list of all active services
```
```
8- [Finish Installation]
swap-make.sh # make a swap file if you don't have a swap partition
swap-grub.sh # to hibernate debian command-line (optional - not usable by desktops)
keygen.sh # generate new GPG, SSH and SSL keys (optional)
patch/gnome-user-theme.sh # a simple gnome extension to load user theme (optional)
patch/wayland-nvidia.sh # fix wayland nvidia issues (if you want to enable wayland)
$ cp /etc/skel/.bashrc ~ # if the home partition is formatted, copy the .bashrc file
$ sudo reboot
```
### CLI Installation

```
git clone https://github.com/nimadez/cli
cd cli
sh cli-install.sh
cli
cli [args...]
cli <install/script> [args...]
cli <patch/script> [args...]
```
> - Only the ```cli.sh``` script is symlinked to the ```/usr/local/bin```, and this script is used to call the rest of the scripts.
> - You can even add and call your own custom scripts to the ```/cli``` directory, or easily remove the ones you don't want.
> - If you change the ```/cli``` directory or add new scripts, you just need to reinstall.
> - Languages: ```bash/sh``` ```python/py``` ```node/js``` ```perl/pl``` ```ruby/rb```
> - You cannot have two scripts with the same name but with different extensions, unless you call with an extension.
> - **Shebang is required for all scripts.**
#### Running XMon hardware monitor
```
sudo apt install xterm wmctrl
echo "cli hw-xmon-start" >> ~/.config/autostart/startup.sh
```

#### Running WALKER 300 (TUI file browser)
```
[optional setup]
cp /etc/skel/.bashrc ~
sed -i 's/#force_color_prompt=yes/force_color_prompt=yes/g' ~/.bashrc
cli walk
```

#### Using AI assistant and coder (Fast CPU)
[Model: Qwen3-8B-GGUF](https://huggingface.co/unsloth/Qwen3-8B-GGUF)
```
curl -o b6316.tar.gz https://codeload.github.com/ggml-org/llama.cpp/tar.gz/refs/tags/b6316
cd b6316
cli make-llamacpp cpu llama.cpp-b6316
cli make-llamacpp gpu llama.cpp-b6316 (optional, see install/apt-cuda.sh)
nano cli/codex.sh # edit llama-cpp build and model paths
cli codex prompt # gpu can be enabled
cli codexx prompt # easy access to gpu mode
```
## FAQ
#### How to create a startup script?
```
$ nano ~/.config/autostart/startup.sh
$ nano ~/.config/autostart/startup.desktop
[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
```
#### How to create a custom service?
```
$ sudo nano /usr/local/bin/custom_service.sh
$ sudo chmod +x /usr/local/bin/custom_service.sh
$ sudo nano /etc/systemd/system/custom.service
[Unit]
Description=Custom Service
After=network.target
[Service]
ExecStart=/usr/local/bin/custom_service.sh
Restart=always
User=nobody
Group=nogroup
[Install]
WantedBy=multi-user.target
$ sudo systemctl daemon-reload
$ sudo systemctl enable custom.service
$ sudo systemctl restart custom.service
```
#### How to enter the command-line before display-manager?
```
1. Reboot
2. During the GRUB boot menu, press the 'e' key
3. Add the number '3' to the end of the line that starts with 'linux /boot'
linux /boot/vmlinuz-... root=... quite 3
4. Press Ctrl + x
* In case of kernel conflicts, be sure to add the number '3' to the latest version.
```
## History
```
↑ Efficiency: only one script is installed and calls other scripts
↑ Upgrade to Debian 13 Trixie
↑ 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](https://github.com/nimadez/cli/blob/main/LICENSE).
## Credits
- [Linus Torvalds](https://github.com/torvalds)
- [Linux Kernel](https://github.com/torvalds/linux)
- [Debian](https://www.debian.org/)
- [GNOME](https://www.gnome.org/)
- [llama.cpp](https://github.com/ggml-org/llama.cpp)