RPi4b & FreeBSD: The perfect focuswriter

I've been struggling a lot with writing as of late and all the distractions of our modern world and lifestyles surrounded by gadgets and things pushing us with ragebait, doomscroll fodder and empty entertainment has not helped. So a while ago I set myself the task of building a setup with absolutely no distractions so I could finally get cracking on writing a novel that's been on the backburner of the minutae of life for quite a while now.

Knowing myself, I knew I needed a system that couldn't offer me any distractions and the project started with my getting a 20+ year old laptop with a nice keyboard that simply could not run modern internet or any such shenanigans. I experimented with a lot of OS's to put in it, but even the lightest of Linux environments were bogged down by the CPU and mere 1Gb of memory. FreeBSD, no such problems. Haiku also ran pretty nice... too nice. I could access the internet, so it was a no-go. I was happy for a bit.

But it wasn't perfect. Even though the laptop had a nice keyboard, it couldn't compete with a proper mechanical keyboard in its typing comfort, so I decided to build it around a Raspberry Pi instead. The big thing about the distraction free environment is that I don't want to run any GUI. It's kind of weird to me that people spend money on distraction free writers for the desktop when the distractions pretty much vanish if you ditch the desktop altogether. I've had issues trying to run FreeBSD with a WM on the underpowered RPi4+ before, so that's perfect. Also the perfect distraction free writing environment for me: VIM. And RPi4b has no problems flying on the command line running VIM.

My big issue was finding the perfect monitor. Small monitors are really hard to come by these days, until I found this absolute unit for mere 20€ from a local IT supplier. I might've made a mistake by installing bsdgames, but they're not too distracting and I can always uninstall if need be. Other than that, I'm really happy with this setup. I've been working through the outline for the novel with ease and I highly recommend a setup like this if you're a writer in search of a really good focused environment.

I have a few plugins for VIM that make prose writing a breeze and as hard as it might be to believe, this is a pretty riced command line since I've done a lot of modifications to make it as easy as possible to use. It's not perfect, but by far the best writing environment I have. If somebody's interested, I can share my dotfiles, but it's not hard to do and I recommend everyone doing a software setup that's perfect for them.

Next up: make this into a cyberdeck. For that I've ordered an e-ink display and I'm planning to actually experiment with RISC-V for the lols.

IMG_1116.jpg
 
That's a cute little setup, and best of all no cooler noise! In case you haven't checked it out yet use the powers of Tmux to supercharge your console.

In case you might be in the George R.R. Martin camp: you can download Wordstar for DOS nowadays for free.
 
Yeah, the lack of cooler noise is nice. But even better is that the machine doesn't produce more than negligible heat, which is so nice since we've gone through a heat wave. Last thing I need is a writing machine that acts as a space heater.

I do run tmux, but I haven't needed it for anything yet. When I move on from the outline to the actual prose writing, I'll probably split the screen to have the outline visible. On the laptop I tried to play CD audio with the two tmux spaces, but I think the DVD drive was borked.

And yes indeed, I did experiment with WordStar 4.0 in PCem for a bit, but the ease of use of VIM is just unparallelled, honestly.
 
Nice write-up and very cool-looking setup! Vim, tmux, and fish are such an awesome combination, my favourite. How did you get the font size to be just so? I always struggle with that. I am not a writer, but I did spend a lot of time experimenting with a text-only distraction-free computer, also based on a Raspberry Pi. I used a 3b, because it uses a lot less power than the 4b (2W vs 5W), while being just as fast. I made a cyberdeck by using a cut masonite sheet and some metal brackets, perhaps this could inspire ideas for you? BTW I was also able to swap the RPi keyboard for a mechanical 60% keyboard (Red Dragon) without any modifications.
 

Attachments

  • dfpi_front.jpg
    dfpi_front.jpg
    77.7 KB · Views: 157
  • dfpi_back.jpg
    dfpi_back.jpg
    74 KB · Views: 168
Why not use just a real notebook and a real pen or pencil? Just go out in nature with a thermos of coffee or something, don’t take any network connected device and you’re ready to write! There are books on how to deal with a writer’s block but reading them would just turn into another distraction!
 
How did you get the font size to be just so? I always struggle with that.
They must have been specified a font for the vt(4). There are some font ports for vt(4) but IIUC, you should have had to copy/symlink port's font files to /usr/share/vt/fonts, i don't know any other way. You can specify it in the /etc/rc.conf. There also some already in base font files for vt(4), see/apply them with vidfont(1).

Rich (BB code):
yusuf@freebsd /usr/ports % grep allscreens /etc/rc.conf
allscreens_flags="-m off -f ProFont_r400-22.fnt"
yusuf@freebsd /usr/ports % pkg info -x profont
profont-400_5
yusuf@freebsd /usr/ports % pkg info -l profont
profont-400_5:
        /usr/local/share/fonts/profont/ProFont_r400-10.fnt
        /usr/local/share/fonts/profont/ProFont_r400-11.fnt
        /usr/local/share/fonts/profont/ProFont_r400-12.fnt
        /usr/local/share/fonts/profont/ProFont_r400-15.fnt
        /usr/local/share/fonts/profont/ProFont_r400-17.fnt
        /usr/local/share/fonts/profont/ProFont_r400-22.fnt
        /usr/local/share/fonts/profont/ProFont_r400-29.fnt
        /usr/local/share/licenses/profont-400_5/LICENSE
        /usr/local/share/licenses/profont-400_5/MIT
        /usr/local/share/licenses/profont-400_5/catalog.mk
yusuf@freebsd /usr/ports % ls -lahi /usr/share/vt/fonts/
gallant.fnt           ProFont_r400-12.fnt@  ProFont_r400-29.fnt@  spleen-5x8.fnt        tom-thumb.fnt         vgarom-8x8.fnt
INDEX.fonts           ProFont_r400-15.fnt@  spleen-12x24.fnt      spleen-6x12.fnt       vgarom-16x32.fnt      vgarom-thin-8x16.fnt
ProFont_r400-10.fnt@  ProFont_r400-17.fnt@  spleen-16x32.fnt      spleen-8x16.fnt       vgarom-8x14.fnt       vgarom-thin-8x8.fnt
ProFont_r400-11.fnt@  ProFont_r400-22.fnt@  spleen-32x64.fnt      terminus-b32.fnt      vgarom-8x16.fnt
yusuf@freebsd /usr/ports % ls -lahi /usr/share/vt/fonts/ProFont_r400-*
74208 lrwxr-xr-x  1 root wheel   50B May 11 21:51 /usr/share/vt/fonts/ProFont_r400-10.fnt -> /usr/local/share/fonts/profont/ProFont_r400-10.fnt
74439 lrwxr-xr-x  1 root wheel   50B May 11 21:51 /usr/share/vt/fonts/ProFont_r400-11.fnt -> /usr/local/share/fonts/profont/ProFont_r400-11.fnt
74051 lrwxr-xr-x  1 root wheel   50B May 11 21:51 /usr/share/vt/fonts/ProFont_r400-12.fnt -> /usr/local/share/fonts/profont/ProFont_r400-12.fnt
74812 lrwxr-xr-x  1 root wheel   50B May 11 21:51 /usr/share/vt/fonts/ProFont_r400-15.fnt -> /usr/local/share/fonts/profont/ProFont_r400-15.fnt
74207 lrwxr-xr-x  1 root wheel   50B May 11 21:51 /usr/share/vt/fonts/ProFont_r400-17.fnt -> /usr/local/share/fonts/profont/ProFont_r400-17.fnt
73853 lrwxr-xr-x  1 root wheel   50B May 11 21:51 /usr/share/vt/fonts/ProFont_r400-22.fnt -> /usr/local/share/fonts/profont/ProFont_r400-22.fnt
74206 lrwxr-xr-x  1 root wheel   50B May 11 21:51 /usr/share/vt/fonts/ProFont_r400-29.fnt -> /usr/local/share/fonts/profont/ProFont_r400-29.fnt
 
Nice write-up and very cool-looking setup! Vim, tmux, and fish are such an awesome combination, my favourite. How did you get the font size to be just so? I always struggle with that. I am not a writer, but I did spend a lot of time experimenting with a text-only distraction-free computer, also based on a Raspberry Pi. I used a 3b, because it uses a lot less power than the 4b (2W vs 5W), while being just as fast.

Thanks! I'm actually looking at maybe going for a RPi3+, because that has the added benefit of a smaller size footprint and a full size HDMI port, which is always nice. Indeed, the main downside to me of mainline RPi's is the absolutely trashy microHDMI connectors. I have an OrangePi RV2 on the way that I'm going to do tests with and maybe I'll go with that for RISC-V funtimes.

Why not use just a real notebook and a real pen or pencil? Just go out in nature with a thermos of coffee or something, don’t take any network connected device and you’re ready to write! There are books on how to deal with a writer’s block but reading them would just turn into another distraction!

I do get that in a way, but to me, handwriting and typing are two completely different disciplines. It's kind of like asking why one would race in Formula One when one could take a relaxing walk around the circuit. I don't particularly like handwriting since I have some thumb issues on my dominant hand that makes my hand cramp super quick if I do extended writing by hand. Also, if I do creative writing, I get super frustrated if my writing speed lags too far behind my thoughts since then it becomes a memory game. But for plotting and planning on stuff I go on extended walks. The heat wave has indeed been horrible for my novel since it's been too hot to walk.

They must have been specified a font for the vt(4). There are some font ports for vt(4) but IIUC, you should have had to copy/symlink port's font files to /usr/share/vt/fonts, i don't know any other way. You can specify it in the /etc/rc.conf. There also some already in base font files for vt(4), see/apply them with vidfont(1).

There are a couple of ways to do it, but this is indeed my method, as described here: https://forums.freebsd.org/threads/how-to-change-vt-console-font-size.91145/post-630220

I am indeed using the Terminus BSD Console, size 32 font. For even more visual comfort, I went through dozens of VIM profiles to find one that really suits my visual preferences.
 
Back
Top