2020-02-22-digital-minimalism.org (7901B)
1 #+title: On digital minimalism, Linux, NixOS and Emacs 2 #+date: <2020-02-22 Sat> 3 #+filetags: minimalism digital emacs linux nixos 4 #+setupfile: ../templates/post.org/ 5 6 * Introduction 7 8 I've been reading and listening about Minimalism and Digital Minimalism for a little while 9 now. I've watch some [[https://www.youtube.com/channel/UCJ24N4O0bP7LGLBDvye7oCA][Matt D'Avella]] youtube video (and documentary), read [[https://www.goodreads.com/book/show/40672036-digital-minimalism][Digital 10 Minimalism]] from [[https://www.goodreads.com/author/show/147891.Cal_Newport][Cal Newport]], and read a bunch of [[Links][articles and blog posts]]. 11 12 I wouldn't say I am a minimalist, neither am I a digital minimalist *but* it is something 13 that is a bit appealing and I feel I am slowly taking inspiration from those. I've started 14 reducing to a minimun what my /smart/-phone does, I've reduced the number of /gadgets/ 15 I've add over time. But in this posts, I am going to focus on my systems and tools — this 16 means Linux distributions, Emacs and other tools. 17 18 * A little bit of history (or context) 19 20 I've been using GNU/Linux for ages now. It has been around 22 years now that I discovered 21 Red Hat[fn:1] Linux, 5.2 at the time. I've use it as my primary operating system almost 22 ever sync. During that time, I've tried so many distribution: from [[https://en.wikipedia.org/wiki/Mandriva_Linux][Mandrake]] (later 23 Mandriva), to [[https://www.debian.org/][Debian]] (3.0 -> 9.0 on some servers) and [[https://www.ubuntu.com][Ubuntu]] (on the first ever public 24 release), with a long time on [[https://gentoo.org/][Gentoo]] and later [[https://www.archlinux.org/][Archlinux]]. I've used Gnome, KDE, wmii, 25 XMonad, awesome-vm. I've used bash, zsh, fish, switching from one to another multiple 26 times. I've used Emacs, vim, IntelliJ, Eclipse, VSCode… My gentoo/archlinux days made me 27 try and /use/ a lot of tools (screen, tmux, …) and customization. 28 29 I had the habit to customize everything, down to the theme and icons I use. There was a 30 time where I would patch and re-package some GTK themes and icons set. *I had to 31 customize everything*, that was my learning experience. I would often break things and 32 have to re-install the system — and *it was fun* 😎. 33 34 But the more I /grew/, the more I worked for different companies, the less time I had to 35 do this. I was also learning a lot about tests, reproducibility at that time. My /will/ to 36 customization and /instability/ slowly faded, I wanted to be able to focus on what 37 mattered, and not loose time on silly things that I would break soon after making it. 38 39 * Minimalism and Digital Mininalism 40 41 Let's try to define really quick what is minimalism and digital minimalism about.Digital 42 minimalism is Minimalism in the digital world, and [[https://www.theminimalists.com/minimalism/][minimalism]] can be seen as [[https://jamesstuber.com/minimalism-as-a-framework/][a Framework 43 for Decision Making]]. 44 45 #+begin_quote 46 Every decision we make is constrained by limited resources. Money, materials, energy. Even 47 the richest man in the world is limited by time, and has to make decisions accordingly. 48 49 Here are some factors that make minimalism well suited for decision making: 50 51 - Practicing minimalism helps develop an improved ability to discern what’s important and 52 what’s not 53 - It becomes easier to let go of ‘sort of important’ things 54 - What you choose to keep is a reflection of your values 55 #+end_quote 56 57 In a gist, Digital Minimalism is about making conscious choice of what you use and what 58 you do in the digital world, a world of abundance (information, software, …). 59 60 Let's take two examples: our desktops and our phones. 61 62 On desktop, digital minimalism can be something like the follow blog post : [[http://neugierig.org/software/blog/2014/07/anti-dashboard-manifesto.html][Tech Notes: 63 The Anti-Dashboard Manifesto]]. 64 65 #+begin_quote 66 Now take that reasoning further: It's not useful to reserve a portion of my screen for 67 displaying which applications are running, as the things that are running are visible and 68 the things that aren't visible can be found when necessary. There's no need for an icon 69 displaying wifi status; if I'm connected it's uninteresting and if I'm not connected I'll 70 surely discover it if I attempt to use the internet. 71 72 I took this reasoning to its conclusion. I run my computers with the screen blank except 73 for the apps I run, and the apps I run I configure to display a minimal amount of 74 information. I think of this as being anti-dashboard: against the cognitive clutter of 75 extraneous information. My computer is not a cockpit and I am at my best when I'm only 76 thinking about the single task at hand. 77 #+end_quote 78 79 This is taking things a little bit too far for me *but* it does resonate with me, and as 80 you'll see in the following articles (and on my configuration), I share some of Evan's 81 belief. By default, my desktop do only show a background (be an image or a color) and 82 anything related to time, battery and other status is a keybinding away (the =Win= key). 83 84 And on the phone: [[https://robertheaton.com/2020/03/18/yourself-happier-iphone-worse/][How to make yourself happier by making your iPhone worse | Robert Heaton]] 85 — which I followed almost word for word, but this isn't the subject of this post. 86 87 * Emacs, Nix, NixOS, =home-manager= and other tools 88 89 How a GNU/Linux distribution like NixOS comes into this. First, let's see what I want : 90 91 - A system that is tailored to my needs, that makes me efficient. 92 - A system that is customizable, to answer the previous item. I want to be able to modify 93 the default behavior if it doesn't suit me. 94 - A system that is reproductible and easy to replicate. If I change my hardware, or if I 95 need to re-install my system for /any reason/. 96 - A way to share configuration on my infra. This is probably the developer speaking, but I 97 want to write something once and re-use it several times. 98 - A developer environment that is reproductible, on-demand and /safe/. 99 - Use defaults of the software I use as much as possible. This one is tricky to achiev for 100 several reasons: 101 + I am used to customize everything (/easy to fix/) 102 + I use a custom keyboard layout ([[https://bepo.fr][bepo]]), so if I go with default keybinding, I will have 103 the wrong /muscle memory/ (and they could be not optimized either) 104 - Hackable tools that I can manipulate as I want. 105 - Use the right tool at the right time, trying not to reinvent the wheel. 106 107 As it turns out Nix and NixOS are giving all the components required for my /almost/ ideal 108 setup. 109 110 If you complete that with a /not really minimalist/ editor, called [[https://www.gnu.org/software/emacs/][GNU Emacs]], you've got a 111 pretty composable system without leaving Emacs. I'll dig more into my Emacs configuration 112 and my NixOS setup in different posts — and on the [[https://vincent.demeester.fr/configurations/][=configurations=]] pages — but my take 113 lately is to try to do with what is available (as built-in, in Emacs for example). After 114 reading the docs, if it's not sufficient, I may look for an external module or tool. 115 116 * Conclusion 117 118 This was a weird post that mixes up tooling, minimalism and thoughts. It's definitely not 119 what I initially envisioned. But I'm hoping it introduce a bit my take on things. 120 121 * Links 122 123 - [[http://neugierig.org/software/blog/2014/07/anti-dashboard-manifesto.html][Tech Notes: The Anti-Dashboard Manifesto]] 124 - [[https://blog.zdsmith.com/posts/digital-minimalism-for-the-working-hacker.html][Subset Park: Digital Minimalism for the Working Hacker]] 125 - [[https://jamesstuber.com/minimalism-as-a-framework/][Minimalism as a Framework for Decision Making | JamesStuber.com]] 126 - [[https://robertheaton.com/2020/03/18/yourself-happier-iphone-worse/][How to make yourself happier by making your iPhone worse | Robert Heaton]] 127 128 * Footnotes 129 130 [fn:1] And I now work for Red Hat Inc., what a journey 😝