Lenovo S20-30 Touch + Crux 3.1

PART 3  | See Part 2 and Part 1

So, Crux is meant to be keeper. And this post will be long and occasionally detailed - as Crux' manual is not very long and help is only in form of mailing-list.

Made usb installer: dd if=crux-3.1.iso of=/dev/sdd bs=1M, booted and had auto-login as root.
Did whole fdisk /dev/sda, mkswap/swapon, mkfs -t ext4 /dev/sda2 (and sda3) again.
mount /dev/sda2 /mnt    #sda1=swap, sda2=/, sda3=all stuff

Picked packages manually - left some things out. Installer finished with no errors and then it was time to chroot.
It's not particularly important in which order you do things when chrooted - and some of following can also be done after reboot.
setup-chroot  #script with all needed chroot-things
passwd  #create root password
adduser myuser  #can be done later but I did then
mkdir /media/back  #mount point for sda3
chown myuser:users /media/back
nano /etc/fstab  #has to be fixed, otherways - no boot.
nano /etc/rc.conf  #can be done later, but why wait:
FONT= default
KEYMAP=us   #all availables are in /usr/share/kbd/keymaps
TIMEZONE=Narnia/Mytown  # /usr/share/zoneinfo/
SERVICES=(crond net)  #here go all started services, e.g: alsa gpm ntp sshd
localedef -i en_US -f UTF-8 en_US.UTF-8
cp /usr/share/zoneinfo/America/Yourplace /etc/localtime
hwclock --set --date="2012-04-19 16:45:05" --localtime
hwclock --hctosys

# I have habit to use localtime - because of windows dualboot in my desktop-machine. If Linux is single-system, then it's no problem using UTC.

Created udev/rules.d/70-persistent-net.rules with card mac number as eth0 - otherways udev changes card-name to something - and net is not going to load automatically on boot.

Kernel compilation.
Thought to be clever - and compiled newer kernel (3.18.22) than one provided by Crux. Well, it hanged when booting. Tried changing things / recompiling - but nothing worked. Copied confs to sda3 and reinstalled Crux (to be safe of leftovers). Copied confs back, and compiled original kernel.
Which booted alright. But - surely I was in some totally retarded mode - as I left Intels' video driver out. Recompile. Then I discovered that I left out also sound drivers. Recompile. And afterwards I discovered that I left out i2c - needed by coretemp... well, not essential - no recompile.
Anyway, compiling went exactly like it's written in Crux' page:
cd /usr/src/linux-3.12.24
make menuconfig
make all
make modules_install
cp arch/x86_64/boot/bzImage /boot/vmlinuz
cp /boot

grub-install /dev/sda  &&  grub-mkconfig > /boot/grub/grub.cfg
I didn't like what grub created - so I made my own simple cfg file (can be copied from Crux' page, and then modified).
Copied all my desktop-Crux user-confs to laptop and changed ownership to my user.
exit && reboot

mount /dev/sda3 /media/back  #if not already in fstab
Before starting with updates I changed ports confs - made /media/back/ports and media/back/pac folders and edited /etc/pkgmk.conf and /etc/prt-get.conf accordingly. Also - every .rsync file in /etc/ports has to be changed too.
The point is - all sources+compilations grow very big, very soon. No need to stuff your root.
mv contrib.rsync.inactive contrib.rsync  #enable contrib, also in prt-get.conf
ports -u  #update ports list
prt-get sysup  #whole system upgrade - takes hours!

Only error I had was with xorg-server: missing libepoxy. Installed that and xorg compiled OK.

And then it was installing everything I normally do install. Troubles:

- gpm  # Only thing that worked was usb-mouse. Hacked /etc/rc.d/gpm:
/usr/sbin/gpm -m /dev/input/mice -t imps2
stop/start gpm and all touch-things started to function.
- openbox # cp /media/back/ports/openbox media/back/pac, then edited Pkgfile '--enable-imlib2 \' and also added imlib2 to depends line. The same goes for conky.
- xdotool  # Now there is package to be taken (1,5 years ago there wasn't)
- man needs pager - put into .bashrc: export pager='less'
- tint2 # has waken from long coma - and there is new version 0.12.2
Url in Pkgfile didn't work, though - the one in did, so I downloaded tar from there.  
- wmctrl  # url is slightly wrong - /dist has to be taken out.
- volumeicon 4.6  # last version with gtk2, needs patching.
- pale moon binary package to /opt, ln -s /usr/local/bin (I have a habit to put apps to local/bin... In Crux, this folder has to be created.)
- mplayer + smplayer  # Like previous time, there were severe problems. Basically , smplayer didn't play anything and whined about mplayer error. To cut it short - after almost 3 hours of aborted compilations I installed mpv, smplayer started to work with mplayer BUT not with mpv... &^%&#$$#^.
- compton  # Packages point to very old version. I dowloaded new git version but didn't succeed with make install (missing some dep). So I was impatient and ended up with just make and cp compton /usr/local/bin. And it works alright.
- mtpaint  # 3.40 doesn't compile - libpng-16 is too new for it. Git-version compiles ok.
- libunibreak  # is newer liblinebreak. There is no package in Crux - but it's easy to make. Fbreader needs it - and fbreaders' Pkgfile needs then fixing (liblinebreak out).
- libtorrent-rasterbar  # For qbittorrent. But - 1.0.5 from Pkgfile is a WRONG one. Qbittorrent needs 1.0.6 from git.
- qbittorrent  # Refused to make package (error - package is empty) - BUT at the same time - installed it.

And so on... Installing/upgrading Crux and adding your stuff takes 30 hours or probably more. But when all is done - it's real fast and lean. Exactly what fits with shity Celeron.

Lenovo S20-30 Touch with Funtoo and Alpine

PART 2  | See part 1

2. Funtoo, from 21. Sept stage 3 tarball.
Install went as per manual.
- Made systemrescue disk, also as per manual.
- Booted, used stage3-intel64-silvermont-pure64-funtoo-current-2015-09-21.tar.xz
Fixed fstab and some other stuff, rebooted successfully - but had no networking. Did:
rc-update add dhcpcd default && rc

Some things to write into make.conf (I am still talking of specific Lenovo netbook):
-CFLAGS="-march=native -O2 -pipe"
CXXFLAGS="-march=native -O2 -pipe"
-INPUT_DEVICES="evdev synaptics"

And then I started with defining USE flags ('emerge app-portage/ufed', an helper app)...
After spending some hours with flag-lists, and reading a bit more about vast system of emerge I came to conclusion that I do not want to build advanced spaceship and make 18 trips to Jupiter JUST for using a distro on my ships console.
I suppose it's bad influence of Slackwares' and Cruxs' minimalistic package-system approach... but really... is such a system of building life from premordial soup neccessary?
Not for me - format.

3. Alpine Linux 3.2.3 64bit.
Installation instructions in Alpines' site are ... a bit unclear... you almost think that to install it, you already HAVE to have Alpine installation, and no other way.
Fortunately, it can be done without:
Unetbootin made nice working usb-image (and dd didn't!). Booted it and:
login: root / 'enter'
(and the usual warning - MY root-part is sda2, YOURS might be different)

mount -t ext4 /dev/sda2 /mnt
setup-alpine -q
setup-sshd  # if you are going to remote into it
setup-ntp  # if you want to use time from network

setup-disk -m sys /mnt

Now, why I said things about fdisk etc? Because I forgot to format properly, and ended up with borked installation. Syslinux didn't want to live in grub-infested MBR.
Fixed it with:
- dd if=/usr/share/syslinux/mbr.bin of=/dev/sda bs=440 count=1
Then some confing ... aaand ... boot succeeded.

adduser myuser;
edited /etc/group , added new user to users, disk, wheel, audio, video, cdrom, plugdev (the last one has to be made - spacefm needs it)
apk update && apk add sudo
enabled wheel in /etc/sudoers
apk add bash bash-doc bash completion  # if ash is not your favourite...
changed user-shell to bash in /etc/passwd

... read Alpines' helps, package lists and installed various things.

Then I did change main repos to 'edge' (means testing). I certainly do not advice to do that, they are testing for reason. But - I wanted my favs - spacefm, tint2 etc. Did:
apk upgrade
/etc/apk/repositories  # changed repo to edge
apk upgrade --update-cache --available

... And there wasn't any net. Imbecilic udev had changed cards' names.
I made file /etc/udev/rules.d/80-net-setup-link.rules with mac number (which can be found with ifconfig), and for good measure, did:
ln -sf /dev/null /etc/udev/rules.d/80-net-name-list.rules
After that, it's easiest to reboot.
Once after that I lost network again - and discovered that it was because kernel time had reverted to UTC and was three hours in future...
Did 'date' and 'hwclock' to diagnose - first was wrong, the second was right, so:
hwclock --hctosys

Then I started to have some problems I didn't know how to fix.
And it all culminated with X starting without any input but usb-mouse (yes, yes - I did install evdev and synaptic, I did try to X -configure...).
Lot of curse-words, and ... yes, format it was.
Moral: Alpine  is recommended as lean and fast distro - provided that you stay with 'main' repo AND do not have touch-things. Also - can't have overly specific software needs...

Lenovo S20-30 Touch + Linux

Turning little Win-8.1-laptop to Linux-laptop.

Some relevant (drivers etc) technical data:
Resolution - 1366x768,
CPU - Celeron N2840 2,16 ghz 64bit Silvermont,
Graphics -  Intel HD,
Sound - Intel + realtek,
Ethernet - Realtek RTL8101E/RTL8102E,
Wifi - Qualcomm Atheros QCA9565/AR9565,
Touchpad - Elan.
Most of info came from lspci, lsusb, lscpu and inxi.

Original state.
I bought this little thing (11.6") in December 2014.
It had 'Windows 8.1 with Bing' OEM x86_64 installed (original dvd: IR3_CCONA_X64FREO_EN-US_DV9.iso), AND totally bloated with Lenovo crapware, including infamous Lenovo superfish-spyware (this link, or other thousands).
After struggling a bit with remove-all-shit, I tried - as a passtime - to install Slackware 14.1 for dual-boot. With partial success only - X refused to start (might have been problem of oldish kernel).
Fortunately, in process, I messed up EFI and Windows didn't start anymore - so I had an excuse to reinstall vanilla win8.1 (registration is automatic, in bios).
Tuned it, played around, and hated whole thing. You can't make bread out of shit, even with helpful addons. Also, whole system tended to be quite sluggish (not a surprise really, with Celeron N2840).
So, after a long while (it laying around mostly unused) I decided to wipe whole disk and install Linux.

The machine has efi+secure boot, but - BOTH can be disabled. And that makes installing Linux markedly easier.
My initial goals were something like:
- fast and lean distro; with little bloat (no fullblown desktop environment);
- reasonably stable;
- with all my favourite software available;
- without let-us-be-new-Windows like crap - from systemd to gnome shell.
Which made me pick Crux ( and do local search to find my three previous Crux-posts). But - because I also had a waiting-list of 'I should try this one', then I decided to try first those of the list (Antix 15, Funtoo, Alpine 3.2.3).

To action:

1. Antix 15, 64 killah p. 
A distro based on Debian 8 Jessie, but with systemd carefully removed. Full iso comes with four window managers which are swappable on fly, in X. It includes control center and various other scripts. Means - sounds interesting.

Antix' install is from the live session (I think I dd-d the usb-stick...).
username/passwd - demo/demo.
I deleted all Lenovo partitions, made swap, root and home partitions: traditional MBR, as I don't see why I should use GPT with one 500GB disk. And mind - after several installs and different bootloaders it's wise to use fdisk, gdisk, mkfs and such - for wiping disk really clean.
With little helpful trick - reading ability - the installation is a cakewalk, nothing need to be explained here.
Rebooted and logged to JWM.
Checked other WMs ... didn't like default confs and looks, as it always happens with me... So, here come short bits as 'How to tune debian distro, and also brake it':

... Synaptics, enabled more repos. Installed xapian-index (gives a search-window on toolbar);
... rebuilt JWMs menu and launchbar, reordered everything (Joe's site is very helpful as of howto);
... ~/.jwm/theme - seems to have a syntax error: not 'dejavu sans 10', but 'dejavu sans-10'. Otherways it doesn't react to any size change.

There were several annoyances from the beginning:
- Cursor jumping around when typing (very &^%&^#@$%!).
- medit and geany started occasionally new window instances - as opposed to keeping things in tabs...
- when changing window managers various things happened, including some apps closing, some forgetting tabs... But here I doubt very much if it's possible at all to smoothly integrate very different WMs and (different) default apps ...
- few usual app-related-bugs every distro tends to have: Here - clipit didn't start and xmahhjong crashed whole JWM.

So I started to remove Antix goodies, first other WMs and then all antix-scripts and antix-libs.
Re-tuned confs and shit... and, of course, ended up with one-or-two hidden, not-so-easily-findable leftover-quirks ...
My curiosity about Antix satisfied and not willing to spend more time with detective-work I formatted the whole thing.
Some general moral here: If not having unlimited time - do not full-rebuild prebuilt distro.
Ah, well... but it WAS interesting when it lasted. :)

As long you do not have touchscreen and -pad; and do not change 'desktops' on fly - Antix is recommended. It's nice, lean piece of work.
It also ended up as my 6-year old son desktop system. Who seems to be entirely OK with it.


Mimetype problems

Environment: Slackware 14.1 + Openbox + spacefm 1.0.3


Wrong (already deleted etc) apps in filetype open with list + wrong epub icon.
1. Newer version of Spacefm looks for .desktop files in ~/.local/share/applications and rearranges things in mimeinfo.cache. Result - apps list for given file-type gets strange and occasionally irrelevant.
(How and what to do with mimetypes in Spacefm.)
2. xml file in /usr/share/mime shows one icon listed, filemanager shows something complitely unrelated. Why, is unknown to me.

1. All mime defaults should go to
- either .local/share/applications/mimeapps.list,
- or to .config/mimeapps.list.
Entries look like this, for example:
[Default Applications]

Moral: As long as something is not rewriting your .local/share/applications/mimeinfo.cache too frequenty - you can change things there. It's easier and more flexible, you can also tune what app appears in second, third or whatever place on the list.
BUT, mimeinfo.cache IS prone to be rewritten, so let's change the .list with Spacefm:
rightclick on file - open - choose app for default - rightclick on it - make it default.
The same way you can remove or add apps to or from your available handlers list.
And the same for all filetypes what are not yet defined (fun and giggles for 0.5-1 hour).

2. Changing mimetype icons can also be done manually or with Spacefm:
a) copy yourproblematic.xml from /usr/share/mime/applications to ./local/share/mime/applications/packages
There is a line with <general-icon name=.../> in it. Change it from general-icon to icon, and replace icon name with your favourite icon in  ~/.icons/yourtheme/mimetype/ folder.
Run update-mime-database ~/.local/share/mime
b) A bit easire way, with Spacefm - rightclick on file - open - rightclick on default app - pick line with - click. Spacefm copies xml file from /usr/share/mime to your .local/share/mime/packages and opens it in editor.
Edit it the same way as in a).


Linuxes + windows 7

Goal: Multiboot with Windows 7, installed after linuxes.
I do not use Steam and - except maybe two-three games - linux-native gaming is crap. So after some 2,5 years I finally reinstalled OS for gaming.

First of all - it's enourmosly good to have two hdd-s. So You can keep MBR boot-sectors separately. Means - no worry of Windows overwriting your grub-parts.

What I did?
- changed boot order - to-be-windows-disk went to first in bios. That is - until usb-win-installer came to play...
I booted my win7 usb and installed. All finished in less than half an hour - with no lan, audio, or proper video drivers... Windows 7 is kinda oldish, and my box is kinda newish - so, no real surprise here.
Went to another machine (or - better to do it before), downloaded all shit from my motherboard manufacturer and added fresh nvidia driver. copy / unzip / install / reboot.
Downloaded usable browser (Pale Moon for me). Got essential things:
Classic shell, dexpot, linux reader, qttabbar, MS security essentials etc. Hacked various things in register.
At the same time - updated 200+ kb-s.
Do You want every KB? No? Make a choice - first, install all security updates. After that - check them ALL, every update is not needed (useless) and some of them are to avoid:
- 971033 (Windows Genuine Advantage - spy/telemetry for checking legalness of Your Windows, repeatedly);
- 949810 (the same for Your Office)
- 2505438 (not sure if it's still actual - but, the same, it checks Your licence.
- AND a bunch for upgrading to Windows 10: Can't say here anything very precise... but suspects are: 2951664, 2990214, 3021917, 3035583, 3065987, 3068708, 3075851.
I have my win7 totally legit ... but I don't want two things:
Spying for 'legitimacy' (check-process (they say) errs a lot, after what one has to whine+plead with MS support);
OR, 'upgrade to win10' - to OS what, in my opinion, is total 'be a bitch receiving it from behind, while singing your whole life-story'.
Whole process to get Win7 to OK shape took me markedly longer than, say, Slackware clean-install with all custom bells-and-whistles. Shrug.

Second phase - boot Windows from Grub.
- Rebooted from Windows, entered bios, changed boot order back to my grub-master hdd, rebooted to linux. Now, opened up /boot/grub.cfg and added entry to 40_custom section (change the following according to your hdd, of course).
menuentry "windows 7 pro (on /dev/sdc1)" --class windows --class os { 
 insmod part_msdos
 insmod ntfs
 set root='(hd2,msdos1)'
 chainloader +1
If you want to be correct and/or You plan to use 'update-grub' or similar command that recreates grub.cfg, add the same entry to /etc/grub.d/40_custom.


Grub2 problem

Grub 2 in Debian Wheezy, MBR, multiboot.
1. Grub started not with my customized look but with default big reso and look.
2. or it skipped conf and went stright to 'grub' prompt.
3. but approximately only in a half of starts.
4. and there was marked delay in Grubs' menu-loading.

What it means is - Grub couldn't find its config file(s), sometimes.
And, in this case, that there is some intermittent issue - appearing and disappearing. I have to say that such kind of behaviour was new to me. In almost three years of various linux installs etc I never met such kind of inconsistent behaviour - things either work or not...

Solution is simple: As we are talking about Debian, then it's 'update-grub' you wan't to run.
And that's it. Loading lag disappeared together with inability to load confs...
So, something got corrupted (and it didn't show in file dates in any way)... Fortunately it also uncorrupted itself in a simple way.


Changing themes in Openbox

Skackware64 14.1, Openbox, tint2, conky, feh.
## After using three month almost only Slackware with my slightly-Steampunk theme, I got bored and recalled idea I had - to make script to start X+OB (without display manager) with visual theme I like at that moment, with choice of others.
So I made it happen. In most primitive bash (me - bash-n00b).

# There are one Chooser and four Swapper scripts (as I have currently four themes):
-- 1. Created conf-number file, like:
if [ ! -f obtheme/theme ]; then echo "1" > 'obtheme/theme' ; fi
Get the number:
theme=$(grep -o '[0-9]*' obtheme/theme)
Every time theme is chosen, new number is also written into theme-file.
Those above are for marking previously chosen theme ('if then echo') - and also to let wallpaper-randomizer script to know which one is current.
Then I set some variables;
did 'while' and 'if' between choices, 'read' those 'if'-s, and 'break'-ed with correct answer;
And final 'if-elif' then does
if ... ; then exec ""
with chosen theme-swapper script.

-- 2. Swappers
I Collected everything possible to ~/obtheme/xx folders. Like tint-stuff and wallpapers and conf files to be swapped.
For various reasons - there are either symlinks or files overwritten (respectively 'ln -sf' and 'cp').
- Two gtk confs (.gtkrc-2.0 and .config/gtk-3.0/settings.ini = gtk-theme swap);
- my wallpaper randomizer script for that theme (symlink). But - randomizer can also be modified to pick folder according to already existing theme-file number, and then there is no need to swap it | Edit - Done, see the end of the post |;
- .fehbg in ~/ (to pick up another wallpaper-folder);
- rc.xml (OB-theme swap) and autostart in ./config/openbox. Those are also symlinks which point to theme-specific files. Different tint2 and conky confs are opened from swapped auostart;
- and lastly, 'startx'. Or for debugging - as Slackware without display-manager doesn't want to log X-errors - startx 2>.xsession_errors

So, I now start my X either with alias 'sx' - no change, stright to X;
with 'sxz' - which opens up dialog of theme-change;
or, I can pass that and use aliases for swappers: sx1, sx2... .

For anyone fluent with bash - to make such scripts is totally no issue. What takes time is preparing themes - from various conf changes to actual pic-making or theme-tweaking.
But I have to say - it's most satisfactory to see my whole "desktop" instantly and totally changed.

Addon: Here is a simple script for swapping wallpapers inside the current theme wp-folder. Also, keyboard W+1 is mapped in rc.xml as 'swap desktop to first one and run'.

## very simple random wallpaper picker, through feh or nitrogen
## --------------------------


# theme number variable from theme file
theme=$(grep -o '[0-9]*' /home/user/obtheme/theme)
echo $theme
# directory containing images
DIR=$(if [ $theme -eq 1 ] ; then echo "$sp1" ; 
 elif [ $theme -eq 2 ] ; then echo "$sf2" ; 
 elif [ $theme -eq 3 ] ; then echo "$fan3" ; 
 elif [ $theme -eq 4 ] ; then echo "$nat4" ; 
echo "$DIR"
# select a random jpg from the directory
PIC=$(ls $DIR/*.jpg | shuf -n1)
echo "$PIC"

# use nitrogen to set wallpaper
# nitrogen --set-scaled $PIC
# use feh
feh --bg-scale $PIC



Slackware64 14.1 + new kernel

Yeah, compiled a new 3.14.28 kernel - in a bit leaner way than slackware generic is.
So here comes concisely how I did it.

# First, open up this page and read it - my description here is almost the same, with occasional addons. And - I did everything on desktop terminal until Nvidia drivers' reinstall (logout, console, init 3).

1. Download the source (and pgp .sign) from, copy to /usr/src, unxz the source file (tar needed afterwards), then unpack source to folder. To be nice and orderly, do: rm linux && ln -s /usr/src/linux-3.14.28 linux
cd linux
zcat /proc/config.gz > /usr/src/linux/.config  # or use some other handy config...
make oldconfig  # to insert kernel changes into old config file.
make menuconfig # Which probably takes two hours at least. But it's worth to be alert and click everything - for not to miss, for example, your network drivers.
make bzImage modules
make modules_install
cp arch/x86/boot/bzImage /boot/vmlinuz-custom-3.14.28
cp /boot/ 
cp .config /boot/config-custom-3.14.28
  # instead of 'custom' comes of course your special name you gave to your kernel (when menuconfiging).
/usr/share/mkinitrd/ -k 3.14.28
This nicy script gives you exact command for creating initrd. Do it.
cd /boot
There should be three links to: kernel, and config. Change those to point to your new files (ln -sf filename link).
Done with the kernel.

2. There is link /etc/rc.d/rc.modules which points to old rc.modules-3.10.17; copy this old modules file, rename it according to new kernel modules folder name (or 'uname -r' - which you can't use as kernel is not yet installed :) and change rc.modules link to point to this new file.

3. Grub or Lilo - has to be rerun for introducing new kernel. I have Grub2 in Wheezy (which I still keep only for hosting my multiboot) - I mounted Wheezys' partition and simply edited /boot/grub/grub.conf file. And that was that.

4. GPG-check. (Additionally to AlienBobs' tutorial there is also nice explanation in
Put it into the same folder where you have linux-3.14.28.tar
gpg --verify linux-3.14.28.tar.sign linux-3.14.28.tar
What results 'no key', but there is id=6092693E , use this and import:
gpg --keyserver hkp:// --recv-keys 6092693E
gpg --verify linux-3.14.28.tar.sign linux-3.14.28.tar
"This key is not certified with a trusted signature" - let it be like that, done.

Kernel 3.14 and nvidia 319, seems, are not friends - no compile, BUT newer 331.86 did the trick. Before run, delete /etc/X11/xorg.conf - and then let installer make a new one. Sometimes there is a difference - as X starting or not starting (missing screens). No, I do not know why it sometimes matters.
Last part in following is for compiling for not yet installed kernel.
sh --kernel-name='3.14.28'
It compiled, but whined over wrong arch in  /usr/lib64/
Anyway - X started up. I checked aforementioned .la - and it appeared that Nvidia removed it totally. Found it in /var/log/nvidia/103, copied back and also deleted in it one dependency that was obviously 32bit... We'll see what happens next time when compiling.
According to web, reinstalling mesa also fixes .la issue.

But never mind.
I have my new kernel running and everything seems to function OK.

Slackware + apps and stuff

I happened to look around for some new apps and so on... Found some and installed.
So it seems to be a good opportunity to flash MY list of apps, and blab a bit of some of them. This list, of course, is not a template for greater awareness and being godlike, but it might give some app-ideas... Like I found when peeking into other people choices ...
And here, some bollocks then:

## The patient: Slackware64 14.1, Nvidia 331.86 binary, Openbox. My Slack-install was not the 'full' one, but rather castrated - I left out everything possible... Including vim&family - which means that dotnew didn't want to compare anything (missing vimdiff). But never mind - new config files are for promptly deleting anyway.
Not-full install means that I might mention some things as 'new' that normally get installed automagically.
- Usage of my Linux(es): Educational playing-around, no serious work done, strictly desktop. No plan to use vi or emacs, no apache et al, not even ssh and ntp; no social bullshit and fraternizing (skype, chats and so on).
So - rather simple setup with net, writing and graphic tools, and occasionally test-stuff (for example, see my silly tour with linux games)

## Beginnings of apps:
-- I always use stright Nvidia binary (sh It blacklists nouveau, reboot, run it again, let it make conf for X. For n00bs: for every kernel or x-server upgrade - nvidia driver has to be recompiled!

-- nano is installed from ISO - so console is survivable without various vi-s;

-- slackpkg+ and sbotools - get package for the first one, and SlackBuild for the second beforehand, makes a little less fussing now.
Slackpkg+ is a wrapper for official slackpkg. It has the same tools, but it provides multi-repo capability. Ie, various ready-made packages can be retrieved from several repos (see As a bonus - playing around with slackpkg+ conf keeps you occupied for an hour, or more.
Sbotools is freebsd-like ports-script. It installs, removes and keeps account of your sbo packages. It also checks dependencies (provided those are notified in .info file). Means, makes life easier - a lot easier if install is of 8-10 depending sbo packages ...
Sbotools has .SlackBuild in and compiles easily, no deps.
Run sudo sboconf (all sbotools are sudo / su) first, change something - and you get /etc/sbotools/sbotools.conf file created. Now fill it according to wishes and documentation (man sbotools).
I find it smart to keep sbo tree (and distfiles) on different partition (not in default /usr/sbo) - the same goes for made packages.
sbosnap fetch, and off we go - sboinstall, sboupdate etc etc.
As a rule I check .SlackBuild file for compile flags - before I commit. I tend to change them flags occasionally. Means that in serious cases I also unpack source and check for all possible flags, run: ./configure --help .
NB! If using other partition - better mount it already in fstab with 'defaults' - to avoid that file manager (maybe) mounts it "safely" with 'noexec, nosuid' etc.

-- xdotool, wmctrl are helpers for certain things one can do in openbox menus.

-- xarchiver, xfce4-terminal, medit, spacefm+udevil, openbox (I want icons - dep: imlib2 and --enable-imlib2 \ in .SlackBuild too), obconf, tint2 (svn version, with launchers), conky (same with imlib2, but check .SlackBuild also for things you do not need - and '--disable'), compton, feh, gtk-nodoka-engine, various fonts, gksu.
There is no display manager and I startx (alias sx) from init 3.
As I copied all confs already earlier, my desktop is essentially finished.

## Second group, installs are already from terminal:
-- New kernel - if one feels like compiling one. The point - Slackwares' generic is really quite big and has very probably some useless stuff there. But, let's be honest - it doesn't matter - and whole compile-thing can be considered just a merry exercise of showing who is the boss.
Also do: lsmod and see if you have some pointless modules loaded (for example, I take down parallel-port, printer and some other things - either by blacklisting or in kernel).

-- firejail+firefox. "Firejail is a SUID security sandbox program..." - but take a look yourself, there is quite a lot of explaining available.

-- dotnew+meld+diffuse. No vim = no vimdiff. So I installed diffuse (sbo), and swapped every gvimdiff in /usr/bin/dotnew-gtk script to diffuse. Strange enough, it works.

-- mplayer+smplayer+volumeicon. The last one has to be ver .46 if staying with gtk-2, the later versions demand gtk-3.

-- qpdfviewer, FBReader, Geany. To mention - FBReader is nice lightweight epub and mobi reader. It remembers your last read page too.

## And, third - those things which come when really needed:
-- gparted, unetbootin, bleachbit, fslint, libreoffice, qbittorrent, galculator, gcolor2, calibre, convertlit, inkscape (gimp is in official ISO), sigil, clementine.

-- If slightly paranoid: rkhunter from sbo, and for quite nice simple tutorial looka here.
And others...