This is not a tutorial. This is a way.

Debian +OpenBox is (a) the way. My system is a lenovo p53s laptop; nvidia remains unused because I only play Nexuiz, if I do. Yesterday I had a couple minutes so I downloaded a new trixie netinstaller iso and burn’d it to a usb stick, to which I booted into immediately, for the installing.

You can simply hold the enter key down and proceed through the installer and be magically booted into debian, if you like. Don’t do that, though, that’s crazy, and, I’m lying. Change these: networking, partitions, software. Networking is no big deal to mess with, or not, I use ethernet, so, I use a static local IP, therefore I don’t allow the installer to auto-negotiate anything. Only occasionally do I use wifi, I act accordingly when I need it. Let it auto if you like, it’s cool.

Root is allowed, absolutely.

I have a separate /home partition and I like it that way - do the same, smile later when it hits you. I have an nvme drive and I use ext4, with discard and noatime, for the root partition and xfs for /home, with noatime. ANd when the installer gets to (tasksel) the software part of the show, I uncheck everything other than typical system stuff, near the bottom. Do the same.

Installing debian is simple, clean, and fast. Upon rebooting there is nothing but a prompt if you do it this way, which, is the correct way. Let’s build-up the sexy real quick.

I log in as root and install sudo and aptitude, which I have not added to kevin, for reasons. Then, still as root, I: visudo, and add my user beneath the existing root user down the file:

me ALL=(ALL:ALL) NOPASSWD:ALL

Then I log out of root and in as me to run the kevin bash script which installs the stuff I need to maintain penultimate level boredom. I run it like: sudo kevin.sh - Here’s the guts to kevin, probably with some redundancy:

#!/bin/bash

# check root

[ "$(id -u)" -ne 0 ] && { echo "Must run as root" 1>&2; exit 1; }

# Install packages

echo -e "\e[1mInstalling packages...\e[0m"

[ "$(find /var/cache/apt/pkgcache.bin -mtime 0 2>/dev/null)" ] || apt-get update

apt-get -y install xorg openbox lxpanel thunar thunar-archive-plugin intel-microcode claws-mail polkitd xinit intel-media-va-driver-non-free va-driver-all

apt-get -y install curl feh bat lsd diodon nvtop unclutter numlockx wget whois mesa-utils mesa-va-drivers mpg123 alsa-utils ffmpeg bc jq libnotify-bin mc lshw lsof ncal ncdu inxi psmisc s-tui sed cpufetch dfc sysstat tar unzip zip x11-xserver-utils htop apt-utils at upower pwgen usbutils vnstat xpdf oxygencursors gpicview jpegoptim libimage-exiftool-perl

apt-get -y install tango-icon-theme keepassxc dbus-x11 lxappearance obsession scrot gvfs-backends arandr menu menu-xdg pnmixer bogofilter bleachbit gifsicle

apt-get -y install geany geany-plugins claws-mail-bogofilter lynx alacritty claws-mail-fancy-plugin claws-mail-pgpmime claws-mail-tools claws-mail-pgpinline claws-mail-vcalendar-plugin

apt-get -y install rsync fastfetch cpufetch cbatticon xscreensaver gpicview xscreensaver-gl xscreensaver-gl-extra fd-find libxml2-utils starship pulseaudio

apt-get -y install meld mintstick ips seahorse tldr mpv net-tools neverputt gnome-characters gparted pkexec xclip gsimplecal

apt-get -y install hwinfo iftop imagemagick acpi lm-sensors python3-pexpect pwgen s-tui sensible-utils catfish iotop pithos

apt-get -y install xdg-user-dirs-gtk xdg-utils xdotool unzip usbutils util-linux vym yelp zenity zip silversearcher-ag galternatives

apt-get -y install planner libreoffice libreoffice-gtk3 xfce4-screenshooter smartmontools gimp obsidian-icon-theme orage gmrun synaptic yad zim bashtop grc duf

I have a smoke as kevin does its thing. I arrive back at the prompt, system installed.

I do more:

sudo update-alternatives --install /usr/bin/x-file-manager x-file-manager /usr/bin/thunar 210

sudo update-alternatives --install /usr/bin/x-text-editor x-text-editor /usr/bin/subl 210

sudo update-alternatives --install /usr/bin/x-terminal-emulator x-terminal-emulator /usr/bin/alacritty 210

I might use kitty instead, which is usual

sudo dpkg-reconfigure tzdata

I have saved stuff:

sudo cp -R .local/share/fonts/* /usr/share/fonts/

sudo cp -R .local/share/themes/* /usr/share/themes/

sudo cp -R .local/share/icons/Dracula/ /usr/share/icons/

curl -s 'https://liquorix.net/install-liquorix.sh' | sudo bash

echo "vm.dirty_background_ratio=20" | sudo tee -a /etc/sysctl.conf

echo "vm.dirty_ratio=60" | sudo tee -a /etc/sysctl.conf

I might change swappiness, too

put the following in /etc/fstab:

tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

tmpfs /var/spool tmpfs defaults,noatime,mode=1777 0 0

tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0

tmpfs /var/log tmpfs defaults,noatime,mode=1777 0 0

I like the following 3 proggys so:

sublime text:

wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo tee /etc/apt/keyrings/sublimehq-pub.asc > /dev/null

echo -e 'Types: deb\nURIs: https://download.sublimetext.com//nSuites: apt/stable/\nSigned-By: /etc/apt/keyrings/sublimehq-pub.asc' | sudo tee /etc/apt/sources.list.d/sublime-text.sources

Then, update and install sublime.

firefox:

wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null

echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | sudo tee -a /etc/apt/sources.list.d/mozilla.list > /dev/null

update, install firefox

phoenix:

echo 'deb https://download.opensuse.org/repositories/home:/celenity/Debian_12/ /' | sudo tee /etc/apt/sources.list.d/home:celenity.list

wget -O- https://download.opensuse.org/repositories/home:celenity/Debian_12/Release.key 2>/dev/null | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_celenity.gpg > /dev/null

update, install phoenix

I add:

eval "$(starship init bash)"

to root .bashrc, for the pretty.

I install loginfetch from marcov’s script, sans physlock:

script is here, unmodified.

I remove the following after installing the sexy: exim, xdg-desktop-portal, and xdg-desktop-portal-gtk*

I modify /etc/default/grub thusly:

GRUB_CMDLINE_LINUX_DEFAULT="quiet mitigations=off"

You may want to leave grub alone.

randomly, when I log into a gui, I: sudo lxappearance and choose to make root apps comply.

I have a wicked: ~/.bashrc and also: ~/.bash_aliases, ~/.bash_functions. My: ~/.config/openbox rc.xml and menu.xml are fully tweaked and wicked, my ~/bin dir is full of handy scripts; I want for nothing. Firefox opens in ~ a second with win+b, which is the slowest app to open. I maintain: starship, kitty, et al. config files. I back stuff up to a usb stick with a handy rsync alias.

This has been my desktop for ~ 20 years - completely reliable and functional top’d with kill-me-now boring.