Architecture of my laptop
The following information represents the situation at the end of April 2026.
1 - Hardware and OS
`
Hardware bought (total price 300 EUR):
- Refurbished Laptop "Lenovo Thinkpad T495"
with AMD Ryzen 5 PRO 3500U cpu (4 cores/8 threads), 16GB DDR4 RAM, 256GB NVMe SSD,
14.0" FHD (1920 x 1080) 250 nits lcd display, HDMI 2.0,
720p camera, headphone/microphone combo jack,
Ethernet (RJ-45), Intel Wireless-AC 9260 (802.11ac) Wi-Fi, Bluetooth 5.1,
1x USB 3.1 Gen 1 + 1x USB 3.1 Gen 2 + 2x USB-C 3.1 Gen 2 (for data transfer, Power Delivery),
and integrated Li-Polymer 50Wh battery included
- additional laptop sleeve + extra velcro straps:
"LAB31" sleeve
- additional external battery/powerbank:
"UGREEN Nexode 145W External Battery 25000mAh Power Bank"
(we want power autonomy and the integrated battery is old)
the laptop utilizes USB-C Power Delivery (PD) to charge,
with a primary operating voltage of 20V and 65W power;
after disabling the internal battery,
I could continuously work around 5 hours using this external battery
(watching youtube videos using wifi)
- additional old spare wireless mouse and Ethernet cable
Software as OS installed:
- Linux Mint 22.3 Cinnamon edition
(based on Ubuntu 24.04)
Because I already had a KVM and switch in my workplace at home,
I can easily connect my laptop to a big screen, ethernet cable,
external HDD, mouse and keyboard (like a docking station) to have more comfort.
When I need more power autonomy (easily 6 hours),
I will use my external battery attached to the back of the display using velcro straps.
`
2 - Initial Installation
`
2.1 - Install Linux Mint
I erased the complete internal disk drive and installed a clean and latest Linux Mint OS.
- download "linuxmint-22.3-cinnamon-64bit.iso" file from Linux Mint website,
download balenaEtcher, and flash the iso file on a USB flash drive using etcher
- boot laptop from injected iso flash drive, and install Linux Mint;
when installing, choose to (1) install multimedia codecs (2) erase disk
(3) create local account
- restart laptop, remove iso flash drive,
login and close Welcome Wizard
2.2 - Adapt visual settings
I have made the following adjustments due to my poor eyesight.
- change brightness of display to around 75%
- open "Panel" settings, and adapt:
"Customise -> Panel height" to "60" (max),
"Panel appearance -> Left Zone -> Font size" to "Allow theme...",
"Panel appearance -> Left Zone -> Symbolic icon size" to "28",
"Panel appearance -> Right Zone -> Font size" to "Allow theme...",
"Panel appearance -> Right Zone -> Symbolic icon size" to "32"
- open "Mouse and Touchpad" settings, and adapt:
"Pointer size and speed -> Size" to 75% (larger)
- open "Themes" settings, and adapt:
"Advanced settings -> Mouse Pointer" to "Bibata-Modern-Classic"
- open "Backgrounds" desktop settings, and adapt:
"Linux Mint" to "Linux Mint - Sele / green"
2.3 - Updates & Snapshots
I have made the following adjustments to improve management of software updates,
and to improve availibility of having automatic snapshots/backups.
- open "Update Manager" from shield icon in right panel,
click "Software Sources" & choose faster local mirror,
and click "Install Updates" (by default, no automatic updates)
- launch "Timeshift" for the first time;
select "RSYNC" as "Type", select ssd disk as "Location",
select "Weekly/3" as "Schedule", and "/root" & "~" as "Filters - Pattern";
create your first snapshot (snapshots are incremental after this)
- open "System Reports" from notifications icon in right panel
I have made the following adjustments due to my poor eyesight.
- open "Software Manager" from shield icon in right panel,
search & install "Fonts-ubuntu-classic", and restart
- open "Font Selection" settings, and adapt:
"Font Selection -> Default font" to "Ubuntu Regular / 12",
"Font Selection -> Desktop font" to "Ubuntu Regular / 12",
"Font Settings -> Text scaling factor" to "1,2"
2.4 - Add useful applications
- add shortcuts to Desktop for note taking application:
"Office -> LibreOffice Writer": the LibreOffice alternative for MS Word;
- open "Software Manager" to install some applications (and add them to desktop):
"Stacer": system monitoring tool as alternative for MS Task Manager;
"PDF Arranger": tool to easily manage pdf files;
- open "Software Manager" to install multimedia applications (and add them to desktop):
"Screenshot": tool to easily take screenshots;
"Gimp": tool to edit bitmap image files;
"Inkscape": tool to edit vector image files;
"Audacity": tool to edit audio files;
"Kdenlive": tool to edit video files;
"VLC media player": tool to play audio/video files
- install eID software:
eID is an electronic proof of identity (with chip) in Belgium with which you can carry out electronic transactions;
for an eID card reader to function, you need to install eID software on your computer;
use "apt" in terminal and download to install "eID-archive", "eid-viewer" and "eid-mw" packages
2.5 - Access shared Windows folder in Linux Mint
- open "Software Manager" to install "Samba" application in Mint
- create user to access the shared folder in windows 11:
search "user" in system menu, click "Add, edit, or remove other users",
click "Accounts", click "Other Users -> Add account",
click "I don't have this person's sign-in information",
click "Add a user without a Microsoft account",
enter new username "shareuser" & password, and click "Next";
- create shared folder in windows:
create folder "DataShare" in root folder using file manager,
click "Sharing -> Share" in folder properties,
make it available for user "shareuser", and click "Share";
click "Show me all the network shares on this computer",
and view all share names;
create file "test-windows.txt" in this folder for testing;
- access windows share in Linux Mint:
open file manager, click "Network", click "CTRL+L",
enter "smb://WIN_IP" & select "DataShare" as share,
& "shareuser" as "User name" & password as "Password";
right-click on Desktop, click "Customize", click "Desktop Settings",
and enable "Desktop Icons -> Mounted Drives";
`
3.1 Text Editing & Diagramming Tools
- install "Fresh":
fresh is a lightweight, fast and powerful Terminal Text Editor (better than Nano);
use "curl" in terminal to install fresh,
- install "Visual Studio Code":
vscode is a lightweight and powerful text/code editor with a lot of extensions/plugins;
download the .deb package (64-bit) via browser from official vscode website;
install the .deb package by double-clicking in file manager and clicking "Install Package";
open "Programming -> Visual Studio Code" via start menu (and add shortcut to desktop)
- install editor extensions in vscode:
"Prettier - Code formatter": improve text/code formatting;
"Markdown All in One", "markdownlint": improve markdown validation and export;
"vscode-pdf": add support for viewing pdf files;
"YAML": improve support for yaml files;
- install extensions in vscode for creating diagrams:
"Draw.io Integration": add support for editing/viewing draw.io diagrams;
"Markdown Preview Mermaid Support", "Mermaid Export": add support for editing/viewing mermaid diagrams;
"PlantUML": add support for editing/viewing plantuml diagrams;
3.2 System Utilities
- open "Software Manager" to install "Screenfetch" application:
"Screenfetch": a lightweight system info tool that displays OS, hardware, and software details in the terminal;
- open "Software Manager" to install "KeePassXC" application (and add to desktop):
"KeePassXC": tool to safely store and access secrets (like usernames, passwords, encryption keys) in local vault;
create and use a "KeePassXC" example database:
store url, username and password for a website in the "KD-MySecrets" database,
and use these credentials to login in this website via clipboard
- install "ssh", "ufw" and "curl":
ssh is a tool for secure remote login, command execution, and file transfers over unsecured networks;
UFW (Uncomplicated Firewall) is the default firewall management tool for Debian-based Linux systems,
designed to simplify iptables or nftables configuration;
curl is a command-line tool for downloading or uploading data using various protocols;
ssh, ufw and curl are by default already installed in Linux Mint;
by default, ufw will allow all outgoing traffic, but not allow any incoming traffic;
add an inbound rule for ufw to allow incoming ssh requests, and enable ufw;
add shortcut to Desktop for "Firewall Configuration" application;
this is a user-friendly gui on top of ufw;
- install "git":
git is a distributed version control system and can be used to distribute source code;
use "apt" in terminal to install git, and init global config settings
'user.name', 'user.email', 'core.autocrlf', 'pull.ff', 'init.defaultBranch';
install "Git Graph" extension in vscode;
- install "docker":
docker is used to download software packages and run them in isolation as containers;
use "apt" and "curl" in terminal to install docker-engine;
- install "portainer":
portainer is a lightweight, web-based management UI for containerized environments,
specializing in simplifying Docker, Docker Swarm, and Kubernetes management;
use "apt" and "curl" in terminal to install docker-engine;
use "docker" to create volume and run portainer;
access "portainer" via browser;
create admin account and store credentials for portainer in "KD-MySecrets" database;
- install ssh and docker extensions in vscode:
"Docker (Extension Pack) -> Container Tools", "Docker DX",
"Remote Development Extension Pack -> WSL & Dev Containers & Remote - SSH & Remote - Tunnels",
"Remote SSH: Editing Configuration Files", "Remote Development", "Remote Explorer"
- install "zsh":
zsh is a shell and programming language for the Unix/Linux command line (compatible with the Bourne/Bash shell);
zsh is great for interactive use, with advanced autocomplete features, built-in history manipulation, etc;
use "apt" and "curl" in terminal to install zsh with its plugins;
- install "GNU Stow":
stow is a symbolic link manager that ensures that different software packages,
located in separate folders on the file system, appear to be installed in the same location;
use "apt" in terminal to install stow,
and create "dotfiles" git repo to contain configuration files for all applications;
- install "Obsidian":
obsidian is a tool to simplify knowledge management and documentation creation;
download the .deb package (64-bit) via browser from official obsidian website;
install the .deb package by double-clicking in file manager and clicking "Install Package";
open "Office -> Obsidian" via start menu (and add shortcut to desktop);
create and use "Obsidian" example vaults:
create the "OV-ComputerTech" vault for storing publicly accessible documentation,
and the "OV-MyHomeLab" vault for storing privately accessible documentation
I want to develop and deploy web applications and services in the future,
and for this I will use "Tailwind CSS", "Golang" and "SQLite" as core technologies.
- install extensions in vscode for web development:
"Live Server", "REST Client",
"Tailwind CSS IntelliSense", "Tailwind Docs", "Tailwind Fold"
- install extensions in vscode for golang development:
"Go", "Makefile Tools",
"SQLite", "SQLite Viewer"