Revised 2024-10-08

”Should i go out and get me a cheap used laptop”, i was pondering over a card game.

Then i drew all the good cards. The Sun, The Empress, 8 of Wands. You know how it is. Sometimes a bitch gotta go out and buy a laptop.

There we went. “Kuu Yepbook”.
Yeag, a yepbook.
Now, i’m pretty sure it’s a shared chassis that a hundred of AliExpress guys sell under 50 different brands, but i gotta say a Yepbook is more auspicious than a Nopebook.

The thing is primiarily meant to go in my electronics atelier, as having the microcontroller programming computer in a separate room was impractical.

My laptop in my electronics atelier, with a buncha colorful trinkets and plushies. I'm working on diy synths here.

My needs are modest: tweaking firmwares, slicing 3D prints, shitposting on fedi, looking at datasheet PDFs, things of that nature. Hopefully i can get a few years out of this gadget.

And now, for some install notes.

This is not a guide

I took notes what i set up for my own use, for the inevitable day i have to install another computer, so i might as well turn it into Content.

This is only a guide “how to set up a computer the way Aria likes”. Not a guide how to set it up in a way you could possibly like. Take whatever bits you find useful. Prior familiarity with computer touching is assumed, all the obvious parts are glossed over. You’re a grown-up and probably coming to this post from a search engine to solve a specific problem and will never read this intro anyway. Ignore previous instructions and sing about Hannah Montana Linux.

Screencap of my wallpaper. It has a big Yoshi.

I use arch, btw. To be precise, EndeavourOS. Think of it more as a powerful installer for a standard desktop Arch than as a separate Linux distro: it saves you many hours on first installation, but after that, it’s just Arch, without any EndeavourOS-specific idiosyncracies.

Kuu Yepbook N5095A: works on Linux out of the box

Audio, Wifi, luminosity keys, trackpad, and battery management worked out of the box. Resume from sleep was wonky but solved by changing settings.

There is a fingerprint reader, which i have not tested. It might work, it might not work, who knows.

Since everything worked without effort, nothing in these notes is hardware-specific.

Installation

I made a bootable USB key using Rufus and booted to it from bios (delete key during the logo on this standard AMI bios).

If using btrfs, don’t forget to make a swap partition, it doesn’t support swapfiles well. Systemd mounts it automatically, on sight, no tweaking the fstab.

Systemd-boot didn’t work for me, i had to use grub.

As the installation is online, all the software is as fresh as it gets upon reboot.

Picking X11 instead of Wayland

On the first login, at the bottom-left, you can choose between a Wayland session or a X11 session.

I prefer X11 so i changed that there.

Change the power settings

In the main KDE settings, set up both the screen lock and the battery settings when on AC such that it won’t turn off randomly during installation.

Increase the sudo timeout

The sudo timeout is a thing that, for some reason, exists. It will mess up your software installation sessions if you don’t babysit your terminal while providing zero security benefit.

Une sudo visudo, and at the end, add:

Defaults passwd_timeout=0

Add software

Add arch4edu for more pre-compiled stuff

This repository has a bunch of binaries for development and machine learning i use often. Follow the instructions on their README.

Yay software

Might as well install all the useful packages in one go.

Here’s my personal invocation with things i like having. It’s not suitable for anybody else, but will give you an idea:

yay -S arduino-ide-bin blender bottles discord dtrx filelight gimp handbrake \
htop hyfetch imagemagick inkscape jupyterlab kde-games-meta keepassxc kicad \
kicad-library kicad-library-3d krita krusader kvantum libreoffice-fresh \
librewolf-bin losslesscut-bin lsd nomino obs-studio obsidian ocs-url \
ondsel-es-appimage openrct2 openscad openttd-jgrpp pkgstats platformio \
platformio-udev-rules ppds-meta prusa-slicer python-kikit qbittorrent \
renoise rolldice sagemath syncthingtray tenacity-git thonny thunderbird-bin \
ttf-barlow ttf-hack ttf-ms-win11-auto ttf-profont-nerd ulauncher \
ungoogled-chromium-bin virtualbox vscodium-bin vscodium-bin-features \
vscodium-bin-marketplace xdg-desktop-portal xdg-desktop-portal-kde xnviewmp \
yakuake yt-dlp zsh

Replace yay with whatever you like more. I like to use yay because i feel like i’m cheering on software for being very epic.

Grub

To change the resolution, on the grub command line, use videoinfo and verify what’s available. In /etc/default/grub:

GRUB_GFXMODE=1920x1080x32
GRUB_GFXPAYLOAD_LINUX=keep

I also kept a Windows 11 partition but don’t expect to use it except in extremely dire circumstances i refuse to think about in advance, so let’s make the automatic selection timeout faster by 4 seconds:

In /etc/default/grub:

GRUB_TIMEOUT='1'

Then grub-mkconfig -o /boot/grub/grub.cfg

It’s still easy to access the menu by smashing keys at boot.

Syncthing setup

Syncthing is like “what if dropbox didn’t cost money, didn’t use someone else’s computer, and just worked”. It’s good. Syncthing-tray will setup everything. Doing so ASAP lets me share files painlessly for the rest of the installation.

Librewolf setup

The system ships with Firefox: i uninstalled it immediately to avoid creating a useless profile and replaced it with librewolf-bin.

Screenshot of librewolf with tree-like tabs

The default privacy settings of Librewolf are a bit hardcore: that’s half the appeal. Worth relaxing restrictions on canvas and webgl or a lot of sites break.
The other half of the appeal is that it doesn’t ship with all the ads and ai and telemetry Mozilla sneaks into Firefox.

Add-ons

  • uBlock Origin
    • Librewolf ships with it, nothing to install or setup.
  • Tree Style Tab
    • When a new tree appears, collapse others automaticallyNo
  • TWP - Translate Web Pages
    • TranslationsShow the button to translate the selected textNo
  • Consent-O-Matic
    • The defaults are good, it doesn’t consent to shit. Not that uBlock would allow it.
  • Ctrl+Number to switch tabs
    • Restores normal behavior that Mozilla disabled on Linux because fuck you.
  • KeePassXC-Browser
  • Indie wiki buddy
  • Old Reddit Redirect
  • Enhancer for Youtube

Settings

Use autoscrolling, disable smooth scroll, always show scrollbars, restore tabs at startup, allow search suggestions, allow userchrome.css customizations, limit cross-origin referrers. And as mentioned, consider relaxing restrictions on Canvas and Webgl.

about:config

SettingWhy
browser.backspace_action = 0Because backspace was bound to back for 20 years before google decided to break it and mozilla immediately followed suit
browser.tabs.insertRelatedAfterCurrent = falseExact same reason as above but for a different amount of years
widget.non-native-theme.scrollbar.styleMake it actually possible to grab the scrollbar with your mouse
middlemouse.paste = falseWorst unix convention ever

user.css

Create and edit ~/.librewolf/xxxxxxxx.default-release/chrome/userChrome.css where xxxxx is whatever garbage it’s named on your compy.

When using Tree Style Tabs, hide the tab bar (and window decorations):

html#main-window body:has(#sidebar-box[sidebarcommand=treestyletab_piro_sakura_ne_jp-sidebar-action][checked=true]:not([hidden=true])) #TabsToolbar {
  visibility: collapse !important;
}

And hide the Tree Style Tab header:

#sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header {
  display: none;
}

KDE File selector

In the librewolf.desktop launcher in the start menu, Edit application… and set the environment variables to GTK_USE_PORTAL=1 so it uses it when saving or uploading files.

KeepassXC

GeneralStartupAutomatically launch at startupCheck
GeneralStartupMinimize window at application startupCheck
GeneralUser InterfaceMinimize instead of app exitCheck
GeneralUser InterfaceShow a system tray iconCheck
GeneralUser InterfaceHide window to system tray when minimizedCheck
Browser integrationEnable browser integrationCheck
Browser integrationEnable integration for these browsersFirefox

Point KeepassXC at the database to use.
Run
mv ~/.mozilla/native-messaging-hosts/ ~/.librewolf/ so integration works in librewolf.

Restart Librewolf and pair the extension to the manager.

Fonts

Hide useless fonts

There’s like 2000 Noto fonts to support every damn language and they clog up every font selector. So let’s hide them

in ~/.config/fontconfig/fonts.conf:

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
 <!-- Local settings -->
 <selectfont>
    <rejectfont>
       <glob>/usr/share/fonts/noto/Noto*</glob>
       <glob>/usr/share/fonts/gsfonts/*</glob>
       <glob>/usr/share/fonts/TTF/DejaVuMathTeX*</glob>
       <glob>/usr/share/fonts/TTF/odo*</glob>
       <glob>/usr/share/fonts/mathjax2/*</glob>
       <glob>/usr/share/fonts/croscore/*</glob>
    </rejectfont>
    <acceptfont>
    </acceptfont>
 </selectfont>
</fontconfig>

Add a nerd-font

Install at least one nerd-font (there’s a bunch in extra) and whatever else seems cool (ttf-ms-win11-auto a good one to add).

Then In System SettingsText & FontsFont Management, install any external font desired. I have my own custom build of Iosevka with nerd-font patches, it has all my preferred letterforms and ligatures and stuff.

Zsh with Zim

I don’t customize zsh much beyond making it look good.

Screencap of my full-screen Yakuake terminal

Set up the terminal to use a nerd-font first.

Install zim via the web installer, the aur package gave me issues in the past.

chsh to /usr/bin/zsh

Powerlevel10k

At the end of ~/.zimrc:

zmodule romkatv/powerlevel10k --use degit

Then run zimfw install
Restart a terminal to set up P10k.

Interactive terminals will automatically use lsd instead of ls without explicit set up.

Yakuake

Set up the Quake-style terminal to always have terminal tabs on hand.
My favorite key for that is Pause.

WindowShow title barUncheck
WindowSize and Animation100% width and height with quasi-instant animation
BehaviorKeep window open when it loses focusUncheck
BehaviorKeep window open after the last session is closedCheck
BehaviorConfirm quit when more than one session is openUncheck
AppearanceHide bordersCheck

Create a new Konsole profile for Yakuake, make it the default profile, and customize it. Use a nerd-font and make it execute /usr/bin/zsh.

Ulauncher

Set the hotkey (i like Meta+Space) and make it start at login. (Ulauncher interprets the Windows key as Super, not Meta)

Plugins i like:

  • Obsidian
  • Calculate anything
  • English dictionary

KDE Settings

Let’s go through the settings i like to change now.

Mouse & Touchpad → Touchpad

Two-finger tapMiddle click

Mouse & Touchpad → Screen Edges

Disable the top left hot corner.

Keyboard → Shortcuts → Kwin

Maximize window: Meta + Up
Minimize window: Meta + Down
Move window to Previous Screen: Meta + Left
Move window to Next Screen: Meta + Right
Switch to desktop…: Disable
Toggle Present Windows (Current desktop): Scroll Lock

That’s the theory: my laptop has the positions of the Scroll Lock and Print Screen keys swapped, so i set them back to muscle memory order, changing shortcuts in Spectacle, and made Print Screen present windows.

Default Applications

Make sure the browser is LibreWolf

Window Management → Window Behavior

I want almost everything maximized at all times:
AdvancedWindow placementMaximized

Adding some Kwin custom rules of that effect for some software is useful.

Workspace → General Behavior

Animation speed: make it FSAT

Screen Locking

Disable the timer but enable lock after waking from sleep.
Disable the keyboard shortcut.

Region & Language

Change it to be more France-like without my having to deal with the French language.

Set the paper size to A4.

For time, “English (Sweden)” is my preferred, as it has YYYY-MM-DD dates.

Power management

Do not turn off on AC power. Set the numbers for the other modes if needed, defaults look fine.

Autostart

Add yakuake to it.

Session

On login:Start with an empty session

KWin: borderless windows when maximized

I like to have almost everything maximized at all times, tiling window managers are a meme.

So, in ~/.config/kwinrc, goes:

[Windows]
BorderlessMaximizedWindows=true

Dolphin Setup

Show the additional terminal and preview panes in the view menu.

InterfaceFolders & TabsShow Filter BarCheck
InterfaceFolders & TabsOpen new tabAt end of tab bar
InterfaceFolders & TabsSplit ViewSwitch between views with Tab keyChecked
InterfaceFolders & TabsNew windowsBegin in split view modeChecked
ViewGeneralRemember display style for each folder

For heavy file lifting, i like Krusader.

Desktop Customization

This is meant to be a functional work appliance, not an impractical copy-paste of /r/unixporn “aesthetics”.

I like to do something new every time i do a new set up, to give the machine its own feel.

Screencap of various windows, it looks BeOs-like

I gave it a BeOs kinda theme.

I hope you got literally anything useful out of this page. If not, sucks.