Some days ago i’ve written a post about the “Ultra-Geek” Linux Workstation developed by Joe Nelson.
Reading his post, I found many similarities with the current configuration of my laptop.
So I decided to share the setup of my ‘Ultra-Geek linux Laptop’, with ‘design goals’ very similar to those of Joe Nelson:
- I need a really stable system with an immediate response, even on a hardware that is not too recent and powerful: so the system should use minimalist (but effective) tools.
- Cache data offline when possible: no reason to repeatedly retrieve them from internet.
- Privacy: “Commercial software and operating systems have gotten so terrible about this.”
- Debian 9 “Stretch” (the project was started with a Debian 8)
Usually i install the base system without the graphical interface, starting with a ‘netinst’ image.
Once the base system is correctly installed, i add only the base GUI packets, and its dependencies (i3, Xorg and SLiM).
- Window manager: i3
- Login Manager: SLiM
- Application launcher: dmenu
- Screenshots: ImageMagick, with a simple bash script:
System tools and utilities
- VPN: OpenVPN and VPNC
- Clipboard management: xclip
- Todo manager: tudu
- Desktop notifications: Dunst
- Calendar: calcurse
- File manager: ViFM
- Calculator: tapecalc
- Backup: rsync and bash script
Web and Social
- Web browser: Firefox Beta and ELinks
- Twitter client: Rainbow Stream
- Reddit client: RTV
- Torrent client: Webtorrent
- RSS/Atom feed reader: newsbeuter
- MUA : NeoMutt (with maildir storage format)
- MTA: msmtp
- MRA: offlineimap (syncs the local mailbox with remote imap)
- abook to store and retrieve addresses. Integration with neomutt using this snippet in .muttrc:
set query_command = "abook — mutt-query ‘%s’" bind editor <Tab> complete-query
Security and Privacy
- Encryption: GnuPG
- Anonymous browsing: TorBrowser
- Password management: passwordstore
- OpenSSH key management: gpg-agent
- Ads Blocker: ads blocked directly from hosts file
- Resource usage and process monitor: htop
- Audio player: cmus
- Video player: mplayer
- Youtube Player/downloader: mps-youtube
- Audio recording/editing: Audacity
- Video editing: kdenlive
- Video processing: HanbrakeCLI
- Music notation: Musescore
- Chromecast streaming: stream2chromecast