diff options
author | Christian Cleberg <hello@cleberg.net> | 2023-12-02 11:23:08 -0600 |
---|---|---|
committer | Christian Cleberg <hello@cleberg.net> | 2023-12-02 11:23:08 -0600 |
commit | caccd81c3eb7954662d20cab10cc3afeeabca615 (patch) | |
tree | 567ed10350c1ee319c178952ab6aa48265977e58 /blog/2022-06-16-terminal-lifestyle.org | |
download | cleberg.net-caccd81c3eb7954662d20cab10cc3afeeabca615.tar.gz cleberg.net-caccd81c3eb7954662d20cab10cc3afeeabca615.tar.bz2 cleberg.net-caccd81c3eb7954662d20cab10cc3afeeabca615.zip |
initial commit
Diffstat (limited to 'blog/2022-06-16-terminal-lifestyle.org')
-rw-r--r-- | blog/2022-06-16-terminal-lifestyle.org | 202 |
1 files changed, 202 insertions, 0 deletions
diff --git a/blog/2022-06-16-terminal-lifestyle.org b/blog/2022-06-16-terminal-lifestyle.org new file mode 100644 index 0000000..febd712 --- /dev/null +++ b/blog/2022-06-16-terminal-lifestyle.org @@ -0,0 +1,202 @@ ++++ +date = 2022-06-16 +title = "A Terminal Lifestyle" +description = "A detailed description on how I'm living my digital life in the terminal." ++++ + +## Text-Based Simplicity + +I've detailed my views on web-based minimalism and related topics in other +posts throughout the years; e.g., JavaScript/CSS bloat slowing down websites +that are essentially a text document. However, I have never really expanded +beyond talking about the web and describing how I focus on minimizing +distractions in other digital environments. + +This post is going to set the baseline for how I *try* to live my digital life. +It does not necessarily get into my physical life, which is often harder to +control and contain all the noise in our modern world. + +While there are new things to do every day in our digital world, I find that +keeping a core set of values and interests can ground you and keep you mindful +of *why* you are participating in the digital world. For example, if - at your +core - you have no interest in what strangers think about random topics, it +would be unwise to start participating in social media. However, I am someone +who has been dragged in by effective advertising to participate in communities +that I realize I do not care for. + +I won't dive much further into explaining the philosophy of all this, but I will +link a few helpful articles that may pique your interest if you're in search of +more meaningful experiences: + +- [Mindfulness](https://en.wikipedia.org/wiki/Mindfulness) +- [Minimalism](https://en.wikipedia.org/wiki/Minimalism) +- [Stoicism](https://en.wikipedia.org/wiki/Stoicism) + +## Living Life in the Terminal + +My personal approach to reducing digital distractions and increasing my focus on +the task at hand is to use a terminal for as much as I possibly can. + +Most days, this means that I have a few tabs open constantly in my terminal: + +1. A web browser +2. A chat client +3. An email client +4. An RSS feed reader +5. A local shell for navigating my computer's files +6. A remote shell for managing servers and other machines + +Beyond this, I rarely open other tabs or GUI applications, unless absolutely +necessary. If you look, you may be surprised what can be accomplished in the +terminal. + +For example, I have moved my music and entertainment downloads to the +terminal, along with my device VPN connections. I am exploring options for +moving my RSS subscriptions to something like [Newsboat](https://newsboat.org/), +so that I can read my daily articles without all the fuss. + +Now that we have some examples out of the way, let's dive into the +specifics. + +### Browsing the Web + +I'm going to start off with a hard topic for those who prefer to live in the +terminal: web browsing. This task is made hard mostly by websites and web apps +that require JavaScript to run. The other difficult part is that if you're using +a text-based browser, that means images won't load (hopefully that's obvious). + +I am using [Lynx](https://lynx.invisible-island.net), a text-based browser that +runs quickly and easily in the terminal. Lynx allows me to browser most websites +by simply typing `g` and then typing in the URL I want. + + + +If you need a search engine while in Lynx, I recommend [DuckDuckGo +(Lite)](https://lite.duckduckgo.com/lite/), which allows you to search the web +using their text-only interface. + + + +Eventually, you will run into websites that don't work (or are just too ugly +and messy) in a text-only mode, and you'll be forced to switch over to a GUI +browser to look at that site. Personally, I don't mind this as it doesn't happen +as often as I thought it would. + +The only time I need to do this is when I want to browse an image/video-focused +webpage or if I need to log in to a site, and it doesn't support a text-only +login page. +For example, I am able to easily log in to [Sourcehut](https://sr.ht) in lynx. + +### Chatting with Friends + +After web browsing activities, my main form of terminal communication is Matrix. +I use the [gomuks](https://docs.mau.fi/gomuks/) client currently. + +This was incredibly easy to install on macOS (but I will need to see if it'll +be just as easy on Linux when my new laptop arrives): + +```sh +brew install gomuks +``` + +Once you launch gomuks, it will sync and require your username and password to +login. After doing so, the only problem I ran into was verifying my gomuks +client so that I could participate in rooms with E2EE. + +Finally, I was able to verify the session by opening the Element desktop app (I +assume you can do this in the browser and mobile app too, but I'm not sure) and +manually verifying myself with this process: + +1. Open the Element desktop app +2. Open a room I was a member of +3. Open the `Room Info` pane +4. Open the `People` menu and search for myself +5. Click on my profile name +6. Click on the session link under the `Security` section and follow the +prompts to manually verify the session + +Overall, I like gomuks and am able to enjoy all the features I was using in +Element. The only hiccup I have occurred is manually downloading images to view +them, which can be annoying. + + + +### Email + +Moving email to the terminal has been the hardest of the tasks for me. Unlike +web browsing, where I can simply decide to not look at a website that does not +work in the terminal, I cannot simply ignore emails sent to me. + +Personally, I am experimenting with [neomutt](https://neomutt.org/) as a +potential email client. + +However, this requires a **TON** of configuration and tweaking to get right. +Even when I was able to set up neomutt, configure my email account, and +customize a few personal preferences, a lot of emails still do not display +correctly (mostly due to HTML and images). + +I won't get into the details of configuring `neomutt`; I mostly followed this +blog post: [Email in the Terminal: Configuring +Neomutt](https://gideonwolfe.com/posts/workflow/neomutt/intro/). + +Finally, I have yet to figure out how to connect my GPG keys to `neomutt`, but +that's a problem for another day. + +### RSS Feed Reader + +I have just started using [Newsboat](https://newsboat.org/) to read articles in +my terminal and have found quick success with it. + +I'll show you a quick screenshot first: + + + +The configuration was super easy for this app; I simply installed the app, +created a file for URLs, and imported my OPML subscriptions that I had exported +out of my old feed reader: + +```sh +brew install newsboat +``` + +```sh +touch ~/.newsboat/urls +``` + +```sh +newsboat -i=my_subscriptions.opml +``` + +### Writing & Programming + +Unfortunately, the weak link in my terminal-based environment right now is my +grasp of the possibilities of editing files within a shell. + +I am used to the easy extensions found in VSCodium and Kate, so I am slowly +learning how to mold the default editing tools to my needs. Currently, this +means I am using `nano` with the following configuration: + +```config +set breaklonglines +set autoindent +set linenumbers +set tabstospaces +set tabsize 2 +set fill 80 +``` + +This configuration allows nano to automatically hard-wrap lines at 80 +characters, autoindent the wrapped lines (if the previous line was indented), +use 2 spaces per tab, and display line numbers within each file I open. + +I am currently looking to see if `vim` or `emacs` would be more useful for my +current needs, but I'm not in any rush, so I don't expect to find an answer +anytime soon. + +With my current life demands, I am not programming at the moment and have not +explored the best terminal set-up for programming. However, I have seen many +peers find success configuring `vim` and `emacs`, so that's where I will start +when I pick my projects back up. + + |