My first time flying out of the United States
No, I have not been that busy playing Yakuza, I simply haven't gotten the time to updating my blog as much. I have at least two pieces in the pipeline, and the move plus work plus other things have really just gotten me in the way.
In a few days, I will be boarding a plane to Mexico, my first time flying out of the country, and also the first time I've actually been on a plane in over... Oh I don't know, 15 something years?
I haven't flown in a while, only because I never really had the money to do so. I feel like I am more at ease at home, making it less required for me to have to fly somewhere. I am not a worldly traveler, I am just a small-town hacker. I accept that. However, I have to travel for family events, so that's where I'm at.
I am aware of how dull traveling is, so I am dedicating this post entirely to how I am going to prepare for Mexico and what I will be bringing with me.
For something that seems perfect for travel, I don't feel comfortable bringing the Steam Deck with me in any capacity. I feel like this trip I want to dedicate myself to bringing "less", and the Steam Deck is one of those that I think is not necessarily a value-add, it'd be another fear.
While the Steam Deck can be top-loaded with great entertainment, I don't want the worry of losing the Deck due to travel, or of something happening to it. While I wouldn't be against getting a new OLED version, that'd just be down-right silly for me to risk it.
While I would love to bring the Deck with me for the downtime of the plane, bus and car travel, it's not something I want to risk. I'd rather be risk-averse here, as a first time country hopper. Instead I'm going to go with something easier to risk and a little more lower power.
It's time for me to dust off my good old 2013 T440 Lenovo ThinkPad. For anyone who remembers it, it's one of my favorite laptops, and I say that on good authority I haven't found a laptop I like after it still.
The ThinkPad has some big shoes to fill; I want it to be my main piece of computational equipment abroad, and I want to use it as my multi-purpose device while on a plane/bus/etc. It's reliable, has a headphone jack, and can work fine offline. It has Guix OS installed, so getting it battle-ready is going to be a task. Guix traditionally works best when you're online, so hardening it for offline use is going to be the main talking point of this entire endeavour.
I am not someone who watches movies or TV casually, I'd rather be active in what I do. I like to play emulators of retro games, and sometimes DOOM WADs. Let's keep my focus on those two for now: I need a playable SNES emulator, a functioning GBA emulator, and a copy of either Zdoom or GZdoom.
I won't claim to be a Guix pro or anything, so I'm not about to start listing off my entire Guix configuration file. I don't need a reproducible file right now, so let's look at the basics.
Based on my research, with Guix channels using Guix and Nonguix, I can install the following emulators:
Dolphin might be a little too heavy for my needs, but good to know I have access to it through Guix if I need it. The commands for these would be:
guix install bsnes
guix install mgba
guix install dolphin
Now as far as Doom is concerned, doing GZdoom is pretty trivial, but interestingly enough, there is a package for Freedoom, which is a community-made IWAD that you can use to play classic maps without needing id Software-supplied WAD data.
guix install gzdoom
guix install freedoom
guix install chocolate-doom
The interesting thing of note about Freedoom is that it is actually placed in an area where both
gzdoom can find it, so you can play Freedoom right out of the box with this. Pretty neat! I would still recommend obtaining copies of DOOM 1&2's WADs for the full experience.
The harder nut to crack will be, Steam itself. This is obviously a non-free software only supplied by Nonguix, and can have mixed results depending on the exterior system's configuration and other such things. However, that's not going to stop us from trying our best here. First we start with:
guix install steam
Then wait several hours... Give or take depending on how long it takes to procure your packages and process it. For me, this was an incredibly long process.
The benchmark for Steam would be to play a few games offline, ranging from Factorio to Tales of Maj'eyal to Binding of Isaac. The ThinkPad lacks power, so I need low-resource and also WASD-driven games for maximum enjoyment.
(It would also help to add that you should put Steam into offline mode before leaving for travels)
If all else fails, play Colobot instead!
guix install colobot
An educational and fun programming game I really want to dive into for no reason other than programming in an interactive setting. The graphics look like the N64, and that completely appeals to me for some reason.
There's no movie or anything I want to watch, but I would like to have music available to me. For that I will defer to mpd and ncmpcpp as my de-factor music player setup. There's nothing really all that special about setting these two up; both need installation and configuration. The installation is easy, the configuration is... Also easy.
guix install mpd
guix install ncmpcpp
ncmpcpp won't run without some basic configuration;
mpd is a music server daemon, and
ncmpcpp is the terminal client to itneract with it.
mpd needs to know where your music is, and what port to run on, and where to put metadata files, while
ncmpcpp needs to know what port to connect onto, where, and other client-based configurations like how fancy you want your client to look.
The instructions for configuring both
ncmpcpp can be found on the ArchWiki. How this might get incorporated into a Guix config? I'm not sure yet!
For modern Linux distros you will need to tell
mpd to run in a
pulseaudio setting, or realistically,
pipewire-pulse the much better version of
pulseaudio. Once you plug in your details about your library and such,
mpd takes over pretty easily. You can then add keyboard shortcuts to manipulate the
mpd daemon to make it easier to lower/raise volume on it, or add previous/next button interactions too.
For this, I will use Emacs, my go-to text editor supreme. I don't need much more than that.
guix install emacs
.emacs file is a mish-mash of random snippets and things I want to use. I don't have a configuration for Emacs that would fully replace an IDE, but it's enough features that help me write code better without being totally in my face. I don't really use
eglot for language server protocol shenanigans, I feel more at ease writing code then attempting to run it 99% of the time. My notable Emacs plugins/modes would be basically:
evil-mode to replicate Vim behaviors
rainbow-delimiters for Lisp/Scheme languages
evil-search-highlight-persist because having highlights stay up is good
neotree for a comfy side-bar file explorer
spacemacs-theme for a nice comfy theme
smartparens for better parenthetical editing
ido-vertical-mode to make
ido more appealing (vertically at least)
smex for a better
I don't have many ambitions of doing any practical coding, but at least Emacs will be there along with all my other language environments that I use. Racket, Haskell, Python, Janet, and a few others will also be there for me if/when the itch arrives.
I'll also have to have
git installed so I can download my on-going repos and work on them offline when I get the chance to.
guix install git
Not that I expect to do much of this as I go, but I can bring GIMP with me and do editing on the road.
guix install gimp
GIMP is and forever will be the open-source star of my heart, and I have been using it for a very long time. Somehow someway, I always find myself using GIMP for almost any project.
This wasn't really a special kind of post, more so me sharing what I'm bringing with on my travel. I'll be back next week and hopefully I can share some photos (that I will edit with GIMP). I have many hours of plane and bus ahead of me, so I hope I can knock out some projects along the way, or at least beat a few random games here and there.
I'll see you all soon!